在 Xcode 中构建和测试并在 ipad 上运行应用程序然后想要切换到 iphone 时,我收到以下构建错误:
ld:警告:忽略文件/xxx/Build/Products/Debug-iphoneos/libCTCheckbox.a,文件是为存档而构建的,它不是被链接的架构(arm64):/xxx/Library/Developer/Xcode/DerivedData/xxx/构建/产品/调试-iphoneos/libCTCheckbox.a
对于我所有的 pod 库。
接着:
架构 arm64 的未定义符号:“_OBJC_CLASS_$_RKObjectMapping”,引用自:MappingGenerator.o 中的 objc-class-ref SyncingManager.o 中的 objc-class-ref
对于一大堆文件。
这在我将 Cocoapods 升级到 1.0.1 版并运行 pod 安装后开始发生。
在 XCode(8.0 版)中,我的项目、项目目标和 Pods 项目的构建设置设置为:
- 架构:标准架构(armv7、arm64)
- 仅构建活动架构:调试 -> 是,发布 -> 否
- 有效架构:armv7、armv7s、arm64
- 目标设备系列:1,2
- 库搜索路径:$(inherited), "${PODS_ROOT}/GoogleAnalytics/Libraries"
- 框架搜索路径:$(inherited)
当我使用“仅构建活动架构”设置并清理项目并重新启动 XCode 时,最终构建再次成功,但我还没有找到可靠的操作顺序。当我想切换回ipad时,同样的事情又发生了。