注意:此问题与XCode有关。原始问题已经到位,但标题已更新以反映实际问题。
我正在使用表格视图进行表单输入,我创建了一种用于向表格添加输入字段的库。一旦进入输入字段,我需要的是一个启动设备摄像头的图像捕获字段。
我已将接口声明如下。
@interface PhotoBlockCell : UITableViewCell < UINavigationControllerDelegate, UIImagePickerControllerDelegate >
要启动图像捕获,我有一个委托指向支持我的表视图的父视图控制器。我使用UIImagePickerController启动设备相机,如下所示。
- (IBAction)addPhoto:(id)sender{
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == YES){
if ([sender isKindOfClass:[UIButton class]])
activeButton = (UIButton*)sender;
UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
[self.delegate presentModalViewController:imagePicker animated:YES];
}
}
这会毫无问题地启动设备相机,但我似乎无法捕获生成的照片。添加断点似乎表明我的didFinishPickingMediaWithInfo永远不会触发。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
// button 1
if (activeButton == button1) {
photo1 = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
}
// dismiss the picker
[picker dismissModalViewControllerAnimated:YES];
}
然而,视图控制器正在被解雇。任何想法可能是什么问题?
答案 0 :(得分:0)
显然这一直在起作用,问题与最近从XCode 4.2升级到4.3(我将手机升级到5.1后被迫升级)。我的设备内部似乎有一些标志在调试时阻止了破坏/记录。手动暂停将其清除。
我按照说明here解决了问题。