2016-08-16 60 views
0

嗨,我是老遷移項目的iOS我從輔助類ApiManager.m(網絡電話)「應用程序試圖把目標一零模態視圖控制器」上iOS7錯誤及以下

我新的代碼行得到這個錯誤
UIAlertController *alert = [UIAlertController alertControllerWithTitle:NO_INTERNET_ERROR_TITLE message:TRACKED_ITEM_NOT_FOUND_ERROR preferredStyle:UIAlertControllerStyleAlert]; 
UIAlertAction *ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]; 
[alert addAction:ok]; 
[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:alert animated:YES completion:nil]; 

錯誤是:

016-08-16 13:52:49.955新郵政[967:60B] ***終止應用程序由於 未捕獲的異常 'NSInvalidArgumentException',原因:「應用程序 試圖在目標上提供一個無模式視圖控制器。'

這個問題只發生在iOS 7及以下版本。從版本8和以上沒有錯。如何解決這個問題?任何幫助非常感謝。謝謝!

回答

1

按照iOS版版本你應該使用UIAlertView和UIAlertController:

if(SYSTEM_VERSION_LESS_THAN(@"8.0")) 
{ 
    alert = [[UIAlertView alloc] initWithTitle:@"Warning" message:@"Invalid Coupon." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
     [alert show]; 
} 
     else 
     { 
     UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Warning" message:@"Invalid Coupon." preferredStyle:UIAlertControllerStyleAlert]; 


     UIAlertAction *okAction = [UIAlertAction 
            actionWithTitle:NSLocalizedString(@"OK", @"OK action") 
            style:UIAlertActionStyleDefault 
            handler:^(UIAlertAction *action) 
            { 

            }]; 

     [alertController addAction:okAction]; 

     [self presentViewController:alertController animated:YES completion:nil]; 
    } 
1

的問題發生在IOS 7,因爲UIAlertController作爲醫生說 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIAlertController_class/

可提供的iOS 8.0和後期

對於iOS 7,你需要使用UIAlertView

+0

感謝您的信息。我們現在還應該支持IOS 7嗎?我應該把發展目標移到8.0嗎? –

+0

如果您停止支持iOS 7的用戶,我想是的,您可以將開發目標更改爲8.0 – iSashok

+0

我的意思是我們應該保留代碼以支持IOS7還是完全停止支持(將目標更改爲8.0)?在2016年8月? iOS 7有很多用戶嗎? –

相關問題