我的代码如下所示:可能崩溃:无法识别的选择
CGRect screenRect = [[UIScreen mainScreen] bounds];
SomeView *infoView;
if(screenRect.size.height != 568.0){
// iPhone 5/5s users crash in the next line
infoView = [[[NSBundle mainBundle] loadNibNamed:@"SomeViews" owner:self options:nil] objectAtIndex:1];
}else{
infoView = [[[NSBundle mainBundle] loadNibNamed:@"SomeViews" owner:self options:nil] objectAtIndex:0]
}
不过,我从Crashlytics一些崩溃报告为iPhone 5/5S的用户在上面评论码。
我很惊讶高度不是568,5/5s,因为我的应用只支持纵向。我有数百名活跃用户,仅有4位用户发生了12次崩溃。
即使iPhone 5/5s设备加载错误的笔尖(3.5英寸屏幕),它也不应该导致崩溃。 (我只是测试。)
http://crashes.to/s/1ddc169b801
Crashlytics还指示我,90%的事故是在越狱设备,这使我怀疑,如果越狱的设备可以以任何方式改变此值?
Fatal Exception: NSInvalidArgumentException
-[UIDeviceRGBColor superview]: unrecognized selector sent to instance 0x14732db0
0
CoreFoundation
__exceptionPreprocess + 130
1
libobjc.A.dylib
objc_exception_throw + 38
2
CoreFoundation
-[NSObject(NSObject) doesNotRecognizeSelector:] + 202
...
22
UIKit
-[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 138
23
Banck
BKAddRecordPagingViewController.m line 244 // line 244 is loadNibNamed
-[BKAddRecordPagingViewController viewDidLoad]
的崩溃报告链接显示的原因,但我想不出为什么,因为我只用内置的UILabel,的UIImageView,UITextView的在笔尖文件。
任何人都可以给我一些建议,以更好地检查,如果在越狱设备上使用4英寸的屏幕? 第二个问题是什么导致loadNibNamed内部崩溃?
您的应用程序的性质可能会吸引喜欢越狱手机的相同类型的用户吗?很难想象越狱是导致这次事故的原因。 – Nate
我不这么认为。只有不到10%的其他崩溃来自越狱手机。 – benck
今天还有一些崩溃,他们都来自越狱手机。 HTTP://崩溃。到/ s/1ddc169b801 – benck