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のカテゴリ内のすべてのViewControllerxibファイルを要求します

- (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 に答える