swift 的 Instagram NSURL 实现

Instagram NSURL implementation with swift

我在 swift 中有一个照片编辑应用程序,它需要直接分享到 instagram 的选项。

Instagram 在此处提供了对 iphone 挂钩的引用,但事实证明实施起来很困难

理想情况下,页面 class 有一个按钮,可以发送保存为 pic.igo 的图片,(.igo 仅确保 instagram)并将用户直接带到他们的 post 页面已选择 "pic.igo" 的 instagram

这是钩子给你的东西,我似乎找不到任何现代用例。完整页面在link下方

NSURL *instagramURL = [NSURL URLWithString:@"instagram://location?id=1"];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
    [[UIApplication sharedApplication] openURL:instagramURL];
}

那我怎么把它放到这个函数中呢

@IBAction func Button(_ sender: Any) {


}

Iphone 钩子文档

https://www.instagram.com/developer/mobile-sharing/iphone-hooks/

备注 - 检查该应用程序是否已安装会有所帮助,但我真的只需要找到一种方法来使此功能正常工作,我可能会摸索剩下的

如果您只是在寻找他们提供的 ObjC 代码的 Swift 翻译,结果如下:

@IBAction func Button(_ sender: Any) {
    if let instagramURL = URL(string: "instagram://location?id=1"),
        UIApplication.shared.canOpenURL(instagramURL) {
        UIApplication.shared.open(instagramURL)
    }
}

如果您在从 ObjC 转换代码时遇到问题,您可以尝试一些在线转换器,这里有几个选项:

但以上不是分享到Instagram,如果你想分享,那就是你需要做的:

guard let instagramURL = URL(string: "instagram://app"),
    UIApplication.shared.canOpenURL(instagramURL) else {
        print("Instagram app is not installed")
        return
}

let yourIgoFile = Bundle.main.url(forResource: "test", withExtension: "igo")!
let documentController = UIDocumentInteractionController(url: yourIgoFile)
documentController.uti = "com.instagram.exclusivegram"
documentController.presentOpenInMenu(from: view.bounds, in: view, animated: true)