UIDocumentInteractionController не открывает приложение (didEndSendingToApplication: никогда не вызывал)

У меня есть экземпляр UIDocumentInteractionController (который имеет сильную ссылку в моем классе, я знаю о проблемах с памятью), и я хочу отправить файл фотографий в Instagram.

Я сохранил файл, используя расширение ig (также попробовал igo ), и я представляю контроллер. Instagram отображается в списке. Я нажимаю Instagram, и ничего не происходит.

 NSURL *imageFile = [NSURL fileURLWithPath:path]; interactionController = [UIDocumentInteractionController interactionControllerWithURL:imageFile]; interactionController.UTI = @"com.instagram.photo"; interactionController.annotation = [NSDictionary dictionaryWithObject:@"my caption" forKey:@"InstagramCaption"]; interactionController.delegate = self; [interactionController presentOpenInMenuFromRect:self.view.frame inView:self.view animated:YES]; 

Чтобы дополнительно исследовать, я установил свой вызывающий класс в качестве делегата и реализовал willBeginSendingToApplication: и didEndSendingToApplication: Интересно, что я понял, что willBeginSendingToApplication: вызывается, но didEndSendingToApplication: нет. Я попытался изменить свои расширения файлов, изменив UTI на com.instagram.exclusivegram , проверяя правильность URL-адреса файла и т. Д., Но ни один из них не работает. Нет ошибки, ничего в консоли или что-то еще. Контроллер взаимодействия закрывается, мое приложение продолжает работать, поскольку оно работает раньше, просто ничего не происходит. Я читал, что могут быть некоторые проблемы на iOS 6, но мое приложение является iOS 6, поэтому я не могу его протестировать на iOS <6. Единственное, что близко к моей проблеме, которую я нашел, – это UIDocumentInteractionController, No File Extension, но UTI, но он слишком сильно погружается в бит низкого уровня, и у меня нет кода без ARC.

Что может быть причиной проблемы?

3 Solutions collect form web for “UIDocumentInteractionController не открывает приложение (didEndSendingToApplication: никогда не вызывал)”

Это может произойти, если файл не существует, но также и если вы правильно не создали URL-адрес файла. Это некоторое время мучило меня.

Убедитесь, что вы создали свой URL-адрес файла следующим образом:

 NSURL *pagesURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"MyGreatPDF.pdf" ofType:nil]]; 

и не так:

 NSURL *pagesURL = [NSURL fileURLWithPath:@"MyGreatPDF.pdf"]; 

Последний по-прежнему формирует действительный URL-адрес, но он получает «частный» префикс, то есть file:///private/var/mobile/Applications/00000000-0000-0000-0000-000000000000/MyGreatApp.app/MyGreatPDF.pdf а не file:///var/mobile/Applications/00000000-0000-0000-0000-000000000000/MyGreatApp.app/MyGreatPDF.pdf

Через некоторое время я обнаружил, что файл не был сохранен правильно и не существовал. iOS не выбрасывает какую-либо ошибку, не получается безмолвно. Я скорректировал код создания файла, и когда файл был там, появился контроллер. Возможно, Apple должна добавить механизм утверждения / исключения для обработки несуществующих файлов в контроллере взаимодействия документов.

Это также может быть вызвано расширением имени файла.

Если целевое приложение объявляет, что оно поддерживает только файл с расширением png в Info.plist -> Exported Type UTIs -> Equivalent Types -> public.filename-extension , и вы отправляете файл с расширением jpg , целевое приложение не будет открываться как Что ж.

  • UIDocumentInteractionController, не отображающий параметр печати
  • iOS 6, как Сообщения, а не фотографии (UIActivityViewController и UIDocumentInteractionController)
  • Отключение почтового приложения iOS, открытого из UIDocumentInteractionController, удаляет представление представления ViewController в iOS7
  • UIDocumentInteractionController обрабатывает файлы ics
  • UIDocumentInteractionController показывает только имя и размер файла при предварительном просмотре
  • Как реализовать приложения Open In для обычного текста
  • Как реализовать UIDocumentInteractionController на iPad с помощью Xamarin
  • iOS - открыть фотографию из фотоальбома в моем приложении
  • UIDocumentsInteractionController показывает iBooks, но не открывает его
  • UIDocumentInteractionController для меню «Открыть» - не работает
  • Как сохранить дополнительный контент в мои файлы UIManagedDocument?
  • Interesting Posts

    Создать дайджест пароля в SDK для iOS

    Есть ли еще 64 локальных предела уведомления для новых пользовательских уведомлений в iOS 10?

    Переменные подкласса, не унаследованные при построении на iPhone

    NSThread sleepfortimeinterval блокирует основной поток

    Инструмент настройки настроек в программе создания кордовы + ios

    Как я могу генерировать деревья синтаксического анализа английских предложений в iOS?

    Испорченный симулятор xcode 9. Как сломанный телевизор

    Мой проект запускается только в симуляторе, но не работает в устройстве, почему?

    SVProgressHUD – Отображение / Скрытие элемента управления быстро заставляет его не появляться в следующий раз, когда вызывается showWithStatus

    NSMutableDictionary isKindOfClass NSDictionary – false

    нет зарегистрированного обработчика для схемы URL itms-apps – кнопка Rate Simulator

    Изменение ориентации iOS не работает также UIDeviceOrientationDidChangeNotification не получен

    AFNetworking 3.0 setImageWithURLRequest скачать прогресс

    UIView и initWithFrame и файл NIB. Как я могу загрузить файл NIB?

    UITextField: доступ справа (voiceOver)

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.