問題描述:升級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庫,至于其他的庫是否需要就去試試吧!這樣就解決問題了!