Ich habe Probleme beim Erstellen eines ANE für die Verwendung mit einer iOS-App. Ich konnte einen einfachen ANE erstellen, der eine Zeichenfolge protokolliert. Es ist jedoch, wenn ich versuche, Frameworks (speziell die Firebase-Kern-Frameworks) damit zu verpacken, dass ich in Schwierigkeiten komme.Air Native Extension: iOS-Paketabhängigkeiten (Firebase)
Ich habe die statische iOS-Bibliothek (.a-Datei) erfolgreich erstellt, um sicherzustellen, dass die Frameworks verknüpft sind. Und die ActionScript-Seite der Erweiterung wurde erfolgreich kompiliert (sowohl die iOS- als auch die Standardimplementierung).
Was frustrierend ist, ist, dass es mir sogar gelungen ist, eine .ane-Datei zu packen. Jedoch, wenn ich es in der Build für meine Anwendung in Adobe Animate/Flash enthalten, erhalte ich eine scheinbar nutzlose Fehlermeldung bei der Veröffentlichung der IPV:
„Adobe Animate Invalid Input“
Es scheint, als ob es Etwas stimmt nicht mit der Art und Weise, wie ich die Frameworks paketiere, da das Entfernen der Apps aus der App dazu führt, dass die App ohne Probleme veröffentlicht wird.
Die iOS platform.xml Datei hat ich bin mit dem Inhalt:
<?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>
für meine Ordnerstruktur der ane Verpackung ist:
- 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
Und der Befehl, den ich erstellen bin mit die ane ist (neue Linien zur besseren Lesbarkeit hinzugefügt):
$ 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/ .
jemand etwas sehen Kann ich hier falsch mache? Die Tutorials und die Dokumentation von Adobe sind ziemlich schlecht in Bezug auf die Abhängigkeiten von Drittanbietern, und ich konnte keine klaren Beispiele dafür finden.
Ich habe versucht, Flex sdk Versionen 4.6.0 (kommt mit Flash Builder 4.7) und 4.15.0 (direkt von der Apache-Website heruntergeladen). Verwenden von Air sdk Version 22.0.0.153.