切换到 Xcode 9 后我收到错误,看起来像这样。
我删除了项目和类名称,但是有一个以 .o 后缀结尾的类列表。在 Xcode 8.3.2 中一切正常。我有 2 个项目,一个是构建没有问题的库。另一个项目是测试应用程序,它通过 Podfile 中的 :path 指令指向库。在这两个项目中,build settings -> architectures 设置为 standard arichitectures,Build active architectures only 设置为 DEBUG: Yes, RELEASE: No。你遇到过这个问题吗?预先感谢您的帮助。
最佳答案
遇到了类似的问题。只需将它张贴在这里,以防它可以帮助任何人。
在我们应用程序的 Objective-c 类 B 中使用来自框架(用 Swift 3 和我们自己编写)的类 AbcService。从 Xcode8/Swift3 升级到 Xcode9/Swift4 后,它未能构建一个release 配置的存档,由于链接期间此类的Undefined symbols
错误:
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$__TtC15XxxabcServices17AbcService", referenced from:
奇怪的是,存档调试配置以及在模拟器中运行时效果很好。
花了将近 1 天的时间才找出根本原因:框架中的 Swift 类 AbcService 缺少一个 public
修饰符。
关于ios - 架构 x86_64 的 Xcode 9 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46418947/