С iOS 10+ необходимо добавить NSCameraUsageDescription Разрешить использование фотографий для использования в режиме секретности. Это приводит к всплывало появляться, когда я запускаю следующий код в первый раз:Неуравновешенные вызовы для перехода на начало/конец с использованием UIImagePickerController
Всплывающий вызывают следующую ошибку: она кажется
несбалансированных вызовы для начала/конца внешнего вида переходов для.
Это код, который я пытаюсь выполнить:
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex (NSInteger)buttonIndex{
if (buttonIndex < 2) {
UIImagePickerController *imagePickerController[[UIImagePickerController alloc] init];
imagePickerController.mediaTypes = @[(__bridge NSString *)kUTTypeImage];
imagePickerController.allowsEditing = YES;
imagePickerController.delegate = self;
if (buttonIndex == 0) {
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
} else if (buttonIndex == 1) {
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
}
[self presentViewController:imagePickerController animated:NO completion:nil];
}
}
Как только я выбираю КИ на Попе, чтобы позволить приложению использовать камеру он выходит из строя.
Если я вернусь в приложение и повторю попытку, потому что Pop Up не появляется, мой код будет выполнен, и я могу получить изображение соответственно.
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSString *tmpFilePath = @"";
tmpFilePath = [_myHelper retrieveAppDirectory:self.username];
UIImage *image = [info objectForKey: UIImagePickerControllerEditedImage];
if (!image) {
[info objectForKey: UIImagePickerControllerOriginalImage];
}
NSString *imageName = [NSString stringWithFormat:@"image-%d.securedData", self.photos.count + 1];
[_myHelper performEncryptionForSecuredData:image filePath:tmpFilePath fileName:imageName];
[self.photos addObject:image];
[self.collectionView reloadData];
[picker dismissViewControllerAnimated:YES completion:nil];
}
Я знаю, что это было задано так много раз, прежде чем. Любая идея Что я, возможно, делаю неправильно? Заранее спасибо .......
Извините за такой длинный вопрос. Я попытался следующие, но никто не похоже на работу: [self.view.window.rootViewController presentViewController: imagePickerController анимированный: НЕТ завершение: ноль] Я также попытался настройке [[NSOperationQueue mainQueue] addOperationWithBlock:^{ } Но всегда кажется, что всплывающее окно с чернилами появляется в первый раз. После того, как вы скажете iOS, он может использовать камеру, ошибка больше не появится ..... –
Очевидным способом избежать этой проблемы является получение вашего приложения через всю галерею разрешения камеры/фотобанка _before_, отображающего контроллер выбора изображения , – matt
Мэтт Я не уверен на ваших комментариях на 100%. Всплывающее окно, в котором предлагается разрешить доступ приложения к камере, возникает при первом использовании камеры, не так ли? Есть ли другой способ, которым я могу позволить использовать камеру без диалога? –