У меня возникли проблемы с созданием ANE для использования с приложением iOS. Мне удалось создать базовый ANE, который регистрирует строку. Однако, когда я пытаюсь упаковать с ним фреймворки (в частности, базовые фреймворки Firebase), у меня возникают проблемы.
Я успешно создал статическую библиотеку iOS (файл .a), убедившись, что фреймворки связаны. И успешно скомпилировал часть расширения ActionScript (как для iOS, так и для реализации по умолчанию).
Что расстраивает, так это то, что мне даже удалось успешно упаковать файл .ane. Однако, когда я включаю его в сборку своего приложения в Adobe Animate/Flash, я получаю, казалось бы, бесполезное сообщение об ошибке при публикации ipa:
«Adobe Animate неверный ввод»
Кажется, что что-то не так с тем, как я упаковываю фреймворки, поскольку их удаление из ane приводит к тому, что приложение публикуется без проблем.
Файл iOS platform.xml, который я использую, имеет содержимое:
<?xml version="1.0" encoding="utf-8" ?>
<platform xmlns="http://ns.adobe.com/air/extension/3.5">
<sdkVersion>9.3.0</sdkVersion>
<linkerOptions>
<option>-ios_version_min 7.0</option>
<option>-rpath @executable_path/Frameworks</option>
</linkerOptions>
<packagedDependencies>
<packagedDependency>Frameworks/FirebaseAnalytics.framework</packagedDependency>
<packagedDependency>Frameworks/FirebaseInstanceID.framework</packagedDependency>
<packagedDependency>Frameworks/GoogleInterchangeUtilities.framework</packagedDependency>
<packagedDependency>Frameworks/GoogleSymbolUtilities.framework</packagedDependency>
<packagedDependency>Frameworks/GoogleUtilities.framework</packagedDependency>
</packagedDependencies>
</platform>
Моя структура папок для упаковки ане:
- extension.xml
- platform.xml
- Extension.swc
+ default
- library.swf
+ ios
- library.swf
- libExtension.a
+ Frameworks
- FirebaseAnalytics.framework
- FirebaseInstanceID.framework
- GoogleInterchangeUtilities.framework
- GoogleSymbolUtilities.framework
- GoogleUtilities.framework
И команда, которую я использую для создания ане (добавлены новые строки для удобочитаемости):
$ adt -package -target ane Extension.ane extension.xml -swc Extension.swc
-platform iPhone-ARM -platformoptions platform.xml
Frameworks/FirebaseAnalytics.framework
Frameworks/FirebaseInstanceID.framework
Frameworks/GoogleInterchangeUtilities.framework
Frameworks/GoogleSymbolUtilities.framework
Frameworks/GoogleUtilities.framework
-C ios/ . -platform default -C default/ .
Может ли кто-нибудь увидеть что-нибудь, что я делаю неправильно здесь? Учебники и документация Adobe довольно скудны в отношении упаковки сторонних зависимостей, и я не смог найти каких-либо четких примеров того, как это сделать.
Я пытался использовать Flex sdk версий 4.6.0 (поставляется с Flash Builder 4.7) и 4.15.0 (загружается непосредственно с сайта Apache). Использование Air SDK версии 22.0.0.153.