我目前正在尝试将.ane合并到我的iOS应用程序中。.ane是由第三方提供的,我没有它的来源。
我已经将附带的.swc链接到我的项目(external linkage as recommended by both Adobe and the 3rd party)中,并成功构建了.swf。我的问题开始于使用adt构建.ipa进行部署。下面是我正在使用的模拟adt命令。你可以假设所有<>'d的东西都填好了,因为我已经详尽地检查了它们,并且构建运行了相当长的一段时间。
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>
一切都进展得很顺利,直到我收到下面的错误,我们突然停了下来:
ld: library not found for -lsqlite3
这告诉我第三方.ane正在尝试链接sqlite3库,而在构建底层Xcode项目的过程中,却找不到这个库。
我的设置如下:
Mac OSX Lion
Adobe Flash Builder 4.5,带PHP
Xcode 4.4.1 Flex 4.6.0 (AIR 3.3) SDK
现在,sqlite3位于/usr/lib中,所以我知道它就在那里,实际上它可以是任何库。因为这是一个命令行AIR实用程序,所以我不能访问底层的Xcode项目to just tell it where the library is (据我所知),所以我现在有点束手无策。
我可能还应该注意到,我没有遇到任何其他(自制或其他)扩展的问题,但这很可能是因为它们几乎没有依赖项。
谢谢!
发布于 2012-08-16 04:50:36
好的,我想这最终是我的设置的一个问题。By pointing the adt command to the version of the iOS SDK I was using explicitly,问题已经解决了。这就是我认为发生的事情:
无论如何,只要意识到SDK已经“消失”了,并且意识到sqlite3.a不是链接器要找的而是libsqlte3.dylib所要找的,就行了。
以下是修改后的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>
:)
https://stackoverflow.com/questions/11979819
复制