Undefined symbols for architecture arm64:
"_OBJC_CLASS_$__TtC15XxxabcServices17AbcService", referenced from:
奇怪的是,将debug配置归档以及在模拟器中运行都很好用。
花了近一天时间才找到根本原因:框架中的Swift类AbcService缺少了public
修饰符。
由于您正在使用Cocoapods,因此您很可能需要更新它们。
这意味着您需要在项目目录中的命令行上执行pod update
,然后在Xcode中重新构建项目。
通常,在使用新版本的Xcode时,需要重建所有组件。您的错误消息告诉您,您已经拥有的对象文件(*.o文件基本上是编译器从源文件生成的内容)与新编译的对象文件不兼容(链接器在您的情况下正在抱怨或“链接”所有对象文件)。
有时清除派生数据(Xcode缓存的内容)是必要的。您可以通过转到Xcode的Product
菜单并同时按住Option/Alt键,选择菜单项“clean build folder”来完成此操作。
pod update
解决了问题。另外一次我必须做其他事情,不确定确切地是什么,可能是删除衍生数据。 - MikeG当我运行构建进行分析时,它是正常工作的,但是普通构建中会出现错误。在搜索日志后,似乎有一些标志的奇怪行为,特别是 -fprofile-instr-generate。解决方案是在库项目的构建设置中将标志“启用代码覆盖率”设置为“否”。这是一次尝试并且有些盲目,但以某种方式让它起作用了。
pod install
,应用程序目标的构建设置将在Pods项目中得到刷新。 - Itachi