(1)沒有刪除東西出現(xiàn) *** is missing from working copy 警告??
方法:Xcode->Preferences->Source->Enable Source Control 勾勾去掉
(2)出現(xiàn) -fembed-bitcode is not supported on versions of iOS prior to 6.0 錯(cuò)誤,是因?yàn)閎it code不支持 iOS6.0之前的版本,所以直接把Bitcode 改為NO就可以了耕挨,具體如下圖
(3)出現(xiàn) Code signing is required for product type 'App Extension' in SDK 'iOS 10.1' 錯(cuò)誤
(4)出現(xiàn) Automatic Preferred Max Layout Width Bdfore iOS 8.0 警告??
一般是在項(xiàng)目的xib文件(或storyboard中),這是Label的一個(gè)屬性導(dǎo)致的帆精,出現(xiàn)這個(gè)警告的原因抑月;一般來說竹观,勾選的時(shí)候土辩,會(huì)自動(dòng)設(shè)置一個(gè)寬度输拇,這個(gè)寬度是label當(dāng)前在xib中的寬度摘符,對(duì)于多行l(wèi)abel,意思即當(dāng)label中的文字寬度大于這個(gè)寬度的時(shí)候,label會(huì)換行逛裤;
一般是因?yàn)轫?xiàng)目的部署版本為7.0,但是label又沒有勾選Explicit導(dǎo)致的,警告的意思即自動(dòng)偏好寬度在8.0以前不適用,因此對(duì)于部署在7.0的項(xiàng)目,應(yīng)該勾選.
(5)出現(xiàn) Directory not found for option '**' 警告??
這種提示瘩绒,通常是由于添加了第三方SDK,但是后來改了個(gè)名字或者去掉了SDK带族,但是在
Build Settings----->Search Paths----->Library Search Paths 中仍然沒有刪除掉對(duì)應(yīng)的路徑锁荔,所以需要到Library Search Paths和Framework Search Paths中刪除掉警告的路徑,就OK了
(6)出現(xiàn)錯(cuò)誤 linker command failed with exit code 1炉菲,
ld:'***' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
(7)出現(xiàn)錯(cuò)誤 can't write output file: /** (No space left on device)
意思是沒有多余的空間堕战,把不需要的東西刪除一些,電腦上多留點(diǎn)空間就可以了
(8)提交版本審核的時(shí)候拍霜,出現(xiàn)錯(cuò)誤No suitable application records were found .Verify your bundle identtifier "**"is correct. 原因有可能有:
1.在application loader中沒有選擇正確的用戶組
2.在iTunes Connect中少操作了一個(gè)步驟嘱丢,app的狀態(tài)還是“Ready for upload”,點(diǎn)擊view Details祠饺,右下角或右上角有個(gè)Ready to Upload Binary越驻,點(diǎn)擊后app的狀態(tài)變成waiting for upload。出現(xiàn) prepare for upload 千萬不要認(rèn)為此時(shí)工作完成了道偷,還差一步缀旁,如果此時(shí)你關(guān)閉了頁面,準(zhǔn)備最后一步勺鸦,你會(huì)發(fā)現(xiàn)到時(shí)會(huì)出錯(cuò)的
(9)在上架的時(shí)候遇到:ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle (Bundle id名字) [Payload/.app(APP的名字)] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."并巍,注意點(diǎn)及解決辦法有:
- p12和mobileprovision都要是Distribution環(huán)境下的,并且mobileprovision一定要是App Store類型的才可以
- xcode - windows - organizer - 選中archive包换途,右鍵show in finder懊渡,找到安裝包文件,右鍵顯示包內(nèi)容军拟,把Products目錄下的Application文件夾改名為Payload剃执,修改info.plist文件 ApplicationProperties - ApplicationPath,把 Application/xx 改為 Payload/xx 重新上傳即可懈息。
(10)出現(xiàn)錯(cuò)誤 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'UICollectionView must be initialized with a non-nil layout parameter'肾档。錯(cuò)誤信息:
UICollectionView在初始化的時(shí)候必須指定一個(gè)布局,所以我們不能使用
UICollectionView *collectionView =[[UICollectionView alloc]init];
要修改成
UICollectionViewFlowLayout *flowLayout =[[UICollectionViewFlowLayout alloc]init];
UICollectionView *collectionView =[[UICollectionView alloc]initWithFrame:self.view.bounds collectionViewLayout:flowLayout]辫继;
(11)在集成百度地圖的時(shí)候怒见,因?yàn)?“info.plist 中必須添加 Bundle display name”調(diào)用地圖失敗,需要添加 Bundle display name 選項(xiàng)姑宽,它是 真正顯示到用戶屏幕上的 App 名稱遣耍,Bundle name 是 App 安裝到 iOS 機(jī)子里的 App 文件夾名
(12)在使用友盟進(jìn)行分享的時(shí)候,點(diǎn)擊分享無效低千,打印error 為: Domain=UMSocialPlatformErrorDomain Code=2003 "(null)" UserInfo={message=webpageUrl must not nil or other type ?錯(cuò)誤
原因:沒有設(shè)置分享的圖片或者分享的圖片沒有數(shù)據(jù)
解決辦法:添加分享的圖片
(13)注冊(cè)友盟配阵,打印臺(tái)出現(xiàn)——APIBase request didFailWithError ,并且白屏一段時(shí)間示血,是因?yàn)闆]有iOS9以上回調(diào)的方法沒有添加
#pragma mark--友盟如果不加棋傍,iOS9以上的系統(tǒng)會(huì)白屏一段時(shí)間-僅支持iOS9以上系統(tǒng),iOS8及以下系統(tǒng)不會(huì)回調(diào)难审,解決辦法:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options
在上面的方法中加入:
BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url];
if (!result) {
// 其他如支付等SDK的回調(diào)
}
return result;
(14)真機(jī)調(diào)試運(yùn)行瘫拣,顯示 Success ,但是最后因?yàn)閺棾觥猆nable to install “**”失敗告喊,原因以及解決辦法:
因?yàn)槭У淖C書名字和有效的證書名字沖突麸拄,進(jìn)入鑰匙串中,把重名黔姜,但失效的證書刪除拢切,最直接的就是把所有失效的證書全部刪除,重新運(yùn)行就可以了
(15)真機(jī)調(diào)試的時(shí)候出現(xiàn) process launch failed: timed out trying to launch app 提示秆吵,導(dǎo)致真機(jī)調(diào)試是失敗淮椰,是因?yàn)闆]有設(shè)置好開發(fā)狀態(tài),把打包成 iPA 設(shè)置的狀態(tài)改為開發(fā)狀態(tài)
(16)在Xcode中實(shí)現(xiàn)全局搜索代碼纳寂,注意左上角的配置是:Find——Text——Containing主穗,如下圖:
(17)出現(xiàn) ****** (No space left on device)錯(cuò)誤,出現(xiàn)錯(cuò)誤的原因是毙芜,設(shè)備上沒有剩余空間忽媒,清理設(shè)備,騰出空余就可以了
(18)靜態(tài)檢測(cè)內(nèi)存泄露Analyze--報(bào):Value stored to 'dataArr' during its initialization is never read 腋粥,原因:一個(gè)對(duì)象晦雨,被分配了兩塊內(nèi)存,導(dǎo)致一塊內(nèi)存空閑灯抛,出現(xiàn)了內(nèi)存泄漏
解決辦法:把被賦值對(duì)象的初始化刪掉金赦,只聲名一個(gè)對(duì)象,然后把已經(jīng)初始化好的對(duì)象对嚼,賦值給它
NSMutableArray *chooseImageArrays;
if ([resultImageIdArrays containsObject:@"測(cè)試"]) {
chooseImageArrays = deleteImageArrays;
}
(19) 在 JS 和 OC 進(jìn)行交互的時(shí)候夹抗,出現(xiàn) [JSValue length]: unrecognized selector sent to instance ** ?錯(cuò)誤。
原因: NSArray * parmArray = [JSContext currentArguments]; 這里數(shù)組裝的是JSValue 類型的
解決辦法:用 [parmArray[0] toString] 轉(zhuǎn)化成對(duì)應(yīng)的類型才再使用
(20)在使用友盟進(jìn)行 QQ 分享的時(shí)候纵竖,出現(xiàn) TencentOpenApi must be called at main thread ? 錯(cuò)誤
原因:在進(jìn)行分享的地方漠烧,是在線程操作的
解決辦法:把分享轉(zhuǎn)到主線程進(jìn)行進(jìn)行
(21)使用SVN工具 Cornerstone,在Check Out的時(shí)候靡砌,出現(xiàn) The working copy can't be accessed because the format is not supported已脓。?錯(cuò)誤,
原因:Cornerstone 的版本太低
解決辦法:把 Cornerstone 可以兼容的版本調(diào)到最大
(22)iOS關(guān)于定位的認(rèn)識(shí)Error Domain=kCLErrorDomain Code=2****通殃。?錯(cuò)誤
原因:因?yàn)榫W(wǎng)絡(luò)信號(hào)不好度液,換一個(gè)網(wǎng)絡(luò)試一下