Ios 非通知中心链路错误
我有一个Xcode项目,Xcode 8.1 8B62,有两个目标,一个是应用程序的付费版本,另一个是免费版本。它们都管理远程推送通知。由于我使用新的框架UNUserNotificationCenter.framwork对iOS 10进行了更改,第一个目标的一切正常,第二个目标的链接错误。它在iOS 9下使用旧方法运行良好。我为这两个目标所做的: 功能:正确更新已启用的推送通知权限 在AppDelegate.h中:导入 在AppDelegate.m中:使用新方法更新代码 这两个目标的代码相同 不幸的是,对于第二个目标,我有以下错误: 架构arm64的未定义符号: _OBJC_CLASS_$uuu联合国通知中心,参考自: AppDelegate.o中的Objc类引用 Ld:未找到架构的符号s Clang:错误:链接器命令失败,退出代码为1使用-v查看调用 我已经多次清理和清理构建目标文件夹,重新启动Xcode,重新启动计算机,但什么都没做 在不同的论坛中找不到任何内容Ios 非通知中心链路错误,ios,xcode,ios10,unusernotificationcenter,Ios,Xcode,Ios10,Unusernotificationcenter,我有一个Xcode项目,Xcode 8.1 8B62,有两个目标,一个是应用程序的付费版本,另一个是免费版本。它们都管理远程推送通知。由于我使用新的框架UNUserNotificationCenter.framwork对iOS 10进行了更改,第一个目标的一切正常,第二个目标的链接错误。它在iOS 9下使用旧方法运行良好。我为这两个目标所做的: 功能:正确更新已启用的推送通知权限 在AppDelegate.h中:导入 在AppDelegate.m中:使用新方法更新代码 这两个目标的代码相同 不幸
欢迎帮助。提前感谢。您没有链接到UserNotifications.framework 选择你的目标 显示其构建阶段 确保UserNotifications.framework存在于与库的链接二进制文件中 如果没有: 单击+按钮并添加它
确保您的目标>常规>链接框架和库中存在UserNotifications.framework我遇到了几乎完全相同的问题,有两个目标,一个是免费版本,一个是付费版本 我强烈怀疑,不同之处在于,对于一个目标,启用模块是肯定的,这是免费版本的目标,我正在为Admob执行@import,而对于另一个目标,启用模块是否定的。就像magic一样,对于启用模块为YES的目标,我不必在构建阶段将UserNotifications.framework与库以链接二进制形式添加。然而,对于启用模块为否的目标,我得到了
Undefined symbols for architecture arm64: "_OBJC_CLASS _ $ _ UNUserNotificationCenter
它通过手动添加UserNotifications.framework将二进制文件与库链接而消失
因此,规则可能是,只有在未启用模块时才需要这样做。谢谢,但我认为没有必要这样做。我试过了,但没有成功。在第一个目标中,没有添加框架。我认为Xcode会从功能中激活远程推送通知的那一刻起自动关注这个框架。谢谢,抱歉,当我尝试时,我错了,我添加了NotificationCenter.framework。但这是什么?为什么第一个目标是好的,因为我没有添加框架呢?你写道你正在使用……新的联合国通知中心。。。。不是以前的NSNotificationCenter。说实话,我从来都不明白什么时候需要在这里添加库。但我知道如果链接器找不到它,它会有所帮助。我怀疑它的问题在Xcode生成的构建设置中起到了神奇的作用。但这只是一个猜测。现在对你有效了吗?是的,有效了,谢谢。第一个目标就是魔法!无论如何,我也添加了框架…记住要添加import UserNotificationsHanks很多,做了很多,但是UserNotifications.framework在第一个目标中不存在!而且它有效!如果第一个目标不多,你再复制一次,然后进行更改,怎么样。这可能会解决这个问题。