此代码在iOS6.2下运行;安装了iOS7,现在崩溃了:
- (IBAction)bOpenCamera:(UIButton *)sender {
if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {
customerCameraFlag = YES; // indicator so text fields are not cleared
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = (id)self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.mediaTypes = [NSArray arrayWithObjects: (NSString *) kUTTypeImage, nil];
imagePicker.allowsEditing = NO;
[self presentViewController:imagePicker animated:YES completion:nil];
newMedia = YES;
}
}
我在两个单独的类中使用相同的代码;都没有工作。相机永远不会打开,只是在最后一行(newMedia = YES)执行时崩溃。我查看了SO和Google中的所有条目,发现没有类似于此崩溃的内容。它显然适用于iOS 6,但我现在无法测试它,因为我已经去了iOS7。
有关如何解决此问题的任何想法?
答案 0 :(得分:0)
* EXC_BAD_ACCESS不是抛出异常;这是一场艰难的撞车事故。 Spokane-dude应该发布实际崩溃的回溯。*
在iOS7下在iPad上运行相同的应用程序时,在调试程序之外它可以正常运行!
我敢打赌它不能正常工作。它似乎只是起作用,但仍然存在严重错误,可能会破坏用户数据。我会弄清楚什么是优先事项。
发布崩溃详情。
好的 - 崩溃就在这里:
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x3b39c350 __pthread_kill + 8
1 libsystem_c.dylib 0x3b31311e pthread_kill + 54
2 libsystem_c.dylib 0x3b34f96e abort + 90
3 REDACTED.APP 0x0006aa72 0x19000 + 334450
4 Foundation 0x338a438c -[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:] + 164
5 Foundation 0x338a4088 -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:] + 132
但是等等!崩溃实际上是螺纹0:
11 libsystem_c.dylib 0x3b34f96e abort + 90
12 libsystem_c.dylib 0x3b3304cc __assert_rtn + 176
13 REDACTED.APP 0x0001c3f2 0x19000 + 13298
14 UIKit 0x34e4bd18 -[UIView(CALayerDelegate) drawLayer:inContext:] + 360
15 QuartzCore 0x34bfabe0 -[CALayer drawInContext:] + 108
第13帧中的任何内容 - 尝试绘制的某个图层委托 - 是assert()ing。
鉴于它在绘图方法中是一个失败的断言,这应该会大大缩小范围。