问题描述:升级Xcode8,新建项目接入第三方推送,在模拟器运行没有问题,在真机运行就crash,
打印日志如下:
dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserNotifications
Referenced from:/private/var/mobile/Containers/Bundle/Application/600684E2-6274-4D5C-A0C5-5857717EF65D/YJKD.app/YJKD
Reason: image not found
当时很是纳闷,怎么是image的问题呢,并没有用到什么image啊?有点困惑,是第三方里用到了什么image了吗?网上找了,都说是第三方的问题,如果引入了第三方则确实可能是xxx.framework没有导入进来,或是路径不对引起的!之前的项目都没有问题呢!又运行一次,发现忽略了上面的内容,只注意到了imagenot found。在iOS10的系统运行也没有问题,终于知道什么原因了,是UserNotifications.framework这个库的问题,它是iOS10才有的库!而我的手机是iOS8.1的系统!
使用Xcode8新建的工程需要注意,如果遇到在iOS10才有的库,需要在TARGETS->Build Phases找到该库,将Required修改为Optianal,如果是之前的工程在升级Xcode后也不需要设置,当然这里说的是UserNotifications.framework库,至于其他的库是否需要就去试试吧!这样就解决问题了!