1. 編譯報錯:Undefined Symbols for architecture x86_64
可能是SDK不能使用模擬器測試涮因,連上真機測試
2.iOS9.0及以上網(wǎng)絡連接出錯
在info.plist文件中加上
或者選中info.plist文件 ->右鍵 -> OpenAs -> Source Code浑娜,添加代碼(info.plist的默認打開狀態(tài)是Property List)
3. 常見編譯報錯 修改Bulide Settings設置
3.1 搜索: architecture
Build Active Architecture Only一項:? ? debug -> Yes? ? ? ? Release -> No
?Architectures 一項:
Valid Architectures 一項:
3.2 搜索:other link flags
-ObjC
-all_load
-force_load ? 嵌入cocos2dx中畏纲,有時需要使用這個添加靜態(tài)庫路徑
3.3 搜索:bitcode
適配iOS6 需要設置Enable bitcode -> No
3.4 .h頭文件 ?.a靜態(tài)庫或者.framework找不到
首先確定項目中是否導入(是否拖入項目)或者是否重復導入這些文件
接著搜索:search path
分別查看Framework Search Paths氧吐、Header Search Paths霹菊、Liability Search Paths是否添加或者是否正確添加這些文件的路徑
4. 某些靜態(tài)庫之間或者靜態(tài)庫與framework之間存在.o文件沖突
注意:有的.a庫與其他庫中文件完全重合鼠渺,可以分別解壓看看意敛,到底重合了多少文件;
直接移除被包含所有文件的.a庫即可(遇到過兩次某第三方.a庫跟微信分享靜態(tài)庫所有文件沖突的情況)
如果某個或者某幾個重合則:
解壓某個靜態(tài)庫立轧,刪掉沖突的.o文件格粪,再重新打包
4.1 先創(chuàng)建個文件夾備用 :new
4.2 將待解壓靜態(tài)庫libWeChatSDK.a存一份放入new
4.3 打開終端
4.3.1 進入new文件夾: ? ? $cd /Users/XXX/Desktop/new
4.3.2 創(chuàng)建arm64文件夾:? ? $mkdir arm64
4.3.3 $lipo libWeChatSDK.a? -thin arm64? -output arm64/libWeChatSDK-arm64.a
4.3.4 查看libWeChatSDK-arm64.a文件:$ ar -t arm64/libWeChatSDK-arm64.a?
打印包內(nèi)容:(這一步可以看出某個靜態(tài)庫的所有.o文件)
__.SYMDEF SORTED
WeChatRegister.o
AppCommunicate.o
WXApi.o
WeChatApiUtil.o
WXApiObject.o
AppCommunicateData.o
至此可以重復以上步驟分別查看兩個.a庫的文件,以便做出對比氛改,找出重合的.o文件
---- 以下便是移除某個.o文件的操作
4.3.5 解壓libWeChatSDK-arm64.a到arm64文件夾:$cd arm64 && ar xv libWeChatSDK-arm64.a
打诱饰:
x - __.SYMDEF SORTED
x - WeChatRegister.o
x - AppCommunicate.o
x - WXApi.o
x - WeChatApiUtil.o
x - WXApiObject.o
x - AppCommunicateData.o
4.3.6 移除rm 重復的.o: ?$rm AppCommunicateData.o
4.3.7 退出到new并重新打包生成libWeChatSDK-arm64.a:$cd .. && ar rcs libWeChatSDK-arm64.a arm64/*.o
4.3.8 同理armv7、armv7s胜卤、x86_64疆导、i386
4.3.9 重新合并新生成的包為libWeChatSDK-new.a(在new文件夾下): $lipo -create libWeChatSDK-armv7.a libWeChatSDK-arm64.a libWeChatSDK-armv7s.a libWeChatSDK-i386.a libWeChatSDK-x86_64.a -output libWeChatSDK-new.a
4.3.10 新生成的libWeChatSDK-new.a可以代替libWeChatSDK.a使用了
5. 直接代碼行報錯:
?Cannot synthesize weak property in file using manual reference counting
(解決Xcode7.3無法聯(lián)想引入自定義頭文件)
搜索:weak
Weak Reference In Manual Retain Release ?->YES
6.項目中某個文件與SDK中文件重名
修改項目中自定義文件名
7.Admob聚合必須添加的框架
CoreBluetooth.framework當時找了好久
8.遇到.bundle重新簽名的問題
9.編譯出錯:libc++abi.dylib: terminating with uncaught exception of type NSException
在TARGETS-Build Settings-Other Linker Flags屬性添加-ObjC屬性即可