0

当我要求使用 PhotoAlbum 中的照片显示 imagePicker 时,我崩溃了:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </var/mobile/Applications/9D75B5EC-6CC9-4306-B4A1-88C369FEEC6C/AlterGeo.app> (loaded)' with name 'PLUIPrivacyViewController''


- (void)showImagePicker {
   UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
   if ([imagePicker respondsToSelector:@selector(setAllowsEditing:)]) {
      [imagePicker setAllowsEditing:_editable];
   }
   [imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
   [imagePicker setDelegate:self];
   [[self getNavigationController] presentModalViewController:imagePicker animated:YES];
   [imagePicker release];
}

- (UINavigationController *)getNavigationController {
   if (_delegate && [_delegate isKindOfClass:[UIViewController class]]) {
      return [(UIViewController *)_delegate navigationController];
   }   
   return nil;
}

如果它第一次启动并且我的 ios 请求权限(UIAlertView 允许/拒绝)它会崩溃,但如果我已经授予权限(允许)它会正常工作。我该如何解决?

4

1 回答 1

0

我找到了我的问题的解决方案。该代码不是我的,它是对项目有奇怪影响的外包人员.. 无论如何,他们要求 UiViewController 类别中的每个 ViewController xib 文件

- (NSString *)nibName {
   if ( ! [NSStringFromClass([self class]) isEqualToAnyString:[NSArray arrayWithObjects:
                                                               @"UIStatusBarViewController", 
                                                               @"UIZoomViewController",
                                                               @"PLUIPrivacyViewController",
                                                               nil]]) {
      return NSStringFromClass([self class]);
   }
   return nil;
}

并且在 ios6.0 苹果中添加了 PLUIPrivacyViewController 没有自己的笔尖。我只是在异常中添加 PLUIPrivacyViewController 。当然更好的方法来制作控制器的白名单6因为项目真的很旧并且不会修改,但苹果可以添加一些其他控制器没有笔尖......但它有很多时间。

于 2013-02-25T09:51:10.790 回答