gpt4 book ai didi

ios - 仅使用商店应用程序时应用程序崩溃 'NSInvalidArgumentException'

转载 作者:行者123 更新时间:2023-11-30 14:15:47 34 4
gpt4 key购买 nike

我有一个 iOS 应用程序,可以在 Appstore 中找到。今天我测试了该应用程序,当应用程序尝试打开错误对话框时,它在我的 iPhone4 (iOS7) 上崩溃了。在 iPhone5s 上没有问题。

当我从 XCode 安装应用程序时,它可以工作...XCode/Appstore 是相同的版本。我阅读了 XCode 中的控制台来找出应用程序崩溃的原因。我收到此错误:

following error: : *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present a nil modal view controller on target

我做错了什么?当我调用错误对话框时,我这样做:

self.showAlert("Error.", message: "Wrong credentials.", owner: self);

报错方法:

func showAlert(title:NSString, message:NSString,owner:UIViewController) {
if let gotModernAlert: AnyClass = NSClassFromString("UIAlertController") {
var alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert);
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil));
owner.presentViewController(alert, animated: true, completion: nil);
}
else {
let alertView = UIAlertView(title: title, message: message, delegate: self, cancelButtonTitle: nil, otherButtonTitles: "OK");
alertView.alertViewStyle = .Default;
alertView.show();
}
}

最诚挚的问候

最佳答案

使用此方法检查类

+ (BOOL) checkIfClassExists:(NSString *)className {
id c = objc_getClass([className cStringUsingEncoding:NSASCIIStringEncoding]);
if (c != nil) {
return YES;
} else {
return NO;
}

}

& 快速用作

if ObjCFix.checkIfClassExists("UIAlertController") {
//iOS 8 code here
} else {
//iOS 7 code here

}

关于ios - 仅使用商店应用程序时应用程序崩溃 'NSInvalidArgumentException',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31206371/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com