Откройте Instagram из приложения с открытым экраном фильтра - PullRequest
0 голосов
/ 19 мая 2019

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

Вот код:

    @objc func share() {
        let fileManager = FileManager.default
        do {
            let documentDirectory =
                try fileManager.url(
                    for: .documentDirectory, in: .userDomainMask,
                    appropriateFor: nil, create: true)
            let fileURL = documentDirectory.appendingPathComponent("challenge.igo")
            if let imageData = theImage.jpegData(compressionQuality: 0.5) {
                try imageData.write(to: fileURL)

                DLog(message: "file written to \(fileURL)")

                let dic = UIDocumentInteractionController(url: fileURL)
                dic.delegate = self
                dic.uti = "com.instagram.exclusivegram"
                let res = dic.presentPreview(animated: false)
                DLog(message: "presentPreview result \(res)")
            }
        } catch {
            DLog(message: "\(error)")
        }
    }

Я также реализую протокол UIDocumentInteractionControllerDelegate:

extension ICShareController: UIDocumentInteractionControllerDelegate {
    func documentInteractionControllerViewControllerForPreview() -> UIViewController {
        return self
    }
}

Но, увы, функция presentPreview всегда возвращает false, и предварительный просмотр не открывается.

Что я могу сделать не так?

...