我有一个Xcode项目,Xcode 8.1 (8B62),有两个目标,一个是应用程序的付费版本,另一个是免费版本。它们都管理远程推送通知。由于我使用新的框架iOS 10对UNUserNotificationCenter.framwork 10进行了更改,所以对于第一个目标来说一切都很好,而第二个目标则有一个链接错误。它在iOS 9和旧方法下工作得很好。我为这两个目标做了什么:
这两个目标的代码是相同的。
不幸的是,对于第二个目标,我有以下错误:
架构arm64的未定义符号:“_OBJC_CLASS_$_ UNUserNotificationCenter",引用于:ApApDelegate.oLD: not for architecture Clang: linker命令失败,退出代码1(使用-v查看调用)
我已经做了几次清洁和清洁的目标文件夹,重新启动Xcode,重新启动计算机,但什么都没有做。
在不同的论坛上什么也没有发现..。
我们欢迎你帮忙。提前谢谢你。
发布于 2016-11-19 10:53:58
您没有链接到UserNotifications.framework。
UserNotifications.framework存在于“与库连接的二进制文件”中

如果没有,则:
发布于 2017-09-15 14:05:26
我有着几乎完全相同的问题,有两个目标,一个是免费版本,一个是付费版本。
我强烈怀疑,对于一个目标,“启用模块”是“是”(这是免费版本的目标,我正在为Admob做@import ),而对于另一个目标,“启用模块”是否定的。就像魔术一样,我不需要在构建阶段在“Libraries”中添加UserNotifications.framework,因为“启用模块”是肯定的。但是,对于“启用模块”为否的目标,我得到了
Undefined symbols for architecture arm64: "_OBJC_CLASS _ $ _ UNUserNotificationCenter通过手动将UserNotifications.framework添加到“用库链接二进制文件”,它就结束了。
因此,可能的规则是,这需要在没有启用模块的情况下才能完成。
发布于 2016-11-19 11:15:13
确保UserNotifications.framework存在于您的Target > General > Linked Frameworks and Libraries中
https://stackoverflow.com/questions/40691774
复制相似问题