MonoTouch теперь запрещен на iPhone? [закрыто]

155

В недавнем посте Джона Грубера отмечается, что следующие легальны:

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

Был изменен следующим образом:

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

И делает следующее наблюдение:

Мое чтение этого нового языка заключается в том, что кросс-компиляторы, такие как компилятор Flash-to-iPhone в следующем выпуске Adobe Flash Professional CS5, запрещены. Это также запрещает приложения, скомпилированные с помощью MonoTouch - инструмента, который компилирует приложения C # и .NET для iPhone.

Это фактически запрещает использование Monotouch для IPhone?

Том Грин
источник
4
Интересно, где законно остаются Apple и существующие разработчики Monotouch? Что происходит с существующими приложениями Monotouch?
PeteT
2
@ petebob796: Вам нужно принять эту новую лицензию, если вы хотите добавить что-то новое в iTunes Connect, но я сомневаюсь, что они заберут вещи из магазина, которые были представлены ранее. Тем не менее, они / могут / применять это с новыми приложениями, которые не основаны на 4.0, но ранее не были отправлены. Но, как и все в App Store, нам просто нужно подождать и посмотреть!
Джейсон Коко
1
Видимо, это соглашение под NDA
Крис S
apple.com/pr/library/2010/09/09statement.html aaaaaaaaaathankyooooooooooo пусть начнется сумасшествие !!
2
По состоянию на 9.09.2010 это спорный вопрос. Apple расслабляет Правило 3.3.2 foxbusiness.com/markets/2010/09/09/…
Стив Митчам

Ответы:

88

Обновить -

Это изменилось недавно . MonoTouch больше не должен противоречить соглашению. Любые утверждения ниже являются чисто историческими!

Да, теперь из их лицензионного соглашения довольно ясно видно, что если исходное приложение написано на C #, то это будет нарушать лицензию:

... Приложения должны быть изначально написаны на Objective-C, C, C ++ или JavaScript, как они выполняются с помощью движка iPhone OS WebKit ...

Они даже вбивают это немного дальше:

Приложения, которые ссылаются на документированные API через промежуточный перевод или уровень совместимости или инструмент, запрещены

Вроде облом, MonoTouch и конвертер Flash CS5 -> iPhone очень крутые.

Лэнс Макнирни
источник
7
однако, смотрите twitter.com/migueldeicaza/status/11844609073, используя его, как они будут отличать приложение MonoTouch от нативного?
Маурисио Шеффер
9
Яблоко снова да Вселился в нас с замечательным устройством, чистым графическим интерфейсом, приятным сенсорным интерфейсом ... но ... остановил нас в разработке чего-либо для него, если у нас нет Mac, остановил нас в разработке чего-либо для него, если это не объект C / C / C ++. Я имею в виду, что бы мы все подумали, если бы Майкрософт пришел и сказал: «Нет - не могу ничего разрабатывать в Windows, если это не в C - нет, вы больше не можете использовать .NET Framework».
Питер
33
Это не имеет смысла для меня. Согласно этому соглашению, если вы написали приложение во Flash, а затем вручную перевели его в Objective-C, это звучит так, как если бы оно нарушало соглашение (поскольку оно не было «изначально написано» в Objective-C).
Майкл Майерс
3
@John: я думаю, что они меньше «запрещают» нативные приложения - это скорее то, что API их новой ОС вращается вокруг Silverlight / XNA, и это поддерживаемый способ сделать что-то. Я не видел ничего, что могло бы гарантировать, что вы не можете написать Java (или любой другой язык) для компилятора Silverlight в лицензионных соглашениях Microsoft (пока).
Рон Уорхолик
3
Пока все это не произошло, наш продукт в разработке должен был быть только для iPhone / iPad (который заботится об Android и т. Д.) И в MonoTouch. Теперь мы пересмотрели и теперь будем Obj-C, как требуется, но мы также будем уверены, что поддержка Android и WinPhone будет доступна и в первый день. Бизнес не может себе позволить неопределенность поведения, и поэтому Apple сделала противоположное тому, что они хотели - заставили разработчиков искать кроссплатформенные решения вместо только Apple. Отлично сработано.
mj2008
49

Обновить:

Apple отменила (почти) все технические требования к языкам и библиотекам для iOS, поэтому MonoTouch, без сомнения, является жизнеспособным решением. Смотрите объявление Apple .


Большинство людей здесь просто хотят взять документ Apple словом и сказать «да, его запретили». Что ж, вот моя точка зрения: на данный момент никто на самом деле не имеет ни малейшего представления, будет ли MonoTouch запрещен или нет, и я объясню почему:

В соглашении Apple версии 3 (не самой последней, предыдущей) четко указано, что использование любых других платформ для разработки приложений, отличных от предоставленных Apple, незаконно:

3.3.2 Приложение не может само устанавливать или запускать другой исполняемый код любыми способами, включая, помимо прочего, использование подключаемой архитектуры, вызов других платформ, других API или иным образом. Никакой интерпретированный код не может быть загружен или использован в Приложении, за исключением кода, который интерпретируется и выполняется Документально оформленными API-интерфейсами Apple и встроенными интерпретаторами. http://adcdownload.apple.com/iphone/iphone_sdk_3.2__final/iphone_sdk_agreement.pdf

Несмотря на то, что это так (и это было на самом деле начиная с версии 2.x, у Apple нет проблем с принятием приложений, которые делают именно это. Например, ВСЕ игры EA используют скрипты Lua, а многие и многие используют внешние библиотеки, которые не являются родными для iPhone. Даже когда у iPhone есть те нативные API, у Apple никогда не возникало проблем с принятием приложений с различными его версиями, такими как SQLite.

Моя точка зрения заключается в том, что сказать «ДА, их забанят» прямо сейчас просто ОЧЕНЬ рано. На данный момент ясно, что Apple может использовать это для запрета приложений. Точно так же, как они принимают Приложения сегодня, которые противоречат некоторым их правилам, они, вероятно, продолжат делать это.

Также существует тот факт, что в магазине в настоящее время работают сотни (или, возможно, несколько тысяч?) Приложений, и Apple нужно будет принимать обновления для этих приложений. Основные приложения с миллионами продаж были созданы с использованием Mono (и Lua), и я сомневаюсь, что они возместят каждому пользователю.

Наконец, корпоративные приложения развертываются на iPhone без одобрения Apple, и это большой рынок, на котором работает MonoTouch (я сам разрабатываю корпоративные приложения). На данный момент Apple никак не может запретить MonoTouch для этих приложений, и этого, вероятно, будет достаточно, чтобы MonoTouch долго оставался в живых.

Эдуардо Скос
источник
Я в целом согласен с вами, за исключением последней части - Apple может легко сказать, что будущие обновления существующих приложений должны быть перенесены на родной Objective-C.
Кендалл Хельмштеттер Гелнер
Ну, даже если приложения перенесены в Obj-C, они изначально были написаны на другом языке, так что технически они все равно были бы нелегальными, я думаю ... Вот почему эти правила не имеют никакого смысла. Вероятно, они прояснят это в следующей редакции, перед финальным выпуском 4.0.
Эдуардо Скос
3
Предыдущий язык вообще не запрещал фреймворки. В нем четко сказано, что он запретил запуск исполняемого кода, и перечисляет фреймворки в качестве одного из примеров того, как это можно сделать. Язык, который вы разместили, не влияет на монотипные приложения, приложения Flash или любой другой предварительно скомпилированный двоичный файл, который не пытается интерпретировать во время выполнения.
Феномас
27

Обновить:

Новые изменения в разделах 3.3.1, 3.3.2 и 3.3.9 сделали MonoTouch (и все другие кросс-компиляторы / языки / и т. Д.) Совершенно приемлемыми для iPhone. Посмотреть объявление Apple


Мигель , похоже, так не считает. Смотрите твит и ответ Мигеля . Давайте не будем слишком остро реагировать и говорить, что Monotouch мертв, или прекратить разработку с Monotouch до тех пор, пока все вовлеченные стороны не сделают некоторые разъяснения.

Это сказало, что я определенно начал бы нагревать Apple для такой драконовской политики развития. Такие вещи и туманный процесс, который является политикой одобрения приложений для iphone / ipad / touch, должны вселить страх в сердца разработчиков. Что дальше, в их лицензии указано, что единственной рекламной платформой, которую вы можете использовать, является iAd? Не разрешаете распространение бесплатных приложений без iAd? Медленно поднимаете долю Apple в доходах от продаж приложений? Как разработчики в закрытой экосистеме, мы как лягушки в кастрюле с горячей водой, и Apple медленно нагревает. Сейчас самое время изучить другие мобильные платформы, потому что по мере их улучшения главное, что удерживает людей на платформе Apple, - это отсутствие приложений на других платформах.

Крис Эриксон
источник
4
+1 (особенно за «исследование других платформ»)
Тим
2
+1, хотя я ожидал большего от тех ссылок. "Нет" не очень говорит, не так ли? Микроблоггинг - это бич.
Дэн Розенстарк
Иди исследуй, я придерживаюсь Apple. У меня есть 2 Mac и лицензия разработчика, которую я с удовольствием продлю в этом году, чтобы продолжить разработку. Любите это или оставьте это, но перестаньте плакать об этом. И просто иди купить Mac уже ...
kirk.burleson
10

Я потратил месяцы вечеров, работая над идеями для приложения для iPhone в Objective C. Моя дневная работа - C #. Я скачал MonoTouch C #, когда он стал жизнеспособной альтернативой, и только что потратил 3 месяца на преобразование своего кода в iPhone MonoTouch C #. Что помешало мне сойти с ума из-за перехода с C # / Objective C.

Что мне теперь делать, выбросить все и начать заново или сдаться!?!

Мне очень жаль парней из Моно. Это совершенно неправильно. Одно дело остановить Adobe, которая еще не запустила свой продукт и у которого нет клиентов, и остановить MonoTouch, который сделал это, а также одобрил продукт в AppStore.

Зачем кому-то хотеть строить бизнес и инвестировать в Apple, когда они заберут все это в считанные минуты, не будучи ответственными или сомнительными?

Очевидно, что разработчики и клиенты Apple заботятся о них и их продуктах - это улица с односторонним движением.

AnthonyLambert
источник
Monotouch не имеет одобренного продукта в магазине приложений - в магазине приложений есть много приложений, написанных с использованием Mono. Существует большая разница в том, что есть множество приложений, которые нужно рассмотреть вместо одного.
Кендалл Хельмштеттер Гелнер
@ Кендалл Хельмштеттер Гелнер: Вы не правы. В магазине приложений есть приложения MonoTouch.
Тим Скотт
4
@ Тим Скотт, он говорит ... забудь об этом.
Дэн Розенстарк
1
Вы должны учитывать, сколько времени разработки Adobe вложило бы в свой компилятор iPhone. Apple позволила им идти по этому пути, зная, что это произойдет больше года, и в последний момент забрала его. Они стоили им миллионы времени на разработку и потеряли продажи.
PeteT
@Tim: И сколько из этих приложений было разработано людьми Monotouch? Прочитайте, что я сказал снова. @yar: Спасибо за попытку объяснить.
Кендалл Хельмштеттер Гелнер
9

Я надеюсь, что Apple столкнется с этой нелепой политикой. Высокомерие не привлекательно и вообще плохо для бизнеса. Это одна из причин, по которой я не начал разработку iPhone.

Большинство поставщиков оборудования и ОС рады иметь дополнительные инструменты и аудиторию для записи на свою платформу. Apple придерживается позиции, что ее (мозговой мертвец) инструменты - единственная игра в городе.

Реклама «Большого брата» 1984 года становится все более актуальной ...

РЕДАКТИРОВАТЬ

То, как это написано, также подразумевает, что если я написал .net для объективного переводчика C / apple, то этот код не будет приемлемым, потому что исходный код не был объективным c. Это смешно (и неосуществимо.)

Тим
источник
2
Что за высокомерная часть? Как вы думаете, они делают это, потому что они думают, что их код чище, или что-то?
бпапа
3
Вы говорите, что это не высокомерно?
Тим
4
@bpapa Высокомерие не ограничивается техническими проблемами - оно также охватывает бизнес взгляды. Они высокомерны в том, что думают, что могут сойти с рук, и что это приемлемое поведение. То, что это может быть «бизнес-стратегией», не означает, что вас освобождают от называния глупым и высокомерным.
Тим
3
На самом деле им это «сойдет с рук», потому что устройства iPhone OS будут и впредь иметь огромные успехи, и разработчики будут продолжать развиваться для этого, и новые разработчики присоединятся к нему. Я сделал выбор пару лет назад, я мог сидеть и плакать о том, что я не могу заниматься разработкой Java на iPhone, или я мог изучать Cocoa Touch и создавать приложения для iPhone. Не жалей о моем решении.
БПапа
5
@ Бен Хм, нет - это важно, потому что Apple - это старший брат ... Это называется ирония.
Тим
7

Единство также основывается на Mono, и, поскольку это значительный коммерческий продукт, я думаю, что это проблема, которую мы еще не слышали до конца.

Запрет всех приложений, которые не написаны на Obj-C / C ++, теоретически запретит также все игры Unity, которых в магазине приложений уже много.

Этот вопрос также задавался на сайте Unity Ответы, и их официальный ответ:

«Мы только что услышали об iPhone OS4.0 и новых Условиях предоставления услуг. Хотя мы считаем, что мы полностью согласны с ними, мы сейчас делаем все возможное, чтобы Apple это проверила. Как только мы точно узнаем, мы, конечно, поделимся этой информацией со всеми. Пожалуйста, держитесь подальше, пока мы разглашаем это ".

Интересно посмотреть, что им скажет Apple.

Дело в том, конечно, говоря, что приложение должно быть написано на определенном языке, немного ошибочна, так как после компиляции приложение всегда является собственным двоичным файлом независимо от того, как оно было построено. Я предполагаю, что все, что они могут искать, это какая-то подпись в двоичном файле, чтобы определить, с каким инструментом она была построена. Неправильный подход.

РЕДАКТИРОВАТЬ: есть интересный обзор ситуации в этом блоге: monotouch теперь мертв в воде, что означает яблоки новое соглашение для разработчиков iphone

Ира Рейни
источник
7

В новом лицензионном соглашении об этом четко сказано. Так что ДА, это будет запрещено.

Совет, если вы хотите действительно разрабатывать для iPhone, попробуйте XCode. Если вы уже знакомы с Java или C # или еще лучше C ++, то изучение Objective-C не будет таким сложным.

iPhone / iPad - это новый успешный бизнес Apple, и они сделают все, чтобы этот бизнес рос, возможно, они не будут запрещать приложения Monotouch сейчас, но кто знает, что будет дальше? Так что, если вы действительно действительно заинтересованы в разработке для iPhone, а не в кошмарах, ваша работа может быть просто отклонена. Просто переключитесь на XCode, по крайней мере, это снизит процент отклонения вашего приложения. Отсюда мой совет.

medopal
источник
18
Это не так сложно. Любой, кто использует monotouch, уже знает Objective C. Дело в том, что Objective C ужасно развивается по сравнению с современными языками.
Джеймс Мур
3
@jamesmoorecode: +1 это ужасно
abatishchev
1
Да, я потратил время на изучение Obj-c и всех API-интерфейсов Cocoa Touch, поэтому для меня не проблема написать нативное приложение так, как хочет Apple. Это просто то, почему я хотел бы сделать это, когда я мог бы использовать MonoTouch, чтобы сделать это намного быстрее и делиться «бизнес-логикой» (но не пользовательским интерфейсом) с WP7 и Silverlight для браузера и настольных приложений?
U62
4
Есть причина, по которой так много приложений регулярно ломаются в магазине приложений: цель-C. Даже громкие, такие как digg.com
Крис С
2
Сегодня утром я научился работать на поезде на работе - это не сложно - но воняет - это многословный, архаичный язык - я бы предпочел писать приложения для iPhone в T-SQL ASCII art.
6

Я думаю, что мотивация Apple должна быть решительной.

Я согласен с другими мнениями, опубликованными в сети, о том, что Apple пытается предотвратить коммодитизацию приложений, то есть все больше и больше приложений пишутся с использованием каркасов, которые генерируют приложения, которые могут работать на нескольких устройствах.

Но это не то, что Monotouch. Monotouch - это все об использовании фреймворков Apple для написания приложений - но только через Mono, а не Objective-C. Так что с этой точки зрения то, что делает Monotouch, не должно беспокоить Apple.

Я по-прежнему считаю, что разработчикам лучше писать на родном языке платформы, которую они используют, поскольку в целом дела обстоят лучше, если вы не представляете систему, которая может иметь несоответствие абстракционного импеданса - все каркасы Cocoa были созданы для использования из Objective-C, и они имеют больше смысла, когда вы привыкли к философии Objective-C. Но я очень надеюсь, что Apple перейдет на сторону использования MonoTouch.

Кендалл Хельмштеттер Гелнер
источник
1
Кто бы ни осудил мой рациональный анализ, он попадет в ад разработчика, просто чтобы сообщить вам (определение которого - писать мобильные приложения, ориентированные только на Windows Mobile 6.5 на всю вечность). Я имею в виду, спорь со мной, но почему понизить голосование по причине, по которой его нельзя было бы запретить? Почему бы не попытаться понять, что делает Apple, вместо того, чтобы просто присоединиться к бригаде вил и факелов, когда зажжен первый факел?
Кендалл Хельмштеттер Гелнер
Согласился Кендал, +1 за баланс.
si618
+1 Разумный аргумент
Билл
1
+1 за неудачника и его отличающееся мнение. Каждый раз, когда я выступаю против групповой массы, мне кажется, что я голосую, пока меня не заставят удалить этот пост.
kirk.burleson
5

Все, что Apple говорит, это то, что теперь вы все должны использовать языки 1980-х годов, чтобы развивать своих конкурентов, опережая современные мобильные приложения ....

Имеет смысл. Похоже, выигрышная стратегия для меня.

Это также мешает вам использовать любые сторонние библиотеки, которые вы не можете гарантировать, которые были разработаны на прямом C, C ++ или Objective C.

Таким образом, в основном это означает, что вы не можете купить в API игр, таких как Unity.

AnthonyLambert
источник
2
Что ж, учитывая, что smalltalk-80 опережает c # на дюжину лет ...
Стефан Эггермонт
как вы, несомненно, знаете, Objective C был в основном C с некоторыми расширениями SmallTalk.
Энтони Ламберт
4

Просто добавляю мои 2 цента. Кажется, что после прочтения этой части: (например, приложения, которые ссылаются на документированные API через промежуточный перевод или уровень совместимости или инструмент, запрещены), обсуждать нечего. Они выразили их однозначно. Они не только запрещают MonoTouch и Unity3d, но и запрещают Titanium Framework . Тем не менее, после прочтения этого статьи, я оказался в замешательстве. Я не знаком с законами США, но законно ли это? Я имею в виду, не нарушают ли они некоторые антимонопольные законы?

Помимо всего этого, я не могу понять их мотивацию. Я думаю, они не только частично потеряют интерес разработчиков, но и потеряют уважение разработчиков.

n535
источник
4

На сегодняшний день Раздел 3.3.1 Лицензии на Программу Разработчика Apple iOS теперь возвращен к старому тексту:

3.3.1 Приложения могут использовать документированные API только в порядке, установленном Apple, и не должны использовать или вызывать какие-либо частные API.

Apple выпустила официальное заявление об изменениях лицензии.

Это указывает на то, что теперь разрешено использовать MonoTouch.

Джефф
источник
+1 за включение актуального контента, а не просто ссылку или заявление.
Давидтбернал
3

Одной из целей команды Mono является перенос Silverlight на iPhone с помощью MonoTouch / Moonlight для кроссплатформенной разработки. Это немного похоже на портирование Flash на iPhone. Существует также Monodroid, который помогает нам портировать приложения, и, знаете, Apple запускает amonk каждый раз, когда кто-то говорит «Android» :-) ИМХО, если Apple нацеливается на Adobe с новым соглашением, они тоже нацелены на Novel. Мы, вероятно, спекулируем, и есть NDA, но многие из нас потратили много времени на эту платформу, поэтому нам нужно прояснить ситуацию. Мы не можем ждать следующего лета, чтобы обсудить этот вопрос. Например, друг попросил меня помочь его компании создать прототип приложения MonoTouch для клиента. Влияет ли новое соглашение только на распространение App Store? А как насчет внутренней дистрибуции?

Tajomaru
источник
почему Apple не общается с парнями из Mono и не заставляет их отказаться от поддержки Droid ...
AnthonyLambert
1
@tony, почему они отказались от поддержки гораздо более открытой платформы
PeteT
2

В этой электронной таблице Google есть длинный список приложений, которые будут затронуты новым соглашением. Некоторые заметные, которые были # 1 в AppStore в своей категории:

  • монопольный
  • Лимонад Магнат
  • Skee ball
  • Поселенцы
  • Zombieville

Одним из забавных включений является история игрушек.

Крис С
источник
1
Новое соглашение распространяется на все версии ОС, а не только 4.0.
Филипп Лейберт
Хороший вопрос, я забыл, что вы должны подписать новое соглашение на сайте
Крис S
2

o Многие приложения были приняты в течение последних нескольких дней, написанных с помощью monotouch и unity, тогда как я также использую их так же, как obj-c, с момента анонса и изменения в соглашении, так что GO FIGURE, ... хорошая на ум приходит О'ВТФ Кажется, это биполярная копилка.

ТАКЖЕ, последняя игра Unity GiantMOTO, которая находится в разделе HOT NEW GAMES - YESTERDAY, имеет на своем экране-заставке большие буквы POWERED BY UNITY. Таким образом, все предположения, предположения и т. Д. Действительно выходят за рамки. Это может сказать все, что в новой версии, это, безусловно, не применяется. И montouch является единственной платформой для разработки, которая ПОЛНОСТЬЮ предоставляет iPhone API и ПОЛНОСТЬЮ встраивает в obj-c, используя XCode.

Sebas
источник
1

Из того, что говорится в лицензионном соглашении, приложения MonoTouch явно не будут допущены в AppStore.

Тем не менее, более интересный вопрос: против каких фреймворков / приложений они будут применять его? Они также должны будут написать автоматические тесты, чтобы проверить, были ли приложения написаны изначально или нет, потому что люди, которые одобряют приложения, не будут иметь времени / навыков, чтобы делать это для каждого отдельного приложения. Эти приложения не будут помещать стикер «Использование MonoTouch / Flash».

МШ
источник
1
Я предполагаю, что это будет автоматизированный процесс. Я бы предположил, что monotouch и компилятор флэш-памяти оставят общие шаблоны кода от преобразования, которые могут быть статистически выбраны из скомпилированного кода.
PeteT
3
да, если Apple использует какой-то автоматизированный процесс, они, безусловно, найдут образец конверсии. Но такая политика от применения абсурдна. Я имею в виду, что Obj-C сосет свой действительно неясный язык. Мне действительно нравится то, что предлагает MonoTouch.
Шоаиб Шейх
@Shoaib Конечно, согласен, что это абсурдно, и многие разработчики переместятся на Android и Windows Phone, что в некотором смысле хорошо для конкуренции.
PeteT
1

Короткий ответ на все эти пятна в соглашении - ДА .

Apple в основном стреляет в ногу, ограничивая программы несколькими языками:

  • C - который в настоящее время не очень подходит для разработки приложений из-за его низкого уровня. Сегодня это в основном язык системного программирования.
  • C ++ - что затрудняет съемку вашего телефона, но когда это происходит, это с базуки. Кроме Qt, в C ++ нет никаких законченных каркасов приложений (и Qt пока не поддерживает iPhone).
  • Objective-C - который был изобретен Apple и, конечно, будет поддерживаться.
  • JavaScript работает в WebKit - в основном веб-приложение.

Они намеренно ограничивают инструменты, которые вы можете использовать для разработки для iPhone, что почти наверняка доставит им серьезные неприятности. Я уверен, что значительная часть сообщества просто прекратит разработку iPhone и перейдет на другую платформу, такую ​​как Windows Mobile, Symbian, Android или Maemo, которые полностью открыты - вы можете написать свое приложение в LOLCODE.

Помимо возможного создания ненужного iPhone для разработчиков, он также дает Adobe приятный поцелуй: Apple намеренно блокирует Flash с iPad, а теперь они также блокируют его с iPhone. Nummer - самая большая особенность Adobe Flash CS5 - развертывание Flash-приложений на iPhone.

tl; dr: Apple в основном стреляет себе в ногу этим ходом.

CMircea
источник
Во-первых, Apple застрелилась, и все говорили: «Apple обречена из-за закрытой архитектуры». Оказывается, стрельба в себя - как скажет вам любой сотрудник, ставший консультантом, - часто является хорошей стратегией.
Дэн Розенстарк
Да, продолжай затаить дыхание, чтобы этот большой кусок сообщества оставил разработку iPhone!
kirk.burleson
Objective-C на самом деле не изобретен Apple, он просто принят как LLVM и те же части BSD :)
Эмиль Марашлиев
1

Прошло уже несколько месяцев после разгрома флэш-памяти, и вполне очевидно, что с Monotouch и Unity все в порядке.

Согласно «Запрещены приложения, которые ссылаются на документированные API через промежуточный перевод или уровень совместимости или инструмент»

Monotouch компилирует код в собственный двоичный файл, «слоя» нет. Они имеют в виду нечто вроде среды выполнения .NET, Java JVM или среды выполнения Flash.

Doobi
источник
Это говорит о документированных API. Итак, я думаю, что не имеет значения, компилируете ли вы в нативную библиотеку или нет
vodkhang
Дело в том, что вы хотите купить Mac для разработки для iPhone. Это относится не только к Java и Flash, но и к моно, потому что моно позволяет вам работать на компьютере с Windows / Linux. Но, в отличие от Java или Flash, моно, вероятно, мало используется, поэтому им все равно.
Стефан Штайгер
1

Моно-приложения обычно компилируются в байт-код, который требуется и требует JIT-компиляции (как раз вовремя) для их запуска, поэтому требуются .Net-фреймворк или Mono-фреймворк. Однако в случае iOS и Android приложение Mono компилируется в собственный код. Поэтому в глазах Apple третьего слоя нет , Apple никогда не запретит Mono. Так что вы можете свободно разрабатывать с MonoTouch и распространять свои приложения. Чтобы быть уверенным в этом, в App Store есть различные приложения Mono (включая игры и приложения), которые существуют уже давно.

Пеймана
источник