在新的XCode 5.1中,arm64已成为可供构建的标准体系 struct 之一.

然而,在我目前的项目中,我包括了尚未支持这种新体系 struct 的库(例如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人并不难.你需要做的就是:

  • 编辑targetBuild Settings.通过打开下拉列表更改100的值,单击Other...并 Select 它,删除值为101的行,添加两行值:102103(或nschum中提到的104),关闭弹出窗口.

  • 编辑值100,只需删除其中的101部分.

  • 对工作区或项目中的每个嵌套项目都这样做.

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

祝你好运

Objective-c相关问答推荐

Objective-c 点表示法或方括号表示法中首选什么?

当 UITextField 成为第一响应者时如何使 UIScrollView 自动滚动

XCTAssertEqual 不适用于双精度值

处理 ARC 中的指针对指针所有权问题

增加推送通知徽章 iPhone

NSView 的边界与框架

以编程方式调用情节提要场景(无需转场)?

Objective-C 方法中的静态变量是否跨实例共享?

观察 UIDatePicker 的变化

在运行时判断 iOS 版本?

判断一个 NSDate 是否大于另一个

检测代码是否在 Objective-C 的主线程上运行的正确方法是什么? (iOS)

如何转储存储在 Objective-C 对象(NSArray 或 NSDictionary)中的数据

xcode storyboard Container View - 如何访问视图控制器

Objective-C 中是否有一些文字字典或数组语法?

如何删除手势识别器

无法加载 xcode 项目,因为它已从另一个项目或工作区打开

UITextField:键盘出现 timeshift 动视图

在 Objective-C 中计算两个日期之间的天数

Apple 说 NSManagedObjectContext 归创建它的线程或队列所有时是什么意思?