ios - xcode 5.1 中的 Arm64 架构

标签 ios objective-c xcode xcode5.1

在新的 XCode 5.1 中,arm64 已成为构建的标准架构之一。

但是,在我当前的项目中,我包含了尚不支持这种新架构的库(例如 Google AdMob) - 这些现在会导致链接器错误:

ld: symbol(s) not found for architecture arm64

例如,Google AdMob 6.8.0 是 said to be supporting arm64但我无法真正确认这一点,除非 cputype (16777228) cpusubtype (0) 是 arm64? (通过文件命令行工具找到)

libGoogleAdMobAds.a: Mach-O universal binary with 5 architectures
libGoogleAdMobAds.a (for architecture armv7):   current ar archive random library
libGoogleAdMobAds.a (for architecture armv7s):  current ar archive random library
libGoogleAdMobAds.a (for architecture i386):    current ar archive random library
libGoogleAdMobAds.a (for architecture x86_64):  current ar archive random library
libGoogleAdMobAds.a (for architecture cputype (16777228) cpusubtype (0)):   current ar archive random library

有没有办法解决这个问题?

最佳答案

暂时摆脱arm64并不难。您需要做的就是:

  • 编辑您的目标build设置。通过打开下拉列表更改 Architectures 的值,单击 Other... 并选择它,删除值为 的行$(ARCHS_STANDARD) 并添加两行值:armv7armv7s(或 nschum 提到的 $(ARCHS_STANDARD_32_BIT)),关闭弹出窗口。

  • 编辑值 Valid Architectures 并简单地删除它的 arm64 部分。 p>

  • 为您的工作区或项目中可能拥有的每个嵌套项目执行此操作。

注意:这不是解决方案,这只是缓解您当前问题的几个步骤,请继续关注您的依赖项目以了解它们何时具有 arm64 兼容性并恢复这些设置的更改尽快。

祝你好运

关于ios - xcode 5.1 中的 Arm64 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22323039/

相关文章:

ios - 我可以在同一 View Controller 中添加两个选项卡栏,一个选项卡栏在底部,一个选项卡栏在顶部

ios - UITableView 滚动时改变 UIView 的高度

ios - 存储 Sprite Kit 关卡数据

ios - Xcode 7.3.1 的默认字体(系统字体)是 San Francisco 字体?

ios - 使用 Autoshrink 调整 UILabel 文本

ios - swift 3 : Caching images in a collectionView

ios - NSMutableArray 和复制

ios - xcode 屏幕大小是固定的 - 每个设备都不会改变

ios - 未收到收据数据验证信息

ios - 如何知道 View 是否正在动画?