Ios Xcode提高了;EXC“坏”访问代码=1;当目标为7.0时
我在SDK 6.4和Target 7.1中使用Xcode 6.3 beta4 在iOS 7.1模拟器或设备上运行以下简单行会引发错误:Ios Xcode提高了;EXC“坏”访问代码=1;当目标为7.0时,ios,objective-c,iphone,xcode,swift,Ios,Objective C,Iphone,Xcode,Swift,我在SDK 6.4和Target 7.1中使用Xcode 6.3 beta4 在iOS 7.1模拟器或设备上运行以下简单行会引发错误: let alert = UIAlertController(title: "title", message: "message", preferredStyle: .Alert) 错误是: EXC_BAD_ACCESS code=1 在iOS 8.4模拟器中运行时,不会发生此错误 似乎存在由不同SDK版本引起的冲突 如何防止在iOS 7.x版的目标上运行EX
let alert = UIAlertController(title: "title", message: "message", preferredStyle: .Alert)
错误是:
EXC_BAD_ACCESS code=1
在iOS 8.4模拟器中运行时,不会发生此错误
似乎存在由不同SDK版本引起的冲突
如何防止在iOS 7.x版的目标上运行EXC\u BAD\u ACCESS code=1
错误?
编辑:Xcode向我显示:
如何调试此类错误?
UIAlertController
仅在iOS 8.0及以上版本上有效。因此,要在iOS 7中使用UIAlertView
,您必须有一个分段
仅在iOS 8.0及以上版本上有效。因此,您必须有一个分段才能在iOS 7中使用
UIAlertView
。iOS7中的UIAlertView
已替换为iOS8中的UIAlertController
为了解决兼容性问题,我建议您执行以下操作
if objc_getClass("UIAlertController") != nil {
println("UIAlertController can be instantiated")
//make and use a UIAlertController
}
else {
println("UIAlertController can NOT be instantiated")
//make and use a UIAlertView
}
iOS7中的
UIAlertView
已替换为iOS8中的UIAlertController
为了解决兼容性问题,我建议您执行以下操作
if objc_getClass("UIAlertController") != nil {
println("UIAlertController can be instantiated")
//make and use a UIAlertController
}
else {
println("UIAlertController can NOT be instantiated")
//make and use a UIAlertView
}
或者只在任何地方使用UIAlertView,而不必使用UIAlertController。这样,您还可以确保您的代码得到了正确的测试;在两个版本的代码中的一个版本中很容易出现bug,或者只在任何地方使用UIAlertView,而不必使用UIAlertController。这样,您还可以确保您的代码得到了正确的测试;很容易在两个版本的代码中的一个版本中出现错误。