ios - AIR:第 3 方 iOS native 扩展的链接器错误

标签 ios xcode4 air flash-builder4.5 air-native-extension

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

我已将随附的 .swc 链接到我的项目 ( external linkage as recommended by both Adobe and the 3rd party ) 并成功构建了 .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>

一切都进展顺利,直到我收到以下错误,我们才戛然而止:

ld: library not found for -lsqlite3

这告诉我第 3 方 .ane 是 either by specifying through a -platformoptions xml file或者,尝试链接到 sqlite3 库,并且在要构建底层 Xcode 项目的 adt 进程中,找不到该库。

我的设置如下:
Mac OSX 雄狮
带 PHP 的 Adob​​e Flash Builder 4.5
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 , 所以我现在有点卡住了,没有想法。

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

谢谢!

最佳答案

好吧,我认为这最终成为我的设置问题。 By pointing the adt command to the version of the iOS SDK I was using explicitly ,问题已解决。这就是我认为发生的事情:

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

    <
  • 然后我升级到 Lion,这样我就可以升级到 Xcode 4,这样我就可以构建 iOS 5 的东西。 Xcode 4 现在是从 App Store 安装的,所以我先 fully remove Xcode然后从 App Store 重新安装。

  • Xcode 4 将 SDKS 放入其应用程序包中,而不是放回到/Developer/Platforms 中。可能会“从 Adob​​e 底下撤下地毯”?

无论如何,它已经解决了,只需要意识到 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>

:)

关于ios - AIR:第 3 方 iOS native 扩展的链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11979819/

相关文章:

iphone - 将项目移至 xcode 4 会出现“Apple Mach-O Linker (Id) Error”

android - “Android 版 Flash”与 'AIR for Android' - 差异?

actionscript-3 - 在AS3 TextField中使用嵌入式字体时,可以使用非嵌入式后备字体吗?

ios - 将 ECSlidingViewController 与 TableView 一起使用

iOS 8 通知操作按钮不显示

ios - 从解析中下载多个 (4<) PFFile 并使它们同步到正确的数组中

ios - 我可以将应用程序设置为在 iOS 上的设备空闲时运行吗?

ios - 如何在 Xcode 4.2 中禁用 CoreData 的无反向关系警告?

ios - 权利具有配置文件错误不允许的值

ios - AIR 上应用程序描述 rune 件的 UISupportedInterfaceOrientations