Neo*_*ang 1 ios uidocumentinteraction instagram swift
我需要将图像文件共享到Instagram,根据Instagram文档: https: //www.instagram.com/developer/mobile-sharing/iphone-hooks/,我可以使用文档交互来实现这一点,但它只是没有不工作。这是我的代码:
let img = UIImage(named: "test.jpg")
let kInstagramURL = URL(string: "instagram://")
let kUTI = "com.instagram.exclusivegram" // testing "com.instagram.photo" too
let instagramCaption = "TESTING"
let kfileNameExtension = "instagram.igo" // testing "jpg"/"ig" too
if UIApplication.shared.canOpenURL(kInstagramURL!) {
let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
if urls.count == 0 {
print("Not found")
return
}
let url = urls[0].appendingPathComponent(kfileNameExtension)
print("URL", url)
// OUPUT: file:///var/mobile/Containers/Data/Application/F14B18CB-5CD4-47AD-8257-E2288C23181E/Documents/instagram.igo
do {
try UIImageJPEGRepresentation(img!, 1.0)?.write(to: url, options: .atomic)
print("WRITEN", url) // Written successfully, no error
} catch {
//TODO: issue error on UI
print("WRITE ERROR: \(error)")
}
let documentInteractionController = UIDocumentInteractionController(url: url)
var rect = CGRect.zero
let view = self.view
documentInteractionController.delegate = DocInteractionResponder() // tried nil, same result
documentInteractionController.uti = kUTI
// adding caption for the image
documentInteractionController.annotation = ["InstagramCaption": instagramCaption]
documentInteractionController.presentOpenInMenu(from: rect, in: view!, animated: true)
}
else {
//TODO: warn from dialog
}
Run Code Online (Sandbox Code Playgroud)
我在这个代码片段中尝试了很多事情(参见注释),但结果是相同的:在我点击菜单中的 Instagram 后,没有任何反应。
我认为这可能是由我的应用程序中的其他代码引起的,因此我创建了一个空白应用程序(带有一个简单的 UIViewController)并将此代码放入其中。它不起作用。
我已经阅读了几乎所有与 相关的答案UIDocumentInteractionController。
这是否发生在你身上?这是 iOS 11 的问题(刚刚升级了我的手机),还是 Instagram 停止支持文档交互?
| 归档时间: |
|
| 查看次数: |
1248 次 |
| 最近记录: |