AIR:第三方iOS本机扩展的链接器错误

AIR:第三方iOS本机扩展的链接器错误,ios,xcode4,air,flash-builder4.5,air-native-extension,Ios,Xcode4,Air,Flash Builder4.5,Air Native Extension,我目前正在尝试将.ane合并到我的iOS应用程序中。.ane是由第三方提供的,我没有它的来源 我已经将附带的.swc链接到我的项目()中,并成功地构建了.swf。我的问题始于使用adt构建.ipa进行部署。下面是我正在使用的模拟adt命令。您可以假设所有的内容都正确填写,因为我已经彻底检查了它们,并且构建运行了很长一段时间。也许有些美好的东西我错过了 adt -package -target ipa-ad-hoc -provisioning-profile <the-file> -s

我目前正在尝试将.ane合并到我的iOS应用程序中。.ane是由第三方提供的,我没有它的来源

我已经将附带的.swc链接到我的项目()中,并成功地构建了.swf。我的问题始于使用adt构建.ipa进行部署。下面是我正在使用的模拟adt命令。您可以假设所有的内容都正确填写,因为我已经彻底检查了它们,并且构建运行了很长一段时间。也许有些美好的东西我错过了

adt -package -target ipa-ad-hoc -provisioning-profile <the-file> -storetype <the-store-type> -storepass <the-password> -keystore <the-certificate> ./../myapp.ipa MyApp-app.xml MyApp.swf -extdir <path-to-ane-files>
这告诉我的是,第三方.ane正在尝试链接sqlite3库,而在adt过程中要构建底层Xcode项目的时候,找不到该库

我的设置如下:
Mac OSX Lion
Adobe Flash Builder 4.5 w/PHP
代码4.4.1 Flex 4.6.0(AIR 3.3)SDK

现在,sqlite3位于/usr/lib中,所以我知道它就在那里,实际上它可以是任何库。因为这是一个命令行AIR实用程序,我无法访问底层的Xcode项目(据我所知),所以我现在有点不知所措

我可能还应该注意到,我没有遇到任何其他(本地或其他)扩展的问题,但这很可能是因为它们几乎没有依赖关系


谢谢

好吧,我想这是我的设置中的一个问题,这个问题已经解决了。这就是我认为发生的事情:

  • 几天前我下载了Flex 4.6.0AIR3.3并安装了它。Adobe说它附带了一个内置的iOS版本(但我找不到),所以我假设它使用了/Developer/Platforms/iPhoneIS.platform per Snow Leopard和Xcode 3中的版本

  • 然后我升级到Lion,这样我就可以升级到Xcode 4,这样我就可以构建iOS 5了。Xcode 4现在是从应用商店安装的,所以我先从应用商店重新安装它

  • Xcode 4将SDK放在其应用程序包中,而不是放回/Developer/Platforms中。有可能“把地毯从下面拉出来”吗

不管怎么说,事情已经解决了,只需意识到SDK已经“消失”…哦,并意识到链接器所寻找的不是sqlite3.a,而是libsqlte3.dylib

这是modified adt命令,请注意-platformsdk开关的存在:

adt -package -target ipa-ad-hoc -provisioning-profile <the-file> -storetype <the-store-type> -storepass <the-password> -keystore <the-certificate> ./../myapp.ipa MyApp-app.xml -plaformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/<version> MyApp.swf -extdir <path-to-ane-files>
adt-package-target-ipa-ad-hoc-provisioning profile-storetype-storepass-keystore./../myapp.ipa-myapp-app.xml-plaformsdk/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/myapp.swf-extdir

:)

好吧,我想这是我设置的一个问题,这个问题已经解决了。这就是我认为发生的事情:

  • 几天前我下载了Flex 4.6.0AIR3.3并安装了它。Adobe说它附带了一个内置的iOS版本(但我找不到),所以我假设它使用了/Developer/Platforms/iPhoneIS.platform per Snow Leopard和Xcode 3中的版本

  • 然后我升级到Lion,这样我就可以升级到Xcode 4,这样我就可以构建iOS 5了。Xcode 4现在是从应用商店安装的,所以我先从应用商店重新安装它

  • Xcode 4将SDK放在其应用程序包中,而不是放回/Developer/Platforms中。有可能“把地毯从下面拉出来”吗

不管怎么说,事情已经解决了,只需意识到SDK已经“消失”…哦,并意识到链接器所寻找的不是sqlite3.a,而是libsqlte3.dylib

这是modified adt命令,请注意-platformsdk开关的存在:

adt -package -target ipa-ad-hoc -provisioning-profile <the-file> -storetype <the-store-type> -storepass <the-password> -keystore <the-certificate> ./../myapp.ipa MyApp-app.xml -plaformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/<version> MyApp.swf -extdir <path-to-ane-files>
adt-package-target-ipa-ad-hoc-provisioning profile-storetype-storepass-keystore./../myapp.ipa-myapp-app.xml-plaformsdk/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/myapp.swf-extdir
:)