使用 Cocoa Touch Framework 的 iOS 8 项目未在模拟器中构建
Posted
技术标签:
【中文标题】使用 Cocoa Touch Framework 的 iOS 8 项目未在模拟器中构建【英文标题】:iOS 8 project using Cocoa Touch Framework doesn't build in simulator 【发布时间】:2015-02-01 13:56:43 【问题描述】:我已经使用 XCode 6 创建了一个 Cocoa Touch 框架,我在我的最新项目中使用它,该项目是使用相同版本的 XCode 构建和创建的。这两个项目的部署目标都是 ios 8.1。
当我在模拟器中使用框架时尝试构建我的应用程序时,我得到:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_WBATranslations", referenced from:
objc-class-ref in RIAccountsViewController.o
ld: symbol(s) not found for architecture x86_64
当我在设备上编译时,项目构建良好,这让我认为框架架构不正确。框架的默认设置在此处的图像上:
我必须做什么才能同时为设备和模拟器构建?
【问题讨论】:
包含WBATranslations
定义的文件是否包含在框架目标中?
WBATranslations
是框架的一部分吗?如果是这样,则可能尚未为模拟器架构创建框架。 (x86_64 与 arm... 类型)
WBATranslations 已包含并可用...就像我提到的,库存档一切正常,但是当我将它包含在另一个项目中时,它不会为模拟器构建,只能在设备上构建
【参考方案1】:
您似乎正在尝试启动一个仅在您的模拟器上为设备编译的框架。
请查看此Tutorial,构建框架部分,您需要为模拟器拖动框架。
您也可以尝试查找一些创建通用框架的教程。比如你可以查看this one
【讨论】:
这将构建一个很可能现在被拒绝的胖二进制文件。我看过这个:kodmunki.wordpress.com/2015/03/04/… 但还不能让它工作:( 构建框架链接已失效。避免在回答中未包含相关内容的情况下链接第三方网站。以上是关于使用 Cocoa Touch Framework 的 iOS 8 项目未在模拟器中构建的主要内容,如果未能解决你的问题,请参考以下文章
Cocoa Touch Framework 和 pre-Xcode6 框架有啥区别