造成這種錯誤的原因有很多,相應的解決辦法也有很多,在此僅列出我所碰到的問題,以及為了決絕這個問題所經(jīng)歷的坎坷經(jīng)歷
完整錯誤如下截圖
錯誤截圖.jpeg
錯誤出現(xiàn)的過程是一失手在workspace下執(zhí)行了
rm -rf
操作(此操作謹慎,linux下沒有回收站,直接清空了),然后整個本地的項目都被刪除了,重新從git上clone下來的項目模擬器運行時沒有絲毫問題,真機就出現(xiàn)了如上所示的錯誤。嘗試過方法如下:
1.將對應庫的
Mach-O Type
從Dynamic Library
改為Static Library
2.將對應庫添加進
Target->General->Embedded Binaries
下3.將
Target->General->Linked Frameworks and Libraries
下的對應文件的Required
改為Optional
4.給AFNetworking添加過簽名(因為我發(fā)現(xiàn)改動態(tài)庫下面沒有對應的簽名文件,然而我同事的有,不知道為什么,修改成功后沒有簽名也能正常運行)
5.
Runpath Search Paths
添加@executable_path/Frameworks
6.將
Embedded Content Contains Swift Code
下的NO
改為YES
其中第一條和第三條確實可行,但是AFNetworking這個庫好了之后別的庫也會報錯,即使將所有報錯的庫修改了,后面也會因為動態(tài)庫運行時的問題崩潰在某個庫
最后在stack overflow上發(fā)現(xiàn)的如下解決方法:
在keychain access
中的certificates
,點開(雙擊證書)查看所有的證書的Trust
,在某個證書下發(fā)現(xiàn)了這樣的情況:
20161201140616575.png
Trust
下面是Always Trust
,然后將其改為系統(tǒng)默認的就可以,如圖:
20161201140751592.png
然后command+option+shift+K清理一下緩存數(shù)據(jù),重新運行,完美通過。
但是我的這個問題肯定不是因為重新從git上clone代碼的原因,而是某些時候我手欠改了證書的信任設置然后自己忘記了。(自己挖坑自己花了好幾個小時埋!)
列出所有相關問題解決方法,希望其中的某一條能有所幫助,有疑問請留言。