IOS видит PNG как видео при сохранении в фотоальбомы с помощью UIDocumentInteractionController

Все мои приложения использовались для сохранения непосредственно в альбоме фотографий, вот и все. Пора мне идти в ногу со временем и начать использовать UIDocumentInteractionController.

Я нашел десятки примеров и руководств. Очень немногие из них имели дело с фотографиями. Но все они говорили примерно одно и то же.

Если я отправлю фотографию куда-нибудь, кроме фотоальбома, ошибок не будет, и все заработает. При сохранении в фотоальбом он генерирует большое сообщение ниже, но сохраняет изображение в фотоальбоме. По какой-то причине при попытке сохранить PNG в сообщении появляется слово «Видео».

Все аспекты кода работают, за исключением этого уродливого сообщения об ошибке, которое появляется только при сохранении в фотоальбом.

Меня беспокоит то, что Apple отклоняет мои приложения из-за этого сообщения об ошибке.

Кто-нибудь раньше с этим сталкивался? Любая помощь будет оценена по достоинству.

2018-10-27 19: 50: 40.085701-0400 TestImportandExport [28346: 31506523] [Generic] видео / Users / xxxxxxxxxxxx / Library / Developer / CoreSimulator / Devices / C1A267C3-5261-47BB-B4EF-92D93254D8A1 /Application/7FCD6086-B523-44AE-824E-D0E23886BF45/Documents/TestImportandExport_Sample_Image.png невозможно сохранить в библиотеке фотографий: Error Domain = AVFoundationErrorDomain Code = -11828 «Невозможно открыть» UserInfo = {NSUnderlyingError = 0x6000029525b0 {Error Domain = NSOSStatusErrorDomain Code = -12847 "(null)"}, NSLocalizedFailureReason = Этот формат мультимедиа не поддерживается ., NSURL = file: /// Users / xxxxxxxxxxxx / Library / Developer / CoreSimulator / Devices / C12613247Data /Containers/Data/Application/7FCD6086-B523-44AE-824E-D0E23886BF45/Documents/TestImportandExport_Sample_Image.png, NSLocalizedDescription = Невозможно открыть}

Вот код: (Прошу прощения за то, что я динозавр Objective-C)

NSString *imagePath = [NSString stringWithFormat:@"%@/TestImportandExport_Sample_Image.png",[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]];

[[NSFileManager defaultManager] removeItemAtPath:imagePath error:nil];

[UIImagePNGRepresentation(mainImage.image) writeToFile:imagePath atomically:YES];

documentInteractionController = [[UIDocumentInteractionController alloc] init];

documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:imagePath] ];

documentInteractionController.delegate = self;

documentInteractionController.name = @"TestImportandExport_Sample_Image.png";

[documentInteractionController presentOptionsMenuFromRect:sender.frame inView:self.view animated:NO];

Вы добились прогресса? Я вижу точно такую ​​же ошибку при попытке сохранить файл PNG в фотоальбом с помощью UIActivityViewController.

rmaddy 16.11.2018 01:27

Нет, решения не нашел. Он работает на симуляторе и на оборудовании. Я отправил свое приложение с этой проблемой. Apple одобрила его, и он сохраняет фотографии, как и ожидалось. Без вопросов.

Scott R. 11.06.2019 17:55
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
319
0

Другие вопросы по теме