ios – Xcode 9架构x86_64的未定义符号

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

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

解决方法

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

在我们的应用程序的Objective-c类B中使用来自框架(用Swift 3和我们自己编写)的类AbcService.从Xcode8 / Swift3升级到Xcode9 / Swift4后,由于未定义的符号,它无法为发布配置构建存档链接期间此类的错误

Undefined symbols for architecture arm64:
   "_OBJC_CLASS_$__TtC15XxxabcServices17AbcService",referenced from:

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

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...