Apakah MonoTouch sekarang dilarang di iPhone? [Tutup]

155

Sebuah posting terbaru oleh John Gruber mencatat bahwa legalese berikut:

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

Telah direvisi sebagai berikut:

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).

Dan buatlah observasi berikut:

Saya membaca bahasa baru ini bahwa cross-compiler, seperti kompiler Flash-ke-iPhone dalam rilis Adobe Flash CS5 mendatang, dilarang. Ini juga melarang aplikasi yang dikompilasi menggunakan MonoTouch - alat yang mengkompilasi aplikasi C # dan .NET ke iPhone.

Apakah ini sebenarnya melarang penggunaan Monotouch untuk IPhone?

tom greene
sumber
4
Saya ingin tahu di mana ini meninggalkan apel dan pengembang monotouch yang ada secara hukum. Apa yang terjadi pada aplikasi monotouch yang ada?
PeteT
2
@ petebob796: Anda harus menerima lisensi baru ini jika Anda ingin memasukkan sesuatu yang baru ke iTunes Connect, tetapi saya ragu mereka akan menarik barang-barang dari toko yang telah dikirimkan sebelumnya. Namun, mereka / dapat / menegakkan ini dengan aplikasi baru yang tidak berbasis 4.0 tetapi belum pernah diajukan. Tapi seperti apa pun di App Store, kita hanya harus menunggu dan melihat!
Jason Coco
1
Rupanya perjanjian itu berada di bawah NDA
Chris S
apple.com/pr/library/2010/09/09statement.html aaaaaaaaaathankyooooooooooo biarkan kegilaan dimulai !!
2
Pada 9/9/2010 ini masih bisa diperdebatkan. Apple santai Peraturan 3.3.2 foxbusiness.com/markets/2010/09/09/...
Steve Mitcham

Jawaban:

88

Perbarui -

Ini berubah baru-baru ini . MonoTouch seharusnya tidak lagi bertentangan dengan perjanjian. Semua pernyataan di bawah ini murni historis!

Ya, tampaknya cukup jelas dari perjanjian lisensi mereka sekarang bahwa jika aplikasi asli ditulis dalam C # maka itu akan melanggar lisensi:

... Aplikasi awalnya harus ditulis dalam Objective-C, C, C ++, atau JavaScript yang dijalankan oleh mesin iPhone OS WebKit ...

Mereka bahkan memalu sedikit lebih jauh:

Aplikasi yang menautkan ke API yang Didokumentasi melalui terjemahan perantara atau lapisan atau alat kompatibilitas dilarang

Agak mengecewakan, MonoTouch dan Flash CS5 -> iPhone converter sangat keren.

Lance McNearney
sumber
7
namun, lihat twitter.com/migueldeicaza/status/11844609073 menggunakan itu, bagaimana mereka memberi tahu aplikasi MonoTouch dari yang asli?
Mauricio Scheffer
9
Apple lagi ya. Mengisap kami dengan perangkat yang luar biasa, membersihkan antarmuka grafis, antarmuka sentuh yang bagus ... tapi ... menghentikan kami mengembangkan apa pun untuk itu kecuali kami memiliki mac, menghentikan kami mengembangkan apa pun untuk itu kecuali itu objek C / C / C ++. Maksud saya apa yang akan kita semua pikirkan jika microsoft datang dan berkata 'tidak - tidak dapat mengembangkan apa pun di windows kecuali di C - tidak, Anda tidak dapat menggunakan kerangka NET lagi.'
peter
33
Ini tidak masuk akal bagi saya. Di bawah perjanjian ini, jika Anda menulis aplikasi di Flash dan kemudian menerjemahkannya ke Objective-C, sepertinya itu akan melanggar perjanjian (karena itu bukan "awalnya ditulis" di Objective-C).
Michael Myers
3
@ John: Saya pikir itu kurang bahwa mereka 'melarang' aplikasi asli - lebih karena API OS baru mereka berputar di sekitar Silverlight / XNA dan itu adalah cara yang didukung untuk melakukan sesuatu. Saya belum melihat apa pun untuk menegakkan bahwa Anda tidak dapat menulis Java (atau bahasa lain) ke kompiler Silverlight dalam perjanjian lisensi Microsoft (belum).
Ron Warholic
3
Sampai semua ini terjadi, produk kami dalam pengembangan adalah hanya iPhone / iPad (yang peduli dengan Android dll) dan di MonoTouch. Kami sekarang telah mempertimbangkan kembali, dan kami sekarang akan menjadi Obj-C seperti yang disyaratkan, tetapi kami juga akan memastikan untuk mendapatkan dukungan Android dan WinPhone pada hari pertama juga. Sebuah bisnis tidak mampu menanggung ketidakpastian perilaku, dan karena itu Apple telah melakukan kebalikan dari apa yang mereka inginkan - membuat pengembang mencari solusi lintas platform bukan hanya Apple. Sudah selesai dilakukan dengan baik.
mj2008
49

Memperbarui:

Apple telah menjatuhkan (hampir) semua persyaratan teknis untuk bahasa dan perpustakaan untuk iOS, jadi MonoTouch tanpa diragukan lagi merupakan solusi yang layak. Lihat pengumuman Apple .


Kebanyakan orang di sini hanya ingin mengambil dokumen Apple dengan kata dan mengatakan "ya, itu dilarang". Nah, inilah sudut pandang saya: pada titik ini, tidak ada yang benar-benar tahu apakah MonoTouch akan dilarang atau tidak, dan saya akan menjelaskan alasannya:

Perjanjian Apple versi 3 (bukan yang terbaru, yang sebelumnya) dengan jelas menyatakan bahwa ilegal menggunakan kerangka kerja lain untuk mengembangkan aplikasi selain yang disediakan oleh Apple:

3.3.2 Aplikasi tidak dapat dengan sendirinya menginstal atau meluncurkan kode yang dapat dieksekusi lainnya dengan cara apa pun, termasuk tanpa batasan melalui penggunaan arsitektur plug-in, memanggil kerangka kerja lain, API lain atau lainnya. Tidak ada kode yang ditafsirkan yang dapat diunduh atau digunakan dalam Aplikasi kecuali kode yang ditafsirkan dan dijalankan oleh Apple's Documented APIs dan interpreter bawaan. http://adcdownload.apple.com/iphone/iphone_sdk_3.2__final/iphone_sdk_agreement.pdf

Meskipun demikian (dan sebenarnya adalah kasus sejak 2.x, apel tidak memiliki masalah menerima aplikasi yang melakukan hal itu. Misalnya, SEMUA game EA menggunakan skrip Lua, dan banyak dan banyak orang menggunakan perpustakaan eksternal yang bukan asli iPhone. Bahkan ketika iPhone memiliki API asli itu, Apple tidak pernah memiliki masalah menerima aplikasi dengan versi yang berbeda, seperti SQLite.

Maksud saya adalah mengatakan "YA, mereka akan dilarang" sekarang ini terlalu dini. Hal yang hanya jelas pada titik ini adalah bahwa Apple bisa pada kenyataannya digunakan yang untuk melarang aplikasi. Sama seperti mereka menerima Aplikasi hari ini yang melanggar beberapa aturan mereka, mereka mungkin akan terus melakukannya.

Ada juga fakta bahwa ada ratusan (atau mungkin beberapa ribu?) Aplikasi di toko yang saat ini menjalankan Mono, dan Apple harus menerima pembaruan untuk aplikasi tersebut. Aplikasi utama dengan jutaan penjualan dibuat menggunakan Mono (dan Lua), dan saya ragu mereka akan mengembalikan setiap pengguna.

Terakhir, aplikasi Enterprise digunakan untuk iPhone tanpa persetujuan Apple, dan itulah pasar besar tempat MonoTouch aktif (saya sendiri yang mengembangkan aplikasi enterprise). Tidak mungkin pada saat ini bahwa Apple dapat melarang MonoTouch untuk aplikasi-aplikasi itu, dan itu mungkin akan cukup untuk menjaga MonoTouch tetap hidup untuk waktu yang lama.

Eduardo Scoz
sumber
Saya umumnya setuju dengan Anda, kecuali untuk bagian terakhir - Apple dapat dengan mudah mengatakan bahwa pembaruan masa depan aplikasi yang ada harus porting ke Objective-C asli.
Kendall Helmstetter Gelner
Yah, bahkan jika aplikasi porting ke Obj-C, mereka awalnya ditulis dalam bahasa yang berbeda, jadi secara teknis mereka masih ilegal, saya kira .. Karena itulah aturan ini tidak masuk akal. Mereka mungkin akan menghapusnya dalam revisi berikut, tepat sebelum rilis final 4.0.
Eduardo Scoz
3
Bahasa sebelumnya tidak melarang kerangka sama sekali. Itu jelas mengatakan bahwa apa yang dilarang adalah meluncurkan kode yang dapat dieksekusi, dan daftar kerangka kerja sebagai salah satu contoh cara yang mungkin dilakukan. Bahasa yang Anda poskan tidak memengaruhi aplikasi monotipe atau aplikasi Flash atau biner yang dikompilasi sebelumnya yang tidak berupaya menafsirkan saat runtime.
fenomas
27

Memperbarui:

Perubahan baru pada bagian 3.3.1, 3.3.2 dan 3.3.9 telah membuat MonoTouch (dan semua kompiler silang lainnya / bahasa / dll) sangat dapat diterima di iPhone. Lihat pengumuman Apple


Miguel sepertinya tidak berpikir begitu. Lihat tweet dan respons Miguel . Jangan bereaksi berlebihan di sini dan katakan bahwa Monotouch sudah mati, atau berhenti berkembang dengan Monotouch sampai beberapa klarifikasi dibuat oleh semua pihak yang terlibat.

Yang mengatakan saya pasti akan mulai menempatkan panas pada Apple untuk kebijakan pengembangan kejam seperti itu. Hal-hal seperti ini, dan proses samar-samar yang merupakan kebijakan persetujuan aplikasi iphone / ipad / touch harus membuat ketakutan para pengembang. Apa selanjutnya, lisensi mereka yang menyatakan bahwa satu-satunya platform Iklan yang diizinkan untuk Anda gunakan adalah iAd? Tidak mengizinkan distribusi aplikasi gratis tanpa iAd? Perlahan meningkatkan bagian Apple dari pendapatan penjualan aplikasi? Sebagai pengembang dalam sistem ramah lingkungan yang terkunci, kami adalah sejenis katak di dalam panci berisi air panas, dan Apple perlahan-lahan meningkatkan panasnya. Sekarang adalah waktunya untuk menjelajahi platform seluler lainnya, karena seiring membaiknya, hal utama yang menahan orang ke platform Apple adalah kurangnya aplikasi pada platform lain.

Kris Erickson
sumber
4
+1 (terutama untuk "menjelajahi platform lain")
Tim
2
+1 meskipun saya mengharapkan lebih banyak dari tautan itu. "Tidak" tidak terlalu jitu, bukan? Micro-blogging adalah momok.
Dan Rosenstark
Pergi menjelajah, saya tetap dengan Apple. Saya memiliki 2 mac dan lisensi pengembang yang dengan senang hati akan saya perbarui tahun ini sehingga saya dapat terus berkembang. Suka atau tinggalkan, tapi berhentilah menangis karenanya. Dan beli saja mac sudah ...
kirk.burleson
10

Saya menghabiskan waktu berbulan-bulan di malam hari untuk mengerjakan ide untuk aplikasi iPhone yang mematikan di Objective C. Pekerjaan saya sehari-hari adalah C #. Saya mengunduh MonoTouch C # ketika itu menjadi alternatif yang layak dan baru saja menghabiskan 3 bulan mengonversi kode saya ke iPhone khusus MonoTouch C #. Yang menghentikan saya menjadi gila karena beralih dari C # / Objective C.

Apa yang saya lakukan sekarang membuang semuanya dan mulai lagi atau menyerah!?!

Saya merasa sangat kasihan pada Mono guys. Ini jelas salah. Ini adalah satu hal untuk menghentikan Adobe yang belum meluncurkan produk mereka dan tidak memiliki pelanggan dan menghentikan MonoTouch yang melakukannya dan juga telah menyetujui produk di AppStore.

Mengapa ada orang yang ingin membangun bisnis dan berinvestasi di Apple ketika mereka akan mengambil semuanya pada saat pemberitahuan tanpa ada jawaban atau dipertanyakan?

Jelas pengembang dan pelanggan Apple merawat mereka dan produk mereka adalah jalan satu arah.

AnthonyLambert
sumber
Monotouch tidak memiliki produk yang disetujui di app store - ada banyak aplikasi di app store yang ditulis menggunakan Mono. Ada perbedaan besar, karena ada banyak aplikasi di sekitar untuk dipertimbangkan, bukan hanya satu.
Kendall Helmstetter Gelner
@ Kendall Helmstetter Gelner: Anda salah. Ada aplikasi MonoTouch di app store.
Tim Scott
4
@Tim Scott, katanya ... oh lupakan.
Dan Rosenstark
1
Anda harus mempertimbangkan jumlah waktu pengembangan yang akan dimasukkan ke dalam kompiler iPhone mereka. Apple membiarkan mereka terus menyusuri jalan itu dengan mengetahui bahwa itu akan datang selama lebih dari setahun dan pada menit terakhir membawanya pergi. Harganya jutaan dalam waktu pengembangan dan kehilangan penjualan.
PeteT
@Tim: Dan berapa banyak aplikasi yang dikembangkan OLEH orang-orang Monotouch? Baca apa yang saya katakan lagi. @yar: Terima kasih telah mencoba menjelaskan.
Kendall Helmstetter Gelner
9

Saya harap Apple akan dikalahkan oleh kebijakan konyol ini. Arogansi tidak menarik dan umumnya buruk untuk bisnis. Ini adalah salah satu alasan saya belum memulai pengembangan iPhone.

Sebagian besar penyedia perangkat keras dan OS senang memiliki alat dan pemirsa tambahan untuk menulis ke platform mereka. Apple mengambil sikap bahwa alat (braindead) adalah satu-satunya permainan di kota.

Iklan "Big Brother" mulai tahun 1984 semakin relevan ...

EDIT

Cara itu ditulis juga tampaknya menyiratkan bahwa jika saya menulis .net ke objektif C / apple translator bahwa kode tidak dapat diterima karena kode asli tidak objektif c. Itu menggelikan (dan tidak bisa dilaksanakan.)

Tim
sumber
2
Apa bagian arogannya? Apakah Anda pikir mereka melakukan ini karena mereka pikir kode mereka lebih bersih, atau apa?
bpapa
3
Apakah Anda mengatakan itu tidak sombong?
Tim
4
@bpapa Arogansi tidak terbatas pada masalah teknis - ini juga mencakup pandangan bisnis. Mereka sombong karena mereka pikir mereka bisa lolos dan itu adalah perilaku yang dapat diterima. Hanya karena itu mungkin merupakan "strategi bisnis" tidak berarti Anda dibebaskan dari panggilan bodoh dan sombong.
Tim
3
Sebenarnya mereka akan "lolos begitu saja" karena perangkat iPhone OS akan terus menjadi sukses besar dan pengembang akan terus mengembangkan untuk itu, dan pengembang baru akan bergabung dengan flip. Saya membuat pilihan beberapa tahun yang lalu, saya bisa duduk dan merengek tentang bagaimana saya tidak bisa melakukan pengembangan Java di iPhone, atau saya bisa belajar Cocoa Touch dan membuat aplikasi iPhone. Jangan menyesali keputusanku.
bpapa
5
@ Ben Um, tidak - ini relevan karena kakak Apple IS ... Disebut ironi.
Tim
7

Persatuan juga didasarkan pada Mono dan dengan itu menjadi produk komersial yang cukup besar saya membayangkan bahwa ini adalah masalah yang belum kita dengar akhir.

Melarang semua aplikasi yang tidak ditulis dalam Obj-C / C ++ akan, secara teori melarang semua game Unity juga, yang sudah ada dalam jumlah besar di app store.

Pertanyaan ini juga telah ditanyakan di situs Unity Answers, dan jawaban resmi mereka adalah:

"Kami baru saja mendengar tentang iPhone OS4.0 dan Ketentuan Layanan yang baru. Sementara kami yakin kami sepenuhnya mematuhi ini, kami sekarang sedang melakukan semua yang kami bisa untuk memverifikasi ini oleh Apple. Segera setelah kami tahu persis, kami tentu saja akan membagikan info itu kepada semua orang. Tolong tunggu sebentar selagi kami menyelesaikan masalah ini. "

Menarik untuk melihat apa yang mereka dapatkan dari Apple.

Masalahnya, tentu saja mengatakan bahwa aplikasi harus ditulis dalam bahasa tertentu sedikit keliru, karena begitu aplikasi dikompilasi, selalu biner asli terlepas dari bagaimana itu dibangun. Dugaan saya adalah bahwa semua yang mereka dapat cari adalah semacam tanda tangan dalam biner untuk mendeteksi alat apa yang dibuat. Pendekatan yang cacat.

EDIT: Ada ikhtisar menarik dari situasi di blog ini: monotouch sekarang mati di air apa arti apel dari perjanjian pengembang iphone baru

Ira Rainey
sumber
7

Perjanjian lisensi baru secara eksplisit jelas tentang hal itu. Jadi YA, itu akan dilarang.

Saran, jika Anda ingin benar-benar mengembangkan untuk iPhone, coba XCode. Jika Anda sudah terbiasa dengan Java atau C # atau C ++ yang lebih baik, maka belajar Objective-C tidak akan sulit.

iPhone / iPad adalah bisnis baru yang sukses dari Apel, dan mereka akan melakukan apa saja untuk menjaga pertumbuhan bisnis ini, mungkin mereka tidak akan mencekal aplikasi Monotouch sekarang, tetapi siapa yang tahu langkah selanjutnya? Jadi, jika Anda benar-benar benar-benar tertarik pada dev iPhone, alih-alih memiliki mimpi buruk bahwa pekerjaan Anda mungkin hanya ditolak. Cukup beralih ke XCode, setidaknya itu akan menurunkan persentase penolakan aplikasi Anda. Makanya, saran saya.

medopal
sumber
18
Bukannya itu sulit. Siapa pun yang menggunakan monotouch sudah tahu Objective C. Ini adalah Objective C mengerikan untuk dikembangkan dibandingkan dengan bahasa modern.
James Moore
3
@jamesmoorecode: +1 itu buruk
abatishchev
1
Yeh, saya menghabiskan waktu untuk belajar Obj-c dan semua Cocoa Touch APIs sehingga tidak masalah bagi saya untuk menulis aplikasi asli seperti yang diinginkan Apple. Hanya saja mengapa saya ingin melakukan itu ketika saya bisa menggunakan MonoTouch untuk melakukannya lebih cepat dan berbagi 'logika bisnis' (tetapi bukan antarmuka pengguna) dengan WP7 dan Silverlight untuk aplikasi browser dan desktop?
U62
4
Ada alasan mengapa begitu banyak aplikasi di appstore crash secara teratur: objektif-C. Bahkan yang profil tinggi seperti digg.com
Chris S
2
Saya belajar obj c di kereta ke kantor pagi ini - itu tidak sulit - tapi itu bau - itu adalah bahasa, kuno kuno - saya lebih suka menulis aplikasi iPhone dalam seni ASCII T-SQL.
6

Saya pikir sesuatu yang sangat dipertimbangkan adalah motivasi Apple.

Saya setuju dengan sentimen lain yang diposting online bahwa Apple berusaha mencegah komoditisasi aplikasi - artinya, semakin banyak aplikasi yang ditulis menggunakan kerangka kerja yang menghasilkan aplikasi yang dapat berjalan di beberapa perangkat.

Tapi bukan itu Monotouch. Monotouch adalah tentang menggunakan kerangka kerja Apple untuk menulis aplikasi - tetapi melalui Mono, bukan Objective-C. Jadi dari sudut pandang itu, apa yang dilakukan Monotouch bukanlah sesuatu yang seharusnya mengganggu Apple.

Saya masih berpendapat bahwa pengembang lebih baik menulis dalam bahasa asli dari platform yang mereka gunakan, karena hal-hal yang umumnya lebih lancar ketika Anda tidak memperkenalkan sistem yang dapat memiliki ketidakcocokan impedansi abstraksi - kerangka kerja Cocoa semua dibangun untuk digunakan dari Objective-C, dan mereka paling masuk akal ketika Anda terbiasa dengan filosofi Objective-C. Tapi saya berharap Apple turun untuk mengizinkan MonoTouch digunakan.

Kendall Helmstetter Gelner
sumber
1
Siapa pun yang menurunkan analisis rasional saya akan menjadi pengembang neraka, hanya untuk memberi tahu Anda (definisi yang menulis aplikasi seluler hanya menargetkan Windows Mobile 6.5 untuk selamanya). Maksud saya, berdebat dengan saya tetapi mengapa downvote karena suatu alasan mengapa itu mungkin tidak dilarang? Mengapa tidak mencoba memahami apa yang dilakukan Apple alih-alih hanya bergabung dengan garpu rumput dan obor ketika obor pertama menyala?
Kendall Helmstetter Gelner
Kendal yang disepakati, +1 untuk saldo.
si618
+1 Argumen yang masuk akal
RUU
1
+1 untuk underdog dan pandangannya yang berbeda. Setiap kali saya melawan massa grup, saya merasa memilih sampai saya dipaksa untuk menghapus posting.
kirk.burleson
5

Semua yang dikatakan Apple adalah bahwa Anda semua sekarang harus menggunakan bahasa 1980-an untuk mengembangkan pesaing Anda mengalahkan aplikasi Mobile yang canggih ....

Masuk akal. Kedengarannya seperti strategi kemenangan bagi saya.

Ini juga menghentikan Anda dari menggunakan perpustakaan pihak ke-3 yang tidak dapat Anda jamin yang telah dikembangkan dalam C, C ++ atau Objective C.

Jadi pada dasarnya itu berarti Anda tidak dapat membeli di API Game seperti Unity.

AnthonyLambert
sumber
2
Sebuah sumur, mengingat bahwa smalltalk-80 sekitar selusin tahun lebih maju dari c # ...
Stephan Eggermont
karena Anda pasti tahu Objective C pada dasarnya adalah C dengan beberapa ekstensi SmallTalk.
AnthonyLambert
4

Hanya menambahkan 2 sen saya. Tampaknya setelah membaca bagian ini: (mis. Aplikasi yang menautkan ke API yang didokumentasikan melalui terjemahan perantara atau lapisan atau alat kompatibilitas dilarang) tidak ada yang perlu didiskusikan. Mereka telah mengungkapkannya dengan jelas. Tidak hanya mereka melarang MonoTouch dan Unity3d, tampaknya mereka juga melarang Titanium Framework . Namun, setelah membaca artikel ini , saya merasa sangat bingung. Saya tidak terbiasa dengan undang-undang AS, tetapi apakah itu legal? Maksudku, bukankah mereka melanggar beberapa undang-undang anti-monopoli?

Selain semua ini, saya tidak dapat memahami motivasi mereka. Tidak hanya sebagian mereka akan kehilangan minat pengembang, mereka juga akan kehilangan rasa hormat pengembang, saya pikir.

n535
sumber
4

Sampai hari ini, Bagian 3.3.1 dari Lisensi Program Pengembang Apple iOS kini telah dikembalikan ke teks lama:

3.3.1 Aplikasi hanya dapat menggunakan API Terdokumentasi dengan cara yang ditentukan oleh Apple dan tidak boleh menggunakan atau memanggil API pribadi apa pun.

Apple telah merilis pernyataan resmi tentang perubahan lisensi.

Ini akan menunjukkan bahwa sekarang diizinkan untuk menggunakan MonoTouch.

Jeff
sumber
+1 untuk menyertakan konten aktual dan bukan hanya tautan atau pernyataan.
davidtbernal
3

Salah satu tujuan dari tim Mono adalah memindahkan Silverlight ke iPhone melalui MonoTouch / Moonlight untuk pengembangan lintas platform. Itu agak seperti porting Flash ke iPhone. Ada juga Monodroid dalam perjalanan untuk membantu kami porting aplikasi dan, Anda tahu, Apple menjalankan amonk setiap kali seseorang mengatakan "Android" :-) IMHO, jika Apple menargetkan Adobe dengan perjanjian baru, mereka juga menargetkan Novel. Kami mungkin berspekulasi dan ada NDA tetapi banyak dari kami menginvestasikan banyak waktu pada platform ini sehingga kami perlu memperjelas situasinya. Kita tidak bisa menunggu musim panas mendatang untuk membahas masalah ini. Misalnya, saya telah diminta oleh seorang teman untuk membantu perusahaannya membuat prototipe aplikasi MonoTouch untuk seorang pelanggan. Apakah perjanjian baru hanya memengaruhi distribusi App Store? Bagaimana dengan distribusi in-house?

Tajomaru
sumber
mengapa Apple tidak berbicara dengan baik kepada orang-orang Mono dan membuat mereka untuk menjatuhkan dukungan untuk Droid sebagai gantinya ....
AnthonyLambert
1
@tony mengapa mereka menjatuhkan dukungan untuk platform yang lebih terbuka
PeteT
2

Spreadsheet google docs ini memiliki daftar panjang aplikasi yang akan terpengaruh oleh perjanjian baru. Beberapa yang penting yang telah menjadi # 1 di appstore untuk kategorinya:

  • Monopoli
  • Taipan limun
  • Bola skee
  • Para pemukim
  • Zombieville

Salah satu inklusi lucu adalah Toy Story.

Chris S
sumber
1
Perjanjian baru mencakup semua versi OS, bukan hanya 4.0.
Philippe Leybaert
Poin yang bagus, saya lupa Anda harus menandatangani perjanjian baru di situs
Chris S
2

oBanyak aplikasi telah diterima dalam beberapa hari terakhir yang ditulis dengan bantuan monotouch dan unity, sedangkan saya juga menggunakannya serta obj-c, sejak pengumuman dan perubahan dalam perjanjian, jadi GO FIGURE, ... the good ol'WTF datang ke pikiran. Sepertinya itu adalah celengan bipolar.

JUGA, Game Unity GiantMOTO terakhir, yang berada di bawah HOT NEW GAMES - YESTERDAY, ada di layar splash onLoad dalam huruf besar, DIKUASA OLEH UNITY. Jadi, semua dugaan, asumsi, dll. Benar-benar keluar dari pintu. Mungkin mengatakan semua itu dalam versi baru, itu pasti TIDAK ditegakkan. Dan montouch adalah satu-satunya platf pengembangan yang SEPENUHNYA mengekspos iPhone API dan membangun SEPENUHNYA ke obj-c menggunakan XCode.

Sebas
sumber
1

Dari apa yang dikatakan dalam perjanjian lisensi, aplikasi MonoTouch jelas tidak akan diizinkan di AppStore.

Pertanyaan yang lebih menarik adalah, terhadap kerangka / aplikasi mana mereka akan menegakkannya? Mereka juga harus menulis tes otomatis untuk memeriksa apakah aplikasi ditulis secara asli atau tidak, karena orang-orang yang menyetujui aplikasi tidak akan memiliki waktu / keterampilan untuk melakukannya untuk setiap aplikasi. Aplikasi ini tidak akan menempatkan stiker di sana 'Menggunakan MonoTouch / Flash'.

mgw
sumber
1
Saya kira itu akan menjadi proses otomatis. Saya kira monotouch dan kompiler flash akan meninggalkan pola kode umum dari konversi yang dapat dipilih secara statistik dari kode yang dikompilasi.
PeteT
3
yup jika apel menggunakan beberapa proses otomatis mereka pasti akan menemukan pola konversi. Tetapi kebijakan ini berlaku tidak masuk akal. Maksud saya Obj-C menyebalkan bahasanya yang benar-benar agak kabur. Saya sangat suka apa yang ditawarkan MonoTouch.
Shoaib Shaikh
@ Shoaib Pasti setuju itu tidak masuk akal dan akan memindahkan banyak pengembang ke ponsel android dan windows yang dalam beberapa hal bagus untuk kompetisi.
PeteT
1

Jawaban singkat untuk semua gumpalan dalam perjanjian itu adalah YA .

Apple pada dasarnya menembak dirinya sendiri dengan membatasi program ke beberapa bahasa:

  • C - yang sebenarnya tidak cocok untuk pengembangan aplikasi akhir-akhir ini, karena sifatnya yang rendah. Ini sebagian besar bahasa pemrograman sistem hari ini.
  • C ++ - yang membuatnya lebih sulit untuk menembak ponsel Anda, tetapi ketika itu terjadi, itu dengan bazoka. Selain Qt, tidak ada kerangka kerja aplikasi lengkap untuk digunakan dalam C ++ (dan Qt belum mendukung iPhone - belum).
  • Objective-C - yang ditemukan oleh Apple dan tentu saja akan didukung.
  • JavaScript berjalan di WebKit - pada dasarnya aplikasi web.

Mereka sengaja membatasi alat apa yang dapat Anda gunakan untuk mengembangkan untuk iPhone, yang hampir pasti akan membuat mereka dalam masalah serius. Saya yakin sebagian besar komunitas hanya akan berhenti dari pengembangan iPhone dan bermigrasi ke platform yang berbeda seperti Windows Mobile, Symbian, Android atau Maemo, yang benar-benar terbuka - Anda bebas untuk menulis aplikasi Anda di LOLCODE.

Selain kemungkinan membuat sampah iPhone untuk pengembang, Adobe juga memberikan ciuman yang bagus: Apple sengaja memblokir Flash dari iPad, dan sekarang mereka juga memblokirnya dari iPhone. Angka adalah fitur CS5 Adobe Flash terbesar menyebarkan aplikasi Flash ke iPhone.

tl; dr: Apple pada dasarnya menembak dirinya sendiri dengan gerakan ini.

CMircea
sumber
Apple menembak dirinya sendiri sejak awal dan semua orang berkata, "Apple hancur karena arsitektur yang tertutup." Ternyata menembak diri sendiri - seperti yang dikatakan oleh karyawan-konsultan-kepada Anda - seringkali merupakan strategi yang baik.
Dan Rosenstark
Ya, terus menahan nafas Anda untuk potongan komunitas berukuran baik untuk keluar dari pengembangan iPhone!
kirk.burleson
Objective-C tidak benar-benar ditemukan oleh Apple, itu hanya diadopsi seperti LLVM dan bagian yang sama dari BSD :)
Emil Marashliev
1

Sekarang berbulan-bulan setelah bencana kilat dan cukup jelas Monotouch dan Unity baik-baik saja.

Sesuai "Aplikasi yang menautkan ke API yang Didokumentasi melalui terjemahan perantara atau lapisan atau alat kompatibilitas dilarang"

Monotouch mengkompilasi kode ke biner asli, tidak ada "lapisan". Mereka mengacu pada sesuatu seperti. NET runtime, Java JVM atau Flash runtime.

Doobi
sumber
Dikatakan tentang API yang Didokumentasikan. Jadi, saya pikir itu tidak masalah jika Anda mengkompilasi ke perpustakaan asli atau tidak
vodkhang
Intinya, keinginan bahwa Anda perlu membeli Mac untuk dikembangkan untuk iPhone. Ini berlaku tidak hanya untuk Java dan Flash, tetapi juga untuk mono, karena mono memungkinkan Anda untuk mengembangkan di komputer windows / Linux. Tetapi tidak seperti Java atau Flash, mono mungkin tidak banyak digunakan, jadi mereka belum peduli.
Stefan Steiger
1

Aplikasi Mono biasanya akan dikompilasi ke bytecode yang dan akan membutuhkan kompilasi JIT (tepat waktu) untuk menjalankannya sehingga diperlukan kerangka kerja .Net atau kerangka kerja Mono. Namun, dalam kasus iOS dan Android, aplikasi Mono mengkompilasi ke kode asli. Karena itu, di mata Apple, tidak ada lapisan ketiga , Apple tidak akan pernah melarang Mono. Jadi Anda dapat merasa bebas untuk mengembangkan dengan MonoTouch dan mendistribusikan aplikasi Anda. Untuk memastikan Anda lebih lanjut, ada berbagai aplikasi Mono (termasuk game dan aplikasi) di AppStore yang telah ada sejak lama.

Peyman
sumber