В недавнем посте Джона Грубера отмечается, что следующие легальны:
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?
источник
Ответы:
Обновить -
Да, теперь из их лицензионного соглашения довольно ясно видно, что если исходное приложение написано на C #, то это будет нарушать лицензию:
Они даже вбивают это немного дальше:
Вроде облом, MonoTouch и конвертер Flash CS5 -> iPhone очень крутые.
источник
Обновить:
Apple отменила (почти) все технические требования к языкам и библиотекам для iOS, поэтому MonoTouch, без сомнения, является жизнеспособным решением. Смотрите объявление Apple .
Большинство людей здесь просто хотят взять документ Apple словом и сказать «да, его запретили». Что ж, вот моя точка зрения: на данный момент никто на самом деле не имеет ни малейшего представления, будет ли MonoTouch запрещен или нет, и я объясню почему:
В соглашении Apple версии 3 (не самой последней, предыдущей) четко указано, что использование любых других платформ для разработки приложений, отличных от предоставленных Apple, незаконно:
Несмотря на то, что это так (и это было на самом деле начиная с версии 2.x, у Apple нет проблем с принятием приложений, которые делают именно это. Например, ВСЕ игры EA используют скрипты Lua, а многие и многие используют внешние библиотеки, которые не являются родными для iPhone. Даже когда у iPhone есть те нативные API, у Apple никогда не возникало проблем с принятием приложений с различными его версиями, такими как SQLite.
Моя точка зрения заключается в том, что сказать «ДА, их забанят» прямо сейчас просто ОЧЕНЬ рано. На данный момент ясно, что Apple может использовать это для запрета приложений. Точно так же, как они принимают Приложения сегодня, которые противоречат некоторым их правилам, они, вероятно, продолжат делать это.
Также существует тот факт, что в магазине в настоящее время работают сотни (или, возможно, несколько тысяч?) Приложений, и Apple нужно будет принимать обновления для этих приложений. Основные приложения с миллионами продаж были созданы с использованием Mono (и Lua), и я сомневаюсь, что они возместят каждому пользователю.
Наконец, корпоративные приложения развертываются на iPhone без одобрения Apple, и это большой рынок, на котором работает MonoTouch (я сам разрабатываю корпоративные приложения). На данный момент Apple никак не может запретить MonoTouch для этих приложений, и этого, вероятно, будет достаточно, чтобы MonoTouch долго оставался в живых.
источник
Обновить:
Новые изменения в разделах 3.3.1, 3.3.2 и 3.3.9 сделали MonoTouch (и все другие кросс-компиляторы / языки / и т. Д.) Совершенно приемлемыми для iPhone. Посмотреть объявление Apple
Мигель , похоже, так не считает. Смотрите твит и ответ Мигеля . Давайте не будем слишком остро реагировать и говорить, что Monotouch мертв, или прекратить разработку с Monotouch до тех пор, пока все вовлеченные стороны не сделают некоторые разъяснения.
Это сказало, что я определенно начал бы нагревать Apple для такой драконовской политики развития. Такие вещи и туманный процесс, который является политикой одобрения приложений для iphone / ipad / touch, должны вселить страх в сердца разработчиков. Что дальше, в их лицензии указано, что единственной рекламной платформой, которую вы можете использовать, является iAd? Не разрешаете распространение бесплатных приложений без iAd? Медленно поднимаете долю Apple в доходах от продаж приложений? Как разработчики в закрытой экосистеме, мы как лягушки в кастрюле с горячей водой, и Apple медленно нагревает. Сейчас самое время изучить другие мобильные платформы, потому что по мере их улучшения главное, что удерживает людей на платформе Apple, - это отсутствие приложений на других платформах.
источник
Я потратил месяцы вечеров, работая над идеями для приложения для iPhone в Objective C. Моя дневная работа - C #. Я скачал MonoTouch C #, когда он стал жизнеспособной альтернативой, и только что потратил 3 месяца на преобразование своего кода в iPhone MonoTouch C #. Что помешало мне сойти с ума из-за перехода с C # / Objective C.
Что мне теперь делать, выбросить все и начать заново или сдаться!?!
Мне очень жаль парней из Моно. Это совершенно неправильно. Одно дело остановить Adobe, которая еще не запустила свой продукт и у которого нет клиентов, и остановить MonoTouch, который сделал это, а также одобрил продукт в AppStore.
Зачем кому-то хотеть строить бизнес и инвестировать в Apple, когда они заберут все это в считанные минуты, не будучи ответственными или сомнительными?
Очевидно, что разработчики и клиенты Apple заботятся о них и их продуктах - это улица с односторонним движением.
источник
Я надеюсь, что Apple столкнется с этой нелепой политикой. Высокомерие не привлекательно и вообще плохо для бизнеса. Это одна из причин, по которой я не начал разработку iPhone.
Большинство поставщиков оборудования и ОС рады иметь дополнительные инструменты и аудиторию для записи на свою платформу. Apple придерживается позиции, что ее (мозговой мертвец) инструменты - единственная игра в городе.
Реклама «Большого брата» 1984 года становится все более актуальной ...
РЕДАКТИРОВАТЬ
То, как это написано, также подразумевает, что если я написал .net для объективного переводчика C / apple, то этот код не будет приемлемым, потому что исходный код не был объективным c. Это смешно (и неосуществимо.)
источник
Единство также основывается на Mono, и, поскольку это значительный коммерческий продукт, я думаю, что это проблема, которую мы еще не слышали до конца.
Запрет всех приложений, которые не написаны на Obj-C / C ++, теоретически запретит также все игры Unity, которых в магазине приложений уже много.
Этот вопрос также задавался на сайте Unity Ответы, и их официальный ответ:
Интересно посмотреть, что им скажет Apple.
Дело в том, конечно, говоря, что приложение должно быть написано на определенном языке, немного ошибочна, так как после компиляции приложение всегда является собственным двоичным файлом независимо от того, как оно было построено. Я предполагаю, что все, что они могут искать, это какая-то подпись в двоичном файле, чтобы определить, с каким инструментом она была построена. Неправильный подход.
РЕДАКТИРОВАТЬ: есть интересный обзор ситуации в этом блоге: monotouch теперь мертв в воде, что означает яблоки новое соглашение для разработчиков iphone
источник
В новом лицензионном соглашении об этом четко сказано. Так что ДА, это будет запрещено.
Совет, если вы хотите действительно разрабатывать для iPhone, попробуйте XCode. Если вы уже знакомы с Java или C # или еще лучше C ++, то изучение Objective-C не будет таким сложным.
iPhone / iPad - это новый успешный бизнес Apple, и они сделают все, чтобы этот бизнес рос, возможно, они не будут запрещать приложения Monotouch сейчас, но кто знает, что будет дальше? Так что, если вы действительно действительно заинтересованы в разработке для iPhone, а не в кошмарах, ваша работа может быть просто отклонена. Просто переключитесь на XCode, по крайней мере, это снизит процент отклонения вашего приложения. Отсюда мой совет.
источник
Я думаю, что мотивация Apple должна быть решительной.
Я согласен с другими мнениями, опубликованными в сети, о том, что Apple пытается предотвратить коммодитизацию приложений, то есть все больше и больше приложений пишутся с использованием каркасов, которые генерируют приложения, которые могут работать на нескольких устройствах.
Но это не то, что Monotouch. Monotouch - это все об использовании фреймворков Apple для написания приложений - но только через Mono, а не Objective-C. Так что с этой точки зрения то, что делает Monotouch, не должно беспокоить Apple.
Я по-прежнему считаю, что разработчикам лучше писать на родном языке платформы, которую они используют, поскольку в целом дела обстоят лучше, если вы не представляете систему, которая может иметь несоответствие абстракционного импеданса - все каркасы Cocoa были созданы для использования из Objective-C, и они имеют больше смысла, когда вы привыкли к философии Objective-C. Но я очень надеюсь, что Apple перейдет на сторону использования MonoTouch.
источник
Все, что Apple говорит, это то, что теперь вы все должны использовать языки 1980-х годов, чтобы развивать своих конкурентов, опережая современные мобильные приложения ....
Имеет смысл. Похоже, выигрышная стратегия для меня.
Это также мешает вам использовать любые сторонние библиотеки, которые вы не можете гарантировать, которые были разработаны на прямом C, C ++ или Objective C.
Таким образом, в основном это означает, что вы не можете купить в API игр, таких как Unity.
источник
Просто добавляю мои 2 цента. Кажется, что после прочтения этой части: (например, приложения, которые ссылаются на документированные API через промежуточный перевод или уровень совместимости или инструмент, запрещены), обсуждать нечего. Они выразили их однозначно. Они не только запрещают MonoTouch и Unity3d, но и запрещают Titanium Framework . Тем не менее, после прочтения этого статьи, я оказался в замешательстве. Я не знаком с законами США, но законно ли это? Я имею в виду, не нарушают ли они некоторые антимонопольные законы?
Помимо всего этого, я не могу понять их мотивацию. Я думаю, они не только частично потеряют интерес разработчиков, но и потеряют уважение разработчиков.
источник
На сегодняшний день Раздел 3.3.1 Лицензии на Программу Разработчика Apple iOS теперь возвращен к старому тексту:
Apple выпустила официальное заявление об изменениях лицензии.
Это указывает на то, что теперь разрешено использовать MonoTouch.
источник
Одной из целей команды Mono является перенос Silverlight на iPhone с помощью MonoTouch / Moonlight для кроссплатформенной разработки. Это немного похоже на портирование Flash на iPhone. Существует также Monodroid, который помогает нам портировать приложения, и, знаете, Apple запускает amonk каждый раз, когда кто-то говорит «Android» :-) ИМХО, если Apple нацеливается на Adobe с новым соглашением, они тоже нацелены на Novel. Мы, вероятно, спекулируем, и есть NDA, но многие из нас потратили много времени на эту платформу, поэтому нам нужно прояснить ситуацию. Мы не можем ждать следующего лета, чтобы обсудить этот вопрос. Например, друг попросил меня помочь его компании создать прототип приложения MonoTouch для клиента. Влияет ли новое соглашение только на распространение App Store? А как насчет внутренней дистрибуции?
источник
В этой электронной таблице Google есть длинный список приложений, которые будут затронуты новым соглашением. Некоторые заметные, которые были # 1 в AppStore в своей категории:
Одним из забавных включений является история игрушек.
источник
o Многие приложения были приняты в течение последних нескольких дней, написанных с помощью monotouch и unity, тогда как я также использую их так же, как obj-c, с момента анонса и изменения в соглашении, так что GO FIGURE, ... хорошая на ум приходит О'ВТФ Кажется, это биполярная копилка.
ТАКЖЕ, последняя игра Unity GiantMOTO, которая находится в разделе HOT NEW GAMES - YESTERDAY, имеет на своем экране-заставке большие буквы POWERED BY UNITY. Таким образом, все предположения, предположения и т. Д. Действительно выходят за рамки. Это может сказать все, что в новой версии, это, безусловно, не применяется. И montouch является единственной платформой для разработки, которая ПОЛНОСТЬЮ предоставляет iPhone API и ПОЛНОСТЬЮ встраивает в obj-c, используя XCode.
источник
Из того, что говорится в лицензионном соглашении, приложения MonoTouch явно не будут допущены в AppStore.
Тем не менее, более интересный вопрос: против каких фреймворков / приложений они будут применять его? Они также должны будут написать автоматические тесты, чтобы проверить, были ли приложения написаны изначально или нет, потому что люди, которые одобряют приложения, не будут иметь времени / навыков, чтобы делать это для каждого отдельного приложения. Эти приложения не будут помещать стикер «Использование MonoTouch / Flash».
источник
Короткий ответ на все эти пятна в соглашении - ДА .
Apple в основном стреляет в ногу, ограничивая программы несколькими языками:
Они намеренно ограничивают инструменты, которые вы можете использовать для разработки для iPhone, что почти наверняка доставит им серьезные неприятности. Я уверен, что значительная часть сообщества просто прекратит разработку iPhone и перейдет на другую платформу, такую как Windows Mobile, Symbian, Android или Maemo, которые полностью открыты - вы можете написать свое приложение в LOLCODE.
Помимо возможного создания ненужного iPhone для разработчиков, он также дает Adobe приятный поцелуй: Apple намеренно блокирует Flash с iPad, а теперь они также блокируют его с iPhone. Nummer - самая большая особенность Adobe Flash CS5 - развертывание Flash-приложений на iPhone.
tl; dr: Apple в основном стреляет себе в ногу этим ходом.
источник
Прошло уже несколько месяцев после разгрома флэш-памяти, и вполне очевидно, что с Monotouch и Unity все в порядке.
Согласно «Запрещены приложения, которые ссылаются на документированные API через промежуточный перевод или уровень совместимости или инструмент»
Monotouch компилирует код в собственный двоичный файл, «слоя» нет. Они имеют в виду нечто вроде среды выполнения .NET, Java JVM или среды выполнения Flash.
источник
Моно-приложения обычно компилируются в байт-код, который требуется и требует JIT-компиляции (как раз вовремя) для их запуска, поэтому требуются .Net-фреймворк или Mono-фреймворк. Однако в случае iOS и Android приложение Mono компилируется в собственный код. Поэтому в глазах Apple третьего слоя нет , Apple никогда не запретит Mono. Так что вы можете свободно разрабатывать с MonoTouch и распространять свои приложения. Чтобы быть уверенным в этом, в App Store есть различные приложения Mono (включая игры и приложения), которые существуют уже давно.
источник