原來(lái)項(xiàng)目好好的, 忽然真機(jī)運(yùn)行后出現(xiàn)這個(gè)錯(cuò)誤, 百度了一下, 有人是在模擬器出現(xiàn)的這個(gè)問(wèn)題, 而我的是在真機(jī)上
網(wǎng)上有人對(duì)這個(gè)錯(cuò)誤的原因有解釋
原因:新的SDK不允許在設(shè)置rootViewController之前做過(guò)于復(fù)雜的操作,導(dǎo)致在didFinishLaunchingWithOptions 結(jié)束后還沒(méi)有設(shè)置rootViewController
Xcode7需要所有UIWindow必須立即先設(shè)置一個(gè)rootViewController
我的代碼:
UINavigationController *rootViewController = [[UINavigationController alloc] initWithRootViewController:[[JSMainViewController alloc] init]];
self.window.rootViewController = rootViewController;
這個(gè)JSMainViewController 是一個(gè)UITabBarController
我的具體情況是: 公司要求加入一個(gè)檢查版本的接口, 這個(gè)接口加在了JSMainViewController里, 這個(gè)JSMainViewController加載檢查接口和他的子控制器寫(xiě)在了一起, 當(dāng)真機(jī)運(yùn)行時(shí),由于不小心,我自己不知道什么時(shí)候關(guān)閉了蜂窩網(wǎng), 我的真機(jī)沒(méi)有打開(kāi)網(wǎng)絡(luò)
這時(shí)加載檢查接口就非常的耗時(shí), 繼而在didFinishLaunchingWithOptions 結(jié)束后還沒(méi)有設(shè)置rootViewController,導(dǎo)致最終程序崩潰
所以, 如果你是真機(jī)運(yùn)行也報(bào)這個(gè)錯(cuò)誤閃退, 你可以檢查下你的移動(dòng)蜂窩網(wǎng)絡(luò)是否打開(kāi)