平時(shí)遇到的錯(cuò)誤我都會(huì)收集起來(lái)與大家分享缩举,慢慢積攢中赶促。。穿挨。
一.
問(wèn)題:
You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. Note: This will be an error in the future.
原因:
有第三方庫(kù)不兼容
解決:
二.
問(wèn)題:
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.
原因:
新特性要求App內(nèi)訪問(wèn)網(wǎng)絡(luò)請(qǐng)求残揉,要采用 HTTPS 協(xié)議胧后。
但是現(xiàn)在使用的是 HTTP 協(xié)議,使用私有加密方式保證數(shù)據(jù)安全抱环。
解決:
三.
問(wèn)題:
原因:
需要驗(yàn)證應(yīng)用程序證書(shū)是值得信賴(lài)的
解決:
設(shè)置->通用->描述文件->開(kāi)發(fā)商應(yīng)用->信任xxxxx
四.
問(wèn)題.
打包上傳時(shí)出錯(cuò)
ERROR ITMS-90535: "Unexpected CFBundleExecutable Key. The bundle at 'Payload/OnlineGuardPatrol.app/TencentOpenApi_IOS_Bundle.bundle' does not contain a bundle executable. If this bundle intentionally does not contain an executable, consider removing the CFBundleExecutable key from its Info.plist and using a CFBundlePackageType of BNDL. If this bundle is part of a third-party framework, consider contacting the developer of the framework for an update to address this issue."
原因:
第三方的framework中不包含executable
解決:
找到第三方庫(kù)的info.plist文件壳快,刪除箭頭指向的一整行
五.
問(wèn)題.
打包上傳時(shí)出錯(cuò)
ERROR ITMS-90207: "Invalid Bundle. The bundle at 'OnlineGuardPatrol.app' does not contain a bundle executable."
原因.
結(jié)合第四條,由于錯(cuò)誤的刪除了自己的info.plist文件中的對(duì)應(yīng)行
解決:
重新添加對(duì)應(yīng)行的鍵和值
六.
問(wèn)題.
打包上傳時(shí)的錯(cuò)誤
原因.
同時(shí)在xcode8和xcode7中編碼镇草,并且用xcode7打包上傳
解決.
如下圖
七.
問(wèn)題.
運(yùn)行報(bào)錯(cuò):
原因.
第三方庫(kù)不包含bitcode
解決.
在Xcode 7中眶痰,我們新建一個(gè)iOS程序時(shí),bitcode選項(xiàng)默認(rèn)是設(shè)置為YES的梯啤。我們可以在”Build Settings”->”Enable Bitcode”選項(xiàng)中看到這個(gè)設(shè)置
將Enable Bitcode默認(rèn)的YES 選項(xiàng)改成NO 就行了
八.
問(wèn)題.
編譯報(bào)錯(cuò):
duplicate symbol OBJC_METACLASS$_GTMBase64竖伯,duplicatesymbol
原因.
引用庫(kù)重復(fù)定義
解決.
刪掉 set building->other linker flag-> -all_load,就可以了
九.
錯(cuò)誤.
duplicate symbols for architecture armv7
原因.
1.有名字重復(fù)的文件
2.在#import頭文件的時(shí)候因宇,不小心把.h寫(xiě)成了.m
解決.
找到七婴,改過(guò)來(lái)就行了
十.
錯(cuò)誤.
This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes
原因.
在其他線(xiàn)程中更新UI引起
解決.
在dispatch_async(dispatch_get_main_queue(), ^{});
中更新UI
十一.
錯(cuò)誤.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 255
原因.
不太曉得,我是在xcode8上寫(xiě)了點(diǎn)代碼察滑,又在xcode7上編譯打厘,就報(bào)錯(cuò)了
解決.
clean項(xiàng)目,完全退出Xcode贺辰,再打開(kāi)就好了
十二.
錯(cuò)誤.
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFArray insertObject:atIndex:]: mutating method sent to immutable object'
原因.
這個(gè)錯(cuò)誤前半句基本沒(méi)用户盯,種類(lèi)多樣嵌施,通過(guò)后半句我找到相應(yīng)的地方,是因?yàn)槲蚁驍?shù)組中添加相同的數(shù)據(jù)導(dǎo)致
解決.
看著辦就行
十三.
錯(cuò)誤.
The dependency
****
is not used in any concrete target.
原因.
由于沒(méi)有指定target先舷,所以pods不知道把這些第三方用在哪里
解決.
按照這種格式書(shū)寫(xiě):
platform :ios, '8.0'
#use_frameworks!個(gè)別需要用到它艰管,比如reactiveCocoa
target 'MyApp' do
pod 'AFNetworking', '~> 2.6'
pod 'ORStackView', '~> 3.0'
pod 'SwiftyJSON', '~> 2.3'
end
十四.
錯(cuò)誤.
[!] Invalid
Podfile
file: syntax error, unexpected end-of-input, expecting keyword_end.
原因.
Podfile文件結(jié)尾沒(méi)有加end
解決.
加end唄滓侍。蒋川。。撩笆。捺球。
十五.
錯(cuò)誤.
/usr/bin/git clone https://github.com/github/Mantle.git /var/folders/bq/h6x44ktn7ysgjl0t9gp645f40000gp/T/d20161224-3583-mr03ke --template= --single-branch --depth 1 --branch 2.0.7
原因.
系統(tǒng)中含有不止一個(gè)xcode
解決.
執(zhí)行 sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer (-switch 后面加上你的Xcode.app包內(nèi)容里的Developer的文件夾路徑即可)
十六.
錯(cuò)誤.
原因.
本地Podfile文件上的第三方版本太低
解決.
執(zhí)行命令pod update
十七.
錯(cuò)誤.
[__NSCFString objectForKeyedSubscript:]: unrecognized selector sent to instance 0x140534950
原因.
我在后臺(tái)取出來(lái)數(shù)據(jù),解析成字典之后取字典中的數(shù)據(jù)出現(xiàn)的夕冲,由于后臺(tái)的疏忽氮兵,這并不是一個(gè)字典而是一個(gè)字符串,如圖:
紅框代表數(shù)據(jù)是一個(gè)字符串歹鱼,需要再次解析才可以使用
解決
再次解析泣栈,或者要求后臺(tái)修改數(shù)據(jù)格式
十八.
錯(cuò)誤.
Invalid type in JSON write (NSConcreteMutableData)
原因.
我在上傳數(shù)據(jù)的json體中直接放入了數(shù)組,數(shù)組中有不符合json規(guī)則的數(shù)據(jù)弥姻,如:自定義的類(lèi)
解決.
NSData *data=[NSJSONSerialization dataWithJSONObject:muArray options:NSJSONWritingPrettyPrinted
error:nil];
NSString *strs=[[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
此時(shí)將strs放入南片,完美。
十九.
錯(cuò)誤.
attempt to insert non-property list object
原因.
我用NSUserDefaults儲(chǔ)存了一個(gè)字典庭敦,字典中含有"<null>"
解決.
將"<null>"改成""
二十.
問(wèn)題.
真機(jī)調(diào)試不打印日志
原因.
真機(jī)的系統(tǒng)是iOS10以上
解決.
取消圖中的選中疼进。雖然在iOS10以上正常了,但是在iOS10以下會(huì)打印一些無(wú)效的東西秧廉,求解決I」恪!疼电!
二十一.
錯(cuò)誤.
ARC forbids Objective-C object in struct
原因.
ARC工程中用到非ARC庫(kù)嚼锄,其中有頭文件定義struct中使用Object* o1,類(lèi)似的對(duì)象指針蔽豺。
解決.
在前面加上__unsafe_unretained
二十二.
錯(cuò)誤.
ERROR ITMS-90542: "Invalid CFBundleSupportedPlatforms value. The key 'CFBundleSupportedPlatforms' in the Info.plist file in bundle 'Payload/PgapIos.app/GoogleMaps.bundle' contains an invalid value '( "iPhoneSimulator" )'.
原因.
編譯bundle的時(shí)候区丑,是用模擬器來(lái)編譯的
解決.
在編譯bundle的時(shí)候選擇真機(jī)
二十三.
錯(cuò)誤
ERROR ITMS-90683: "Missing Info.plist key. This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSHealthShareUsageDescription key with a string value explaining to the user how the app uses this data."
原因.
缺少健康權(quán)限請(qǐng)求信息,我只請(qǐng)求了寫(xiě)的權(quán)限茫虽,沒(méi)有讀的權(quán)限
解決.
// 寫(xiě)
<key>NSHealthUpdateUsageDescription</key>
<string>some string value stating the reason</string>
// 讀
<key>NSHealthShareUsageDescription</key>
<string>some string value stating the reason</string>
二十四.
錯(cuò)誤.
ld: library not found for -lPods-AFNetworking
原因.
不明
解決.
設(shè)置 Project
-> Pods
下所有第三方庫(kù)的 Build Active Architecture Only
為 NO
二十五.
錯(cuò)誤.
終端執(zhí)行pod install的時(shí)候
[!] Unable to add a source with url
https://github.com/CocoaPods/Specs.git
namedmaster
.
You can try adding it manually in~/.cocoapods/repos
or viapod repo add
.
原因.
不明
解決.
執(zhí)行
pod repo add master https://github.com/CocoaPods/Specs.git
然后根據(jù)提示執(zhí)行pod setup
刊苍,
如果出現(xiàn)[!] The `master` repo is not a git repo.
進(jìn)入/users/你的用戶(hù)名/.cocoapods/repos,刪除master文件夾
然后繼續(xù)執(zhí)行pod setup
如果安裝了多個(gè)xcode濒析,出現(xiàn)錯(cuò)誤正什,上面第十五條有解決方案。
二十六.
錯(cuò)誤.
as an NSUserDefaults/CFPreferences value for key sadminLOCATION_POINT_DIC
原因.
向NSUserDefaults中存數(shù)據(jù)時(shí)号杏,值為空或者不符合規(guī)則
解決.
婴氮。斯棒。。主经。
二十七.
錯(cuò)誤
Error Domain=NSCocoaErrorDomain Code=3840
原因
解析json數(shù)據(jù)時(shí)出現(xiàn)無(wú)法解析的特殊符號(hào)
解決
找到AFNetworking包中AFURLResponseSerialization.m文件荣暮,大概在第250行左右添加如下過(guò)濾方法:
BOOL isSpace = [data isEqualToData:[NSData dataWithBytes:" " length:1]];
if (data.length > 0 && !isSpace) {
NSString* sInvalid = [NSString stringWithUTF8String:[data bytes]];
// 從服務(wù)器收到的類(lèi)似上一行的數(shù)據(jù)
NSData *dataa = [[sInvalid stringByReplacingOccurrencesOfString:@"\r\n" withString:@"\\r\\n"] dataUsingEncoding:NSUTF8StringEncoding];
responseObject = [NSJSONSerialization JSONObjectWithData:dataa options:self.readingOptions error:&serializationError];
} else {
return nil;
}
二十八.
錯(cuò)誤
The default interactive shell is now zsh.
To update your account to use zsh, please run chsh -s /bin/zsh.
原因
升級(jí)mac導(dǎo)致
解決
chsh -s /bin/zsh
二十九.
錯(cuò)誤
zsh: /usr/local/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: no such file or directory
原因
升級(jí)mac導(dǎo)致
解決
升級(jí)pods
sudo gem update --system
sudo gem install cocoapods -n/usr/local/bin
三十.
錯(cuò)誤
[!] CDN: trunk Repo update failed - 17 error(s):
CDN: trunk URL couldn't be downloaded: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/1/d/4/CocoaAsyncSocket/0.0.1/CocoaAsyncSocket.podspec.json, error: Operation timed out - SSL_connect
...
解決
source 'https://github.com/CocoaPods/Specs.git'
####持續(xù)更新