Я использую UIImagePickerController
, чтобы получить изображение с устройства. Я реализовал следующие шаги:
- Разрешение взято:
Конфиденциальность - Описание использования библиотеки фотографий - info.plist
Экземпляр UIImagePickerController создан и представлен. Делегат назначается для себя. Параметры камеры или библиотеки задаются с помощью UIAlertController.
-(void) openGallery {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
[actionSheet addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
}]];
[actionSheet addAction:[UIAlertAction actionWithTitle:@"Camera" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
// take photo button tapped.
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:NULL];
}]];
[actionSheet addAction:[UIAlertAction actionWithTitle:@"Photo Library" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
// PhotoLibrary
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:picker animated:YES completion:NULL];
}]];
[self presentViewController:actionSheet animated:YES completion:nil];
}
Для делегата изображение получено, но когда я попытался загрузить его на сервер после преобразования его в base64, AFNetworking выдал ошибку:
Ошибка домена = PlugInKit Code = 13 "запрос отменен" UserInfo = {NSLocalizedDescription = запрос отменен}
с Objective C Xcode 9.3 для iOS 11
#pragma mark- UIImagePicker Delegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
[picker dismissViewControllerAnimated:YES completion:NULL];
[self.view setUserInteractionEnabled:NO];
[self uploadThemeServiceCall: chosenImage];
}
Я попытался создать OS_ACTIVITY_MODE для отключения в переменной среды, но это не сработало. Я пробовал другие доступные решения, но они все равно не работают. Работало нормально, а сейчас нет.