【问题标题】:Can't compile 64-bit AIR ANE with ADT无法使用 ADT 编译 64 位 AIR ANE
【发布时间】:2015-07-16 19:58:20
【问题描述】:

我正在尝试为 armv7arm64 架构编译 Adob​​e 教程 ANE(GitHub 存储库 here,教程 here)以使其更新。

ADT 失败,Apple App Store allows only universal applications. "libIOSVolumeLib.a" is not a universal binary. Please change build settings in Xcode project to "Standard Architecture" to create universal library/framework

但是,lipo -info ios/libIOSVolumeLib.a 报告:ios/libIOSVolumeLib.a are: i386 x86_64认为意味着文件正常。

我的 XCode 项目设置清楚地显示:

  • 架构使用Standard Architectures (armv7 arm64)
  • “仅构建活动架构”设置为NO
  • “有效架构”为armv7 armv7s arm64
  • 我的构建配置设置为“发布”

一切正常。正在将 libIOSVolumeLib.a 文件复制到 ADT 构建命令所引用的相应文件夹结构中。

我使用的 ADT 构建命令是:adt -package -target ane Volume.ane extension.xml -swc VolumeLib.swc -platform iPhone-ARM -C ios . -platformoptions platformoptions.xml -platform Android-ARM -C android . -platform default -C default .

我正在使用的 ADT 位于我今天刚刚下载的最新 Adob​​e AIR SDK (AIR v.18) 的 bin 文件夹中。我不知道这是否是正在使用的 SDK,但我假设它是,因为 ADT 位于此 SDK 文件夹的子目录中。

如何解决此错误?

【问题讨论】:

  • 我对 XCode 没有任何经验,但这里的问题看起来像是为(Intel x86 架构)构建的架构 libIOSVolumeLib 与您需要的架构(arm 架构)之间的不匹配。输出应该类似于ios/libIOSVolumeLib.a are: arm7 arm64

标签: ios air adobe adt ane


【解决方案1】:

解决方案已解决,答案似乎是我检查了错误的构建文件集。确保您正在构建“iOS 设备”,而不是您碰巧插入 USB 端口的特定设备。

这就是为我解决问题的方法 - 将构建的 .a 文件移动到 ANE 的适当构建文件夹并在该文件上运行 lipo -info 显示预期的架构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    相关资源
    最近更新 更多