Общее расширение Опубликовать фотографию: не удалось определить, управляется ли URL-адрес поставщиком файлов - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь реализовать расширение общего доступа, которое публикует изображение из PhotoLibrary в мое приложение. Но я продолжаю сталкиваться с этой ошибкой:

2019-01-13 10:57:14.272148-0800 deegeu-swift-share-extensions-image-share[11664:1341769] 
    [default] [ERROR] Failed to determine whether URL /var/mobile/Media/PhotoData/OutgoingTemp/F49538B5-7AD5-46EA-BC0E-CEC304DEEB64/IMG_4293.JPG (s) 
    is managed by a file provider.

Это точный исходный код проекта, который я пытаюсь использовать: Github Project И это тот шаг, за которым я внимательно следил: Видеоурок

Информация о моей системе: iOS 12.1, iPhone 6s.

Я обновил информацию о проекте, такую ​​как App Group, собственный профиль разработчика в Xcode.

В чем может быть причина?

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Ошибка печати, как мне кажется, исходит из приложения "Фотографии". Решение, которое сработало для меня:

  itemProvider.loadItem(forTypeIdentifier: kUTTypePNG as String) { [unowned self] (imageData, error) in
                        if let item = imageData as? NSURL {
                            let data = NSData(contentsOf : item as URL)
                            let image = UIImage(data : data! as Data)
                            print(image)
                        } else {
                            if let item = imageData as? UIImage{
                                print(item)
                            }
                        }
                    }

ошибка все еще там, но я создал экземпляр UIImage, который мне нужен. Первым условием является совместное использование из приложения Фото, в противном случае я получаю правильное изображение.

0 голосов
/ 15 января 2019

Пожалуйста, попробуйте запустить на реальном устройстве.

Я попытался запустить код из репозитория в симуляторе и столкнулся с упомянутой ошибкой. Но когда я запустил приложение на реальном устройстве, я смог достичь желаемой функциональности, как показано на видео.

Обратите внимание, что при работе на устройстве вам необходимо установить правильный идентификатор пакета, имя группы приложений и т. Д.

Вам также понадобится изменить ссылки на имена групп приложений в файлах Swift RedViewController, BlueViewController и ShareViewController.

После этого, пожалуйста, запустите основное приложение, а также расширение (выбирая главное приложение, когда об этом попросит XCode), и вы должны начать работу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...