今天跑一個項目卵迂,Alamofire莫名報 Library not loaded: @rpath,另一個項目一模一樣的podfile沒事,最后看到下面這篇博客顾复,按照以下方法:
1.有條件的話,清理非付費開發(fā)人員賬號生成的證書與配置文件鲁捏,改為付費人員對應(yīng)的證書
2.打開Cocoa Pods的Podfile文件芯砸,注釋掉use_frameworks!
3.在Podfile文件中添加一句use_modular_headers!
4.執(zhí)行pod deintegrate+pod install重新配置一次第三方庫
解決方法:直接注釋掉Podfile文件中的use_frameworks!,再pod install 即可假丧!
以上方法依舊沒有解決双揪,于是我把use_frameworks又放開,注釋use_modular_headers包帚,再次pod install渔期,在我的iOS12系統(tǒng)上運行,竟然神奇的好了婴噩,阿彌陀佛擎场,整了3天終于解決了,真棒几莽!
在此感謝作者迅办!
以下是轉(zhuǎn)載
----------------------------------------------------------------------------------------------------------------------------------------
之前遇到了dyld: Library not loaded: @rpath/xxx/xxx這個問題雖然解決了(直接注釋掉Podfile文件中的use_frameworks!即可),但是不知掉原因,后來在作者ic3w33k的Xcode真機調(diào)試中活久見的BUG——【code signature invalid for Framework】中找到了原因章蚣。
一:問題解決
依據(jù)關(guān)鍵詞dyld: Library not loaded: @rpath/xx.framework/xx搜索站欺,大部分的解答都認為是沒有找到對應(yīng)框架,需要嵌入操作(embed)纤垂,然后進行過如下幾種嘗試:
cmd + shift + k清理工程
清空/Users/xx/Library/Developer/Xcode/DerivedData目錄
general – embeded binaries 嵌入文件
在 Build Phases 里添加 Copy Files
修改mach-O Type中的Dynam Library為Static Library
在keychain中將使用的調(diào)試證書的信任改為“使用系統(tǒng)默認”
重裝rvm矾策、Cocoa Pods、Xcode
以上所有的方式皆未解決問題, 搜索code signature invalid for xx.framework峭沦,終于在蘋果開發(fā)者論壇找到相關(guān)提問贾虽,并一路鏈接到GitHub上幾個開源框架的issues(flutter和Alamofire無故中招??)和Stack Overflow,最終找到:
code signature invalid for Framework
Running iOS apps causes runtime error for frameworks “code signature invalid”
App crashes on iPhone but works fine with android emulator, android device and iOS simulator
How to run an iOS app that causes runtime error for frameworks “code signature invalid”
簡單來說吼鱼,新版Xcode和iOS系統(tǒng)蓬豁,在當我們使用非付費開發(fā)人員賬號時,都有概率對嵌入的動態(tài)庫發(fā)生無效簽名菇肃。而解決的方式有:
1.有條件的話地粪,清理非付費開發(fā)人員賬號生成的證書與配置文件,改為付費人員對應(yīng)的證書
2.打開Cocoa Pods的Podfile文件琐谤,注釋掉use_frameworks!
3.在Podfile文件中添加一句use_modular_headers蟆技!
4.執(zhí)行pod deintegrate+pod install重新配置一次第三方庫
解決方法:直接注釋掉Podfile文件中的use_frameworks!,再pod install 即可斗忌!
二:上面的方法依然不能解決
按照上面的方法利用cocospods 使用靜態(tài)庫的方式添加三方時有時候依然無法解決問題质礼,是因為有的三方庫是以xx.framework 文件進行管理的,所以還需要對xx.framework文件進行處理织阳,方法如下:
1.先將對應(yīng)的三方庫從Podfile文件中移出眶蕉,然后直接將對應(yīng)的xx.framework文件拖到代碼中進行手動管理。
2.切換到Build Phases -> Link Binary With Libraries -> xx.framework 將Status設(shè)置為Optional即可
PS:最簡單的方法時直接使用付費開發(fā)人員賬號即可陈哑!
更優(yōu)的方法:
可以查看我的這篇文章:Xcode Unable to install "xx" 解決辦法以及解決方案:
將iPhone中所以自帶的應(yīng)用升級到最新版本妻坝,即可解決dyld: Library not loaded: @rpath/xxx/xxx相關(guān)問題伸眶。
作者:九鳳泠鳶
鏈接:http://www.reibang.com/p/7c951a39f335
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)刽宪,非商業(yè)轉(zhuǎn)載請注明出處厘贼。