Ошибка игры Haxe/NME на устройствах iOS после обновления версии AIR

Итак, я унаследовал игровой проект со следующей настройкой:

  • Основной SWF-файл самой игры, написанный на Haxe (3.0)/NME (4.0.2) с использованием инфраструктуры Starling, скомпилированный с целью Flash с использованием FlashDevelop
  • Оболочка AS3, которая отвечает различным потребностям связи с устройством (например, обнаружение возможностей устройства, управление состоянием блокировки телефона и приостановка игры / отключение звука и т. Д.). Это скомпилировано в собственный SWF (AIR 3.6), который фактически запускается, а затем загружает "основной" SWF и добавляет его на сцену.
  • Этот ASF SWF впоследствии упаковывается в целевые форматы (APK/IPA) с использованием ADT (также AIR 3.6) вместе с его активами (включая основной SWF).

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

Перенесемся вперед на несколько месяцев; игра прошла бета-версию и готова к первоначальному выпуску. Андроид, все отлично идет. iOS, с другой стороны... Всего за несколько дней до того, как мы попытались загрузить 1.0 в iTunes Connect, Apple изменила их требования. Внезапно мы получили сообщение об ошибке: "Приложения и обновления приложений, представленные в App Store, должны быть собраны с общедоступными (GM) версиями Xcode 5.1.1 или более поздней версии и iOS 7 SDK или более поздней версии. Не отправляйте приложения, созданные с помощью бета-версии". программного обеспечения." Хорошо, ошибка, которая споткнулась многих разработчиков в сентябре. В конце концов, Adobe выпустила AIR 15 и упаковала IPA, что в очередной раз соответствовало требованиям Apple.

К сожалению, обновление до AIR 15 расстроило яблочную корзину. Теперь мы смогли загрузить IPA, но по иронии судьбы он не будет работать на устройствах iOS. Появляется экран загрузки (генерируемый чистым SWF-файлом AS3), но затем, когда должен появиться титульный экран (генерируемый базовым SWF-файлом), ничего не происходит. Черный экран, отсутствие активности или, альтернативно (при некоторых более поздних попытках), мгновенное исчезновение приложения без сообщений). Нет ошибок, генерируемых на консоли iOS, ничего плохого не происходит при переходе через приложение в FDB (вплоть до того момента, пока приложение не испарится и FDB не потеряет соединение с удаленным хостом).

Другая важная информация:

Я попытался обновить буквально каждый компонент, участвующий в процессе, различные обновления AIR 15 и 16 бета. Все из перечисленных хакелибов. Мы даже пытались перенести "базовый" проект (самым простым способом) на OpenFL. Все это привело к появлению версий, которые работают на Windows (на компьютере, а не на телефоне), работают на Android, но не работают на iOS.

Библиотеки Haxelib: Оригинал:

actuate: 1.6.4 [1.6.5]
air3: [0.0.1]
haxelib_client: [3.1.0-rc.3]
hxcpp: [3.0.2]
nme: [4.0.2]
openfl: [1.0.6]
openfl-tools: [1.0.10] 1.0.8
starling: [1.2.2]
swf: [1.0.2]

Очень вкусная еда:

actuate: 1.7.0 [1.7.5]
air3: [0.0.1]
haxelib_client: 3.1.0-rc.3 [3.1.0-rc.4]
hxcpp: 3.0.2 [3.1.39]
hxcs: [3.1.1]
lime: [2.0.0-alpha.4]
nme: [4.0.2] 5.1.8
openfl-compatibility: [1.0.1]
openfl-html5: [1.4.2-beta]
openfl-native: [1.4.0]
openfl-tools: [1.0.10]
openfl: 1.1.1 2.0.1 [2.1.2]
starling: [1.2.2]
swf: 1.0.2 [1.5.2]

tl; dr: Старая версия приложения AIR работает на iOS, но не может быть отправлена ​​в iTunes. Новая версия может быть отправлена, но не работает на iOS (что приводит к зависанию черного экрана или сбою)

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

0 ответов

Другие вопросы по тегам