1. 程式人生 > >iOS---錯誤合集

iOS---錯誤合集

本文來源地址:www.osjoin.com

1:最近做微信登入在真機上除錯的時候遇見一個問題

ld: '/Users/hzbj/Desktop/工程/20151118/weixinOAuth/weixinOAuth/libWeChatSDK.a(WXApiObject.o)' 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)


問題有點奇怪:

在模擬器上跑得時候沒有這個問題,

但是在真機上跑就報這個錯誤。很是個問題

最後解決辦法如下:


把YES---->改成NO

問題解決!!!!

2:在真機除錯的時候會遇見一個彈框“使用開發者“iphone developer。。。。”的應用。您可以在“設定”中允許使用這些應用”


解決辦法:

開啟手機設定

通用--》描述檔案--》信任應用

3:安裝cocapods的時候 報錯

ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/xcodeproj

解決辦法

把終端的輸入 安裝命令  

sudo gem install cocoa pods

改成如下命令即可

 sudo gem install -n /usr/local/bin cocoapods

       4,安裝pod install 的時候 提示如下提醒,但不是錯誤,看這費勁

- Use the `$(inherited)` flag, or
 - Remove the build settings from the target.

雖然對專案編譯沒什麼影響,但是看著還是挺不舒服的.解決辦法就是

找到工程的 targets 點選工程名  Build Settings -> Other linker flags -> 新增 $(inherited)


 5:百度地圖 授權失敗 onGetPermissionState 230

  原因是你的bundle id 和你百度地圖的繫結的id不一致 

6:  Collection <__NSDictionaryM: 0x7fe1d283cf30> was mutated while being enumerated

    我今天在遍歷字典的時候,又修改他的資料,結果只能迴圈一次。然後就出現上面的原因。

  分析錯誤原因如下:

      當程式出現這個提示的時候,是因為你同時遍歷你的陣列,有同時修改你數組裡的資料,導致崩潰。

  解決辦法兩種

  1:搞一個和你要遍歷的陣列一樣的陣列出來

 /* 
     // 便利陣列A 運算元組B
    NSMutableDictionary * mutableDictionary = [[NSMutableDictionary alloc] initWithDictionary:parameters];
    for (NSString * key in parameters) {
        [mutableDictionary setObject:@"ddddddd" forKey:key];
    }
    NSLog(@"-----------------%@",mutableDictionary);

2:用系統自帶的遍歷,原理也差不多

NSMutableDictionary * tempDictionary = [[NSMutableDictionary alloc] init];
    
    [parameters enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
        
        NSLog(@"key---%@",obj);
        [tempDictionary setObject:@"dddddddd" forKey:key];
        
        
    }];
    
    NSLog(@"==========%@",tempDictionary);

2016-03-03 00:11編輯

7:iOS報錯資訊如下:

終極解決大招解決辦法:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

if (![self.presentedViewController isBeingDismissed]) {
                // TODO Something
}
})



更多大招,即時更新,請掃描下面我的二維碼哦