一、沒有將sqlite3.dylib加載到framework庫文件
- 錯誤信息
“_sqlite3_bind_blob”, referenced from:
- 解決方法:
將 sqlite3.dylib加載到framework
二、如果引用少了文件或缺少導入一些庫都會有這樣的報錯`
- 錯誤信息
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_FriendTrendsViewController", referenced from:
objc-class-ref in TabBarController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
-
解決方法:
三、控制器加載控制器視圖時控制器類名前綴跟項目中的UIView Xib文件重名
- 錯誤信息
**Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "BugTestView"
nib but the view outlet was not set.'**
-
報錯原因
- 以下為控制器視圖加載優先順序
報錯原因在第4條
1、用系統的loadView方法創建控制器的視圖
2、如果指定加載某個storyboard文件做控制器的視圖,就會加載storyboard里面的描述去創建view
3、如果指定讀取某個xib文件做控制器的視圖,就根據指定的xib文件去加載創建
4、如果有xib文件名和控制器的類名前綴(也就是去掉controller)的名字一樣的 xib文件,就會用這個xib文件來創建控件器的視圖 【例:控件器的名為 TDViewController, xib文件名為 TDView.xib】
5、找和控制器同名的xib文件去創建
6、如果以上都沒有就創建一個空的控件器的視圖;
- 以下為控制器視圖加載優先順序
-
解決方法:
Paste_Image.png
四、使用self.collectionView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive輸出錯誤信息
- 錯誤信息
-[UIWindow endDisablingInterfaceAutorotationAnimated:] called on
<UITextEffectsWindow: 0x135f6a470; frame = (0 0; 414 736);
opaque = NO; autoresize = W+H; layer = <UIWindowLayer: 0x135e94310>>
without matching -beginDisablingInterfaceAutorotation. Ignoring.\\
- 報錯原因
系統兩次嘗試對keypad調用endDisablingInterfaceAutorotationAnimated,一次是拖動keypad出屏幕,另一次是textView等觸發keypad的控件失去焦點時觸發。
五、duplicate報錯
-
報錯信息
Paste_Image.png 報錯原因(處理方法)
1.文件目錄里有兩個一樣的類(刪除重復的一個類)
2.導入了.m文件(修改成.h文件)
3.引用.c文件時,方法不是靜態方法