Xcode 9架构x86_64的未定义符号

Joz*_*ana 8 iphone xcode llvm ios xcode9

切换到Xcode 9后,我收到错误,看起来像这样.

在此输入图像描述

我清空了项目和类名,但是有一个以.o后缀结尾的classess列表.在Xcode 8.3.2中一切正常.我有两个项目,一个是没有问题的图书馆.另一个项目是测试应用程序,它通过以下方式指向库:Podfile中的path指令.在两个项目中,构建设置 - >架构设置为标准架构,构建活动架构仅设置为DEBUG:是,RELEASE:否.您是否遇到过这个问题?先谢谢你的帮助.

Wei*_*ANG 7

陷入类似的问题.只需在此处发布,以防它可以帮助任何人.

使用类是AbcService在我们的应用程序的Objective-C类B.框架(写在斯威夫特3和我们自己)升级从Xcode8/Swift3到Xcode9/Swift4后未能建立的档案发布的配置,由于Undefined symbols错误链接期间此类:

Undefined symbols for architecture arm64:
   "_OBJC_CLASS_$__TtC15XxxabcServices17AbcService", referenced from:
Run Code Online (Sandbox Code Playgroud)

奇怪的是,它可以存档调试配置,并在模拟器中运行.

花了差不多1天才找出根本原因:框架中的Swift类AbcService缺少一个public修饰符.


小智 5

这里的简单技巧:转到->转到文件夹“ / Library / Developer / Xcode”删除派生数据,然后清理项目,然后运行。


Joz*_*ana 0

当我运行构建进行分析时,它正在工作,但在经典构建中出现了提到的错误。在搜索日志后,似乎有一些标志的奇怪行为,特别是 -fprofile-instr-generate。解决方案是在库项目的构建设置中将“启用代码覆盖率”标记设置为“否”。这是在黑暗中拍摄的,但不知何故让它发挥了作用。