İPhone'da MonoTouch artık yasak mı? [kapalı]


155

John Gruber tarafından son zamanlarda yayınlanan bir yazı , aşağıdaki hukukçunun:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.

Aşağıdaki gibi revize edilmiştir:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Ve aşağıdaki gözlemi yapar:

Bu yeni dili okumam, Adobe'nin yakında çıkacak olan Flash Professional CS5 sürümündeki Flash-iPhone derleyicisi gibi çapraz derleyicilerin yasaklanmış olmasıdır. Bu ayrıca, C # ve .NET uygulamalarını iPhone'a derleyen bir araç olan MonoTouch kullanılarak derlenen uygulamaları da yasaklar.

Bu aslında iPhone için Monotouch kullanımını yasaklıyor mu?


4
Bunun elma ve mevcut monotok geliştiricileri yasal olarak nerede bıraktığını merak ediyorum. Mevcut monotok uygulamalara ne olur?
PeteT

2
@ petebob796: iTunes Connect'e yeni bir şey eklemek istiyorsanız bu yeni lisansı kabul etmeniz gerekiyor, ancak daha önce gönderilen mağazadan bir şeyler çekeceklerinden şüpheliyim. Ancak, 4.0 tabanlı olmayan ancak daha önce gönderilmemiş yeni uygulamalarla bunu uygulayabilirler / uygulayabilirler. Ancak App Store'daki herhangi bir şey gibi, sadece beklememiz ve görmemiz gerekecek!
Jason Coco

1
Görünüşe göre bu anlaşma NDA altında
Chris S

apple.com/pr/library/2010/09/09statement.html aaaaaaaaaathankyooooooooooo delilik başlasın !!

2
9/9/2010 itibariyle bu tartışma konusu. Apple Rahatlıyor
Steve Mitcham

Yanıtlar:


88

Güncelleme -

Bu son zamanlarda değişti . MonoTouch artık anlaşmayla çatışmamalıdır. Aşağıdaki ifadeler tamamen tarihseldir!

Evet, orijinal uygulama C # ile yazılmışsa lisansı ihlal edeceği şimdi lisans sözleşmelerinden oldukça açık görünüyor:

... Uygulamalar orijinal olarak iPhone OS WebKit motoru tarafından yürütülen Objective-C, C, C ++ veya JavaScript ile yazılmalıdır ...

Hatta biraz daha çekiyorlar:

Bir aracı çeviri veya uyumluluk katmanı veya aracı aracılığıyla Belgelendirilmiş API'lara bağlantı veren uygulamaların yasaklanması

Bir çeşit bummer, MonoTouch ve Flash CS5 -> iPhone dönüştürücü çok havalı.


7
ancak, bunu kullanarak twitter.com/migueldeicaza/status/11844609073 adresine bakın , bir MonoTouch uygulamasını yerel bir uygulamadan nasıl söylerlerdi?
Mauricio Scheffer

9
Apple yine ha. Harika bir cihaz, temiz grafik arayüzü, hoş bir dokunmatik arayüzü ile bize emme ... ama ... bir mac yoksa biz bunun için bir şey geliştirmemizi durduruyor, nesne C / C / C ++ olmadığı sürece bunun için bir şey geliştirmemizi durduruyor. Yani, microsoft geldi ve 'hayır - C de olmadığı sürece pencerelerde hiçbir şey geliştiremezsek - hayır, artık .NET çerçevesini kullanamazsınız' dediğinde hepimiz ne düşünürdük.
peter

33
Bu benim için bir anlam ifade etmiyor. Bu anlaşma uyarınca, Flash'ta bir uygulama yazdıysanız ve daha sonra Objective-C'ye elle çevirdiyseniz, anlaşmayı ihlal edecek gibi görünüyor (çünkü Objective-C'de "başlangıçta yazılmadı").
Michael Myers

3
@John: Yerel uygulamaları 'yasaklamaktan' daha az olduğunu düşünüyorum - yeni işletim sistemi API'lerinin Silverlight / XNA etrafında dönmesi daha fazla ve bu, işleri yapmanın desteklenen yolu. Microsoft'un lisans sözleşmelerinde (henüz) Silverlight derleyicisine bir Java (veya başka bir dil) yazamamanızı zorlayacak hiçbir şey görmedim.
Ron Warholic

3
Tüm bunlar gerçekleşene kadar, geliştirilmekte olan ürünümüz sadece iPhone / iPad (Android vb. Hakkında kimin umurunda) ve MonoTouch'ta olacaktı. Şimdi tekrar gözden geçirdik ve şimdi gerektiği gibi Obj-C olacağız, ancak 1. gün de Android ve WinPhone desteğine sahip olacağımızdan emin olacağız. Bir işletme davranış belirsizliğini göze alamaz ve bu nedenle Apple istediklerinin tersini yaptı - geliştiricilerin yalnızca Apple yerine platformlar arası çözümler aramasını sağladı. Aferin.
mj2008

49

Güncelleme:

Apple, iOS için diller ve kütüphaneler için tüm teknik gereksinimleri bıraktı (neredeyse), bu yüzden MonoTouch şüphesiz uygun bir çözümdür. Apple'ın duyurusuna bakın .


Buradaki çoğu kişi Apple'ın belgesini kelimeyle almak ve "evet, yasaklandı" demek istiyor. İşte benim görüşüm: Bu noktada, MonoTouch'ın yasaklanıp yasaklanmayacağını kimse bilmiyor ve nedenini açıklayacağım:

Apple sözleşmesi sürüm 3 (en sonuncusu değil, önceki sürüm), Apple tarafından sağlananlar dışındaki uygulamaları geliştirmek için diğer çerçeveleri kullanmanın yasa dışı olduğunu açıkça belirtmektedir:

3.3.2 Bir Uygulama, eklenti mimarisinin kullanımı, başka çerçeveler, diğer API'ler veya başka bir şekilde çağrı yapılması da dahil ancak bunlarla sınırlı olmamak kaydıyla diğer yürütülebilir kodları hiçbir şekilde kuramaz veya başlatamaz. Apple'ın Belgelendirilmiş API'leri ve yerleşik tercüman (lar) tarafından yorumlanan ve çalıştırılan kodlar dışında, bir Uygulamada yorumlanmış kod indirilemez veya kullanılamaz. http://adcdownload.apple.com/iphone/iphone_sdk_3.2__final/iphone_sdk_agreement.pdf

Durum böyle olsa da (ve aslında 2.x'ten beri olduğu gibi, apple tam olarak bunu yapan uygulamaları kabul etmekte herhangi bir sorun yaşamıyor. Örneğin, TÜM EA oyunları Lua komut dosyaları kullanıyor ve birçok insan, iPhone bu yerel API'lara sahip olsa bile, Apple'ın SQLite gibi farklı sürümlerine sahip uygulamaları kabul etme konusunda hiçbir sorun yaşamamıştı.

Demek istediğim şu anda "EVET, yasaklanacaklar" demek artık çok erken. Bu noktada sadece net bir şey Apple olmasıdır olabilir aslında kullanımda uygulamaları yasaklama söyledi. Tıpkı bugün bazı kurallarına aykırı Uygulamaları kabul ettikleri gibi, muhtemelen bunu yapmaya devam edecekler.

Ayrıca şu anda Mono çalıştıran mağazadaki yüzlerce (veya muhtemelen birkaç bin?) Uygulamanın olduğu ve Apple'ın bu uygulamalar için güncellemeleri kabul etmesi gerekecek. Milyonlarca satışa sahip büyük uygulamalar Mono (ve Lua) kullanılarak oluşturuldu ve her bir kullanıcıyı geri ödeyeceklerinden şüpheliyim.

Son olarak, Enterprise uygulamaları Apple'ın onayı olmadan iPhone'lara dağıtılır ve bu MonoTouch'ın açık olduğu büyük bir pazardır (kendim kurumsal uygulamalar geliştiriyorum). Bu noktada Apple'ın bu uygulamalar için MonoTouch'ı yasaklayabilmesinin bir yolu yoktur ve bu muhtemelen MonoTouch'ı uzun süre canlı tutmak için yeterli olacaktır.


Son bölüm dışında genel olarak size katılıyorum - Apple, mevcut uygulamaların gelecekteki güncellemelerinin yerel Objective-C'ye taşınması gerektiğini kolayca söyleyebilir.
Kendall Helmstetter Gelner

Uygulamalar Obj-C'ye taşınsa bile, başlangıçta farklı bir dilde yazılmışlardı, bu yüzden teknik olarak hala yasadışı olurdu, sanırım .. Bu yüzden bu kurallar gerçekten bir anlam ifade etmiyor. Muhtemelen 4.0'ın son sürümünden hemen önce bir sonraki revizyonda temizleyecekler.
Eduardo Scoz

3
Önceki dil çerçeveleri hiç yasaklamadı. Yasakladığı şeyin yürütülebilir kod başlatmak olduğunu ve çerçeveleri yapmanın bir yolu olarak listelediğini açıkça belirtti. Gönderdiğiniz dil, çalışma zamanında yorum yapmaya çalışmayan monotip uygulamalarını, Flash uygulamalarını veya önceden derlenmiş diğer ikili dosyaları etkilemez.
fenomas

27

Güncelleme:

3.3.1, 3.3.2 ve 3.3.9 bölümlerinde yapılan yeni değişiklikler, MonoTouch'ı (ve diğer tüm çapraz derleyiciler / diller / vb.) İPhone'da mükemmel bir şekilde kabul edilebilir hale getirdi. Apple'ın duyurusuna bakın


Miguel öyle düşünmüyor. Bkz tweet ve Miguel'in tepkisini . Burada aşırı tepki vermeyelim ve Monotouch'un öldüğünü söyleyelim veya ilgili tüm taraflarca bazı açıklamalar yapılıncaya kadar Monotouch ile gelişmeyi bırakalım.

Bu, böyle korkunç bir gelişme politikaları için Apple'ı kesinlikle ısıtmaya başlayacağımı söyledi. Bunun gibi şeyler ve iphone / ipad / touch uygulamalarının onay politikası olan belirsiz süreç, geliştiricilerin kalbine korku salmalıdır. Sırada ne var, kullanmalarına izin verilen tek Reklam platformunun iAd olduğunu belirten lisansları? İAd olmadan ücretsiz uygulamaların dağıtımına izin vermiyor musunuz? Apple'ın uygulama satışlarının gelirindeki payını yavaşça artırıyor musunuz? Kilitli bir eko sistemdeki geliştiriciler olarak, bir tencerede sıcak sudaki kurbağalarız ve Apple yavaşça ısıyı yükseltiyor. Şimdi diğer mobil platformları keşfetme zamanı, çünkü daha iyi hale geldikçe, insanları Apple platformunda tutan ana şey diğer platformlardaki uygulamaların eksikliği.


4
+1 (özellikle "diğer platformları keşfetmek için")
Tim

2
+1 olsa da bu bağlantılardan daha fazlasını bekliyordum. "Hayır" pek söylemiyor değil mi? Mikro bloglama bir beladır.
Dan Rosenstark

Keşfet git, Apple'a sadık kaldım. 2 mac'um ve geliştirmeye devam edebilmem için bu yıl memnuniyetle yenileyeceğim bir geliştirici lisansım var. Sev ya da bırak ama ağlamayı bırak. Ve sadece bir mac satın al ...
kirk.burleson

10

Aylarca akşamları Objective C'deki katil bir iPhone uygulaması için fikirler üzerinde çalışarak geçirdim. Gün işim C #. Uygun bir alternatif haline geldiğinde ve kodumu iPhone'a özel MonoTouch C #'ye dönüştürerek 3 ay geçirdim. Bu da beni C # / Objective C'den geçiş yaparak delirdi.

Şimdi ne yapacağım, hepsini atıp tekrar başlıyorum ya da pes ediyorum!?!

Mono adamları için gerçekten üzgünüm. Bu çok yanlış. Ürünlerini başlatmayan ve müşterisi olmayan Adobe'yi durdurmak ve AppStore'da ürünü onaylayan ve onaylayan MonoTouch'ı durdurmak bir şeydir.

Neden birisi bir iş kurmak ve Apple'a yatırım yapmak isteyip istemediğini kısa sürede farkedilir veya şüpheli olmadan ister?

Açıkça Apple'ın geliştiricileri ve müşterileri onlara ve ürünlerine bakıyor, tek yönlü bir sokak.


Monotouch'un uygulama mağazasında onaylanmış bir ürünü yok - uygulama mağazasında Mono kullanılarak yazılmış çok sayıda uygulama var. Büyük bir fark var, çünkü sadece bir yerine dikkate alınacak çok sayıda uygulama var.
Kendall Helmstetter Gelner

@ Kendall Helmstetter Gelner: Yanılıyorsun. Uygulama mağazasında MonoTouch uygulamaları var.
Tim Scott

4
@Tim Scott, diyor ki ... oh unut gitsin.
Dan Rosenstark

1
Adobe'nin iPhone derleyicisine koyacağı geliştirme süresi miktarını düşünmelisiniz. Apple, bir yıldan uzun süredir geleceğini bilerek o yolda devam etmelerine izin verdi ve son dakikada götürdü. Geliştirme süresinde milyonlara mal olma ve satış kaybı.
PeteT

@Tim: Ve bu uygulamalardan kaç tanesi Monotouch çalışanları tarafından geliştirildi? Söylediklerimi tekrar oku. @yar: Açıklamaya çalıştığın için teşekkürler.
Kendall Helmstetter Gelner

9

Umarım Apple bu gülünç politikadan rahatsız olur. Kibir çekici değildir ve genellikle iş için kötüdür. İPhone geliştirmeye başlamadığım nedenlerden biri de bu.

Çoğu donanım ve işletim sistemi sağlayıcısı, platformlarına yazmak için ek araçlara ve kitleye sahip olmaktan mutluluk duyar. Apple, (braindead) araçlarının şehirdeki tek oyun olduğu fikrini alıyor.

1984'teki "Big Brother" reklamı giderek daha alakalı.

DÜZENLE

Yazılma şekli, objektif C / elma çevirmenine bir .net yazdıysam, kodun kabul edilemez olduğunu, çünkü orijinal kod objektif c olmadığını ima ediyor gibi görünüyor. Bu gülünç (ve uygulanamaz.)


2
Kibirli kısım nedir? Kodlarının daha temiz olduğunu düşündüklerinden bunu yapıyorlar mı sizce?
bpapa

3
Kibirli olmadığını mı söylüyorsun?
Tim

4
@bpapa Kibir sadece teknik meselelerle sınırlı değildir - aynı zamanda iş görüşlerini de kapsar. Ondan kurtulabileceklerini ve kabul edilebilir bir davranış olduğunu düşündükleri için kibirler. Bunun bir "iş stratejisi" olabilmesi aptalca ve kibirli olmaktan muaf olduğunuz anlamına gelmez.
Tim

3
Aslında, iPhone OS cihazları büyük başarılar kazanmaya devam edecek ve geliştiriciler bunun için geliştirmeye devam edecek ve yeni geliştiriciler ekranlara katılacak. Birkaç yıl önce bir seçim yaptım, oturup iPhone'da Java geliştirmeyi nasıl yapamayacağımı söyleyebilirim ya da Cocoa Touch'ı öğrenip iPhone uygulamaları yapabilirdim. Kararımdan pişman olma.
bpapa

5
@ Ben Um, hayır - alakalı çünkü Apple büyük ağabey ... Buna ironi deniyor.
Tim

7

Birlik de Mono'ya dayanıyor ve bu büyük bir ticari ürün olarak bunun henüz sonunu duymadığımız bir konu olduğunu hayal ediyorum.

Obj-C / C ++ 'da yazılmayan tüm uygulamaların yasaklanması, teorik olarak, uygulama mağazasında çok sayıda olan tüm Unity oyunlarını da yasaklar.

Bu soru Unity Answers sitesinde de sorulmuştur ve resmi cevapları:

"İPhone OS4.0'ı ve yeni Hizmet Şartları'nı yeni duyduk. Bunlara tam olarak uyduğumuza inandığımız halde, Apple tarafından doğrulanmasını sağlamak için elimizden geleni yapıyoruz. elbette bu bilgileri herkesle paylaşacağız. Lütfen bunu sökerken sıkı durun. "

Apple tarafından neler söylendiğini görmek ilginç olun.

Mesele şu ki, bir uygulamanın belirli bir dilde yazılması gerektiğini söyleyerek , uygulama derlendiğinde, nasıl inşa edildiğine bakılmaksızın her zaman yerel bir ikili. Benim tahminim, aradıkları tek şey, hangi araçla yapıldığını tespit etmek için ikili dosyada bir tür imza. Kusurlu bir yaklaşım.

EDIT: Bu blog durumu ilginç bir genel bakış var: monotouch şimdi suda ölü elma yeni iphone geliştirici anlaşması ne anlama geliyor


7

Yeni lisans anlaşması bu konuda açıkça anlaşılıyor. Evet, yasaklanacak.

Tavsiye, iPhone için gerçekten geliştirmek istiyorsanız, XCode'u deneyin. Java veya C # veya daha iyi C ++ ile zaten aşina iseniz, Objective-C öğrenmek o kadar zor olmayacak.

iPhone / iPad, Apple'ın yeni başarılı işi ve bu işletmenin büyümesini sağlamak için her şeyi yapacaklar, belki de şimdi Monotouch uygulamalarını yasaklamayacaklar, ancak bir sonraki hamleyi kim bilebilir? Bu yüzden, iPhone dev ile gerçekten ilgileniyorsanız, işlerinizin reddedilebileceği kabuslar yerine. En azından uygulamanızın reddetme yüzdesini düşürecek olan XCode'a geçmeniz yeterlidir. Dolayısıyla benim tavsiyem.


18
Zor olduğu için değil. Monotouch kullanan herkes Hedef C'yi zaten biliyor. Hedef C, modern dillere kıyasla geliştirmek korkunç.
James Moore

3
@jamesmoorecode: +1 berbat
abatishchev

1
Evet, Obj-c ve tüm Cocoa Touch API'lerini öğrenmek için zaman harcadım, bu yüzden Apple'ın istediği gibi yerel bir uygulama yazmak benim için bir sorun değil. MonoTouch'ı çok daha hızlı yapmak ve 'iş mantığını' (ancak kullanıcı arabirimini değil) tarayıcı ve masaüstü uygulamaları için WP7 ve Silverlight ile paylaşmak istediğimde bunu neden isteyeyim ki?
U62

4
Uygulama mağazasında bu kadar çok uygulamanın düzenli olarak çökmesinin bir nedeni var: objektif-C. Digg.com gibi yüksek profilli olanlar bile
Chris S

2
Bu sabah trende obj c öğrendim - zor değil - ama kokuyor - bu ayrıntılı, arkaik bir dil - T-SQL ASCII sanatında iPhone uygulamaları yazmayı tercih ederim.

6

Bence kuvvetle düşünülmesi gereken bir şey Apple'ın motivasyonu.

Çevrimiçi yayınlanan diğer duygulara, Apple'ın uygulamaların metalaştırılmasını önlemeye çalıştığını, yani birden fazla cihazda çalışabilen uygulamalar üreten çerçeveler kullanarak daha fazla uygulamaya sahip olduğunu kabul ediyorum.

Ama Monotouch böyle değil. Monotouch, uygulama yazmak için Apple çerçevelerini kullanmakla ilgilidir - ancak Objective-C değil Mono aracılığıyla. Bu açıdan Monotouch'un yaptığı şey Apple'ı gerçekten rahatsız edecek bir şey değil.

Hala geliştiricilerin kullandıkları platformun ana dilinde yazmaktan daha iyi olduğunu düşünüyorum, çünkü soyutlama empedans uyumsuzluğuna sahip olabilen bir sistem sunmadığınızda işler genellikle daha yumuşaktır - Kakao çerçeveleri tümüyle kullanılmak üzere inşa edilmiştir Objective-C ve Objective-C felsefesine alıştığınız zaman en mantıklı olanıdır. Ancak Apple'ın MonoTouch'ın kullanılmasına izin verme tarafında aşağı inmesini umuyorum.


1
Rasyonel analizimi kim indirdiyse, sadece size bildirmek için geliştirici cehenneme gidiyor (tanımı, tüm sonsuzluk için sadece Windows Mobile 6.5'i hedefleyen mobil uygulamalar yazıyor). Yani, benimle tartışın ama neden yasaklanmasının neden yasaklanmamasının bir nedeni var? Neden ilk meşale yakıldığında dirgen ve meşale tugayına katılmak yerine Apple'ın ne yaptığını anlamaya çalışmıyorsunuz?
Kendall Helmstetter Gelner

Kendal, denge için +1 kabul etti.
si618

+1 Makul bir tartışma
Bill

1
Underdog ve farklı görüşü için +1. Grup kitlelerine karşı her gittiğimde, mesajı silmek zorunda kalana kadar oy kullandığımı düşünüyorum.
kirk.burleson

5

Tüm Apple diyor ki hepiniz artık rekabet yenilgi son teknoloji Mobil Uygulamalar geliştirmek için 1980'lerin dillerini kullanmak zorunda olduğunu ....

Mantıklı gelir. Bana kazanan bir strateji gibi geliyor.

Ayrıca, düz C, C ++ veya Objective C'de geliştirildiğini garanti edemediğiniz 3. taraf kitaplıklarını kullanmanızı da engeller.

Yani temelde Unity gibi Oyunlar API'lerinden satın alamayacağınız anlamına gelir.


2
Bir kuyu, smalltalk-80 c # yaklaşık bir düzine yıl önde olduğunu düşünüyor ...
Stephan Eggermont

Hiç şüphesiz ki Amaç C'nin temelde bazı SmallTalk uzantılarıyla C olduğunu biliyorsunuz.
AnthonyLambert

4

Sadece 2 sent ekliyorum. Bu kısmı okuduktan sonra: (örn., Bir aracı çeviri veya uyumluluk katmanı veya aracıyla Dokümante Edilmiş API'lara bağlantı veren uygulamaların yasaklandığı) tartışacak bir şey yoktur. Onları açık bir şekilde ifade ettiler. Sadece MonoTouch ve Unity3d'yi yasaklamakla kalmıyorlar, aynı zamanda Titanyum Çerçevesini de yasaklıyorlar . Ancak, bu makaleyi okuduktan sonra kendimi gerçekten şaşkın buldum. ABD yasalarına aşina değilim, ama yasal mı? Yani, bazı tekel karşıtı yasaları çiğnemiyorlar mı?

Tüm bunların yanında onların motivasyonlarını anlayamıyorum. Sadece geliştiricilerin ilgisini kısmen kaybetmekle kalmayacak, aynı zamanda geliştiricilerin saygısını da kaybedeceklerini düşünüyorum.


4

Bugün itibariyle, Apple iOS Geliştirici Programı Lisansının Bölüm 3.3.1'i eski metne geri döndürüldü:

3.3.1 Uygulamalar, Belgeli API'leri yalnızca Apple tarafından belirtilen şekilde kullanabilir ve herhangi bir özel API kullanmamalı veya çağırmamalıdır.

Apple, lisans değişiklikleri hakkında resmi bir açıklama yaptı .

Bu, şimdi MonoTouch'ın kullanılmasına izin verildiğini gösterir.


Yalnızca bir bağlantıyı veya ifadeyi değil, gerçek içeriği dahil etmek için +1.
davidtbernal

3

Mono ekibinin bir hedefi, platformlar arası geliştirme için Silverlight'ı iPhone'a MonoTouch / Moonlight aracılığıyla taşımaktır. Bu, Flash'ı iPhone'a taşımak gibi bir şey. Ayrıca uygulamaları taşımamıza yardımcı olacak Monodroid var ve bilirsiniz, Apple, her biri "Android" dediğinde amonk çalıştırıyor :-) IMHO, Apple yeni anlaşmayla Adobe'yi hedefliyorsa, Roman'ı da hedefliyorlar. Muhtemelen spekülasyon yapıyoruz ve bir NDA var ama çoğumuz bu platforma çok zaman harcadık, bu yüzden durumu netleştirmeliyiz. Gelecek yaz bu konuyu tartışmak için bekleyemeyiz. Örneğin, bir arkadaşımdan, şirketinin bir müşteri için bir MonoTouch uygulamasını prototiplemesine yardımcı olması istendi. Yeni anlaşma yalnızca App Store dağıtımını mı etkiliyor? Şirket içi dağıtım ne olacak?


Apple neden Mono erkeklerle güzel konuşmuyor ve bunun yerine Droid için destek
bırakmıyor

1
@tony neden çok daha açık bir platform için destek
bıraktılar

2

Bu google dokümanlar e-tablosunda , yeni sözleşmeden etkilenecek uzun bir uygulama listesi var. Kategorileri için uygulama mağazasında 1 numara olan bazı dikkate değer olanlar:

  • Tekel
  • Limonata Kralı
  • Skee topu
  • Yerleşimciler
  • Zombieville

Komik kapanımlardan biri Oyuncak Hikayesi.


1
Yeni anlaşma işletim sisteminin sadece 4.0 sürümünü değil tüm sürümlerini kapsamaktadır.
Philippe Leybaert

İyi bir nokta, sitede yeni bir anlaşma imzalaman gerektiğini unuttum
Chris S

2

oBirçok uygulama monotouch ve birlik yardımı ile yazılan son birkaç gün içinde kabul edildi, oysa anlaşmada duyuru ve değişiklikten bu yana obj-c'yi de kullanıyorum, bu yüzden GO FIGURE, ... iyi akla geliyor. Görünüşe göre bipolar bir servettir.

AYRICA, SICAK YENİ OYUNLAR - YESTERDAY altında olan son Birlik Oyunu GiantMOTO, ÜSTÜNE GÖRE büyük harflerle yükleme ekranında büyük harflerle yüklendi. Yani, tüm varsayımlar, varsayımlar, vs. gerçekten kapı dışarıda. Yeni sürümde tüm bunlar kesinlikle zorlanmış DEĞİL diyebilir. Ve montouch, iPhone API'sını TAM olarak ortaya koyan ve XCode kullanarak TAMAMEN obj-c'ye dönüştüren tek geliştirme platformudur.


1

Lisans sözleşmesinin söylediklerinden MonoTouch uygulamalarına AppStore'da açıkça izin verilmeyecektir.

Daha ilginç olan soru, hangi çerçeveye / uygulamalara karşı uygulayacaklarıdır? Ayrıca, uygulamaların yerel olarak yazılıp yazılmadığını kontrol etmek için otomatik testler yazmak zorunda kalacaklar, çünkü uygulamaları onaylayan kişilerin her uygulama için yapacak zaman / beceriye sahip olmayacaklar. Bu uygulamalar buraya 'MonoTouch / Flash Kullanımı' etiketi yapıştırmaz.


1
Otomatik bir süreç olacağını tahmin ediyorum. Monotouch tahmin ediyorum ve flash derleyici dönüşüm derlenmiş koddan istatistiksel olarak seçilebilir ortak kod kalıpları bırakacaktır.
PeteT

3
yup elma bazı otomatik işlem kullanırlarsa kesinlikle dönüşüm deseni bulacaksınız. Ancak bu politikanın uygulanması saçmadır. Yani Obj-C gerçekten çok belirsiz olan dilini emiyor. MonoTouch'ın sunduklarını gerçekten çok seviyorum.
Shoaib Shaikh

@Shoaib Kesinlikle saçma olduğunu kabul ediyorum ve android ve windows phone için bir çok geliştirici hareket edecek ki bazı açılardan rekabet için iyidir.
PeteT

1

Anlaşmadaki tüm bloblara kısa cevap EVET .

Apple temel olarak programları birkaç dille sınırlandırarak kendini ayağa vuruyor:

  • C - düşük seviyeli doğası nedeniyle bugünlerde uygulama geliştirme için gerçekten uygun değil. Bugün çoğunlukla bir sistem programlama dilidir.
  • C ++ - telefonunuzu çekmeyi zorlaştırır, ancak olduğunda, bir bazuka ile. Qt dışında, C ++ 'da kullanılacak tam bir uygulama çerçevesi yoktur (ve Qt henüz iPhone'u desteklememektedir).
  • Apple tarafından icat edilen ve elbette desteklenecek Objective-C.
  • WebKit'te çalışan JavaScript - temel olarak bir web uygulaması.

İPhone için geliştirmek için hangi araçları kullanabileceğinizi kasten sınırlıyorlar, bu da onları kesinlikle ciddi bir belaya sokacak. Topluluğun iyi bir yığınının iPhone geliştirmeden çıkacağından ve tamamen açık olan Windows Mobile, Symbian, Android veya Maemo gibi farklı bir platforma taşınacağından eminim - başvurunuzu LOLCODE'da yazmakta özgürsünüz.

Muhtemelen geliştiriciler için iPhone önemsiz hale getirmenin yanı sıra, Adobe'ye güzel bir öpücük veriyor: Apple, Flash'ı iPad'den kasıtlı olarak engelliyor ve şimdi de iPhone'dan engelliyor. Nummer, Adobe Flash'ın CS5'in en büyük özelliği Flash uygulamalarını iPhone'a dağıtmasıdır.

tl; dr: Apple bu hareketle kendini ayağa vuruyor.


Apple ilk etapta kendini ayağa fırlattı ve herkes "Apple kapalı mimari nedeniyle mahvoldu" dedi. Herhangi bir çalışanın danışmanı size söyleyeceği gibi kendinizi ayağa vurmanın genellikle iyi bir strateji olduğu ortaya çıkıyor.
Dan Rosenstark

Evet, topluluğun iyi bir yığınının iPhone gelişimini bırakması için nefesinizi tutmaya devam edin!
kirk.burleson

Objective-C gerçekten Apple tarafından icat edilmedi, sadece LLVM ve BSD'nin aynı parçaları gibi kabul edildi :)
Emil Marashliev

1

Şimdi flaş çöküşünden aylar sonra Monotouch ve Unity'nin gayet iyi olduğu açık.

Gereğince "Uygulamalar bir ara çeviri veya uyumluluk katmanı veya aracıyla belgelenmiş API'leri link yasak olduğunu"

Monotouch kodu yerel bir ikili dosyaya derler, "katman" yoktur. .NET çalışma zamanı, Java JVM veya Flash çalışma zamanı gibi bir şeyden bahsediyorlar.


Dokümante Edilmiş API'lar hakkında yazıyor. Yani, yerel kütüphaneye derlemeniz ya da
derlememeniz önemli

Mesele şu ki, iPhone için geliştirmek için bir Mac satın almanız gerekiyor. Bu yalnızca Java ve Flash için değil, mono için de geçerlidir, çünkü mono bir Windows / Linux bilgisayarında gelişmenizi sağlar. Ancak Java veya Flash'ın aksine mono muhtemelen çok fazla kullanılmaz, bu yüzden henüz umursamazlar.
Stefan Steiger

1

Mono uygulamaları normal olarak JIT (tam zamanında) derlemesi gerektiren ve bunları çalıştırmak için gerekli olan bytecode'a derlenecektir. Bu nedenle bir .Net çerçevesi veya Mono çerçevesi gereklidir. Bununla birlikte, iOS ve Android durumunda, Mono uygulaması yerel kodla derlenir. Bu nedenle, Apple'ın gözünde üçüncü bir katman yoktur , Apple asla Mono'yu yasaklamaz. Böylece MonoTouch ile geliştirebilir ve uygulamalarınızı dağıtabilirsiniz. Daha fazla emin olmak için, AppStore'da uzun zamandır var olan çeşitli Mono uygulamaları (oyunlar ve uygulamalar dahil) vardır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.