使用UIImagePickerController和UIPopoverController的exc_bad_access

时间:2011-08-17 14:03:20

标签: uiimagepickercontroller exc-bad-access uipopovercontroller nsautoreleasepool

我在我的应用程序(Ipad)中调用这段代码后立即获得EXC_BAD_ACCESS

我几乎没有从XCode中获取任何调试信息,XCode为我指出了这行代码:

int retVal = UIApplicationMain(argc, argv, nil, nil);

我猜对象已经过早自动释放,但为什么以及如何解决这个问题呢?

NSLog(@"OpenPhotoDialog");
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = srcType;

UIDevice* thisDevice = [UIDevice currentDevice];

UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker] ;
popover.delegate = self;

[popover presentPopoverFromRect:self.view.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

1 个答案:

答案 0 :(得分:2)

通常EXC_BAD_ACCESS会将对象发送到解除分配的块。

如果在可执行文件中设置参数

NSZombieEnabled是

然后你就可以知道哪个对象正在分配使用时间过长。

欢呼声