42.開發中遇到的各種問題以及解決方案

1.Failed to verify bitcode in XXX
在Build setting中查找"enable bitcode"選項,將"YES"改為"no",然后重新打包

2.linker command failed with exit code 1 (use -v to see invocation)
在Build setting中查找"Other Linker Flags"選項,找到出錯誤的選項,移除.
比如:"not found framework xxx",就把"xxx"移除

3."library not found for - XXX"
原因分析: 說是XXX 庫文件 not found ,第一種,沒有添加該庫文件;第二種,該庫文件路徑是絕對路徑;
第一種將庫添加上去就OK了;
第二種解決方案: 重新設置xxx的路徑,在工程中找到xxx,delete 刪除,選擇 Remove Reference , 然后再將xxx添加到工程中.再執行上面第2種問題的頻驟

4.運行時遇到"image not found"導致崩潰
a.可能是證書發生了改變的問題。
解決方法:刪除已安裝的APP,clean項目,重新運行項目
b.可能是pod配置和項目配置不匹配,重新pod install

5.在其它設置正常,在ipad無法觸發tap事件的問題時,如果是在scrollView中,可以把scrollView的bounces關掉試試

6.遇到自定義view時,出現error: IB Designables: Failed to update auto layout status: Interface Builder Cocoa Touch Tool crashed

選中xib或storyboard中自定義view,點擊菜單Editor->Debug Selected Views,下方會出現"IBDesignableAgentCocoaTouch"debug的信息,點擊就能跳轉到出錯的地方,修改好

7.在OC項目中使用swift時,遇到"Cannot find protocol declaration for 'xxx'"時,可能需要在橋接文件中import相應的頭文件,比如:"Cannot find protocol declaration for 'AVAudioPlayerDelegate'",我需要在橋接文件中添加"#import "AVFoundation/AVFoundation.h"",再編譯就通過了

8.遇到The executable for xwkt.app/Frameworks/xxx contains unsupported問題時,如果是因為第三方庫引起的,需要將庫對i386和x86_64的支持去掉,或者用pod的方式將庫引入

9.Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier.
檢查項目中其它target的bundle id是否是有相同的前綴;
比如:第一target中的bundleid是:com.test.ios
那么其它target的前綴必須是com.test.ios,如:com.test.ios.dev

10.deviceToken在APP每次刪除再重新安裝后都會不同

11.遇到安裝包安裝不了某些設備的情況,檢查info.plist是否添加了Required Device Capabilities設置項,將其刪掉重新打包能解決.詳細說明可以看這篇文章:http://blog.csdn.net/wlm0813/article/details/52143843

12.遇到打包IPA時xcode崩潰,錯誤日志:“Found an unexpected Mach-O header code:”,可能是使用的framework中包含靜態庫,需要將framework中的靜態庫移除之后才能打包IPA.

13.當擴展了控件的屬性(IBInspectable),再將控件的綁定去掉時,也必須清理這里,將這里多出的屬性去掉,否則APP會崩潰


image.png

14.啟動頁橫屏,需要設置兩個地方


image.png

這里設置好在iphone上啟動頁是橫屏的,但在ipad上還需要在info.plist中設置一下


image.png

將豎屏的選項刪除,留下橫屏選項

15.UIImageWriteToSavedPhotosAlbum保存圖片crash的問題,需要在添加info中添加下面權限字段:
<key>NSPhotoLibraryAddUsageDescription</key>
<string>App需要您的同意,才能訪問媒體資料庫</string>
當向相冊中保存圖片時,需要添加這個字段,否則沒有保存的權限會導致崩潰;

16.AddressSanitizer CHECK failed:

image.png

查看當前的scheme中的這個選項是否被選中了,去掉這個選中

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。