我是经验丰富的开发人员,但在Swift上是新手。 我的目的是以编程方式在我的iOS应用程序中绘制一些图像并将它们发布到Instagram应用程序。
经过一些研究后我发现有两种方法可以做到这一点。
第一个是UIActivityViewController。这种方式适用于一个图像,但当我传递两个或更多图像时,Instagram应用程序不会显示在弹出视图中。
第二种方法是使用UIDocumentInteractionController。通过这种方式,我可以将图像路径作为URL传递。但是通过这个URL,我只能将一个图像路径传递给该类。我的代码如下。
let instagramURL = NSURL(string: "instagram://app")
if(UIApplication.shared.canOpenURL(instagramURL! as URL)) {
let imagePost = imageToPost
let fullPath = NSURL(fileURLWithPath: documentsDirectory()).appendingPathComponent("insta.igo")
let a = try! UIImagePNGRepresentation(imagePost)?.write(to: fullPath!, options: .atomic)
let rect = CGRect(x: 0, y: 0, width: 0, height: 0)
self.docController.uti = "com.instagram.exclusivegram"
let igImageHookFile = fullPath
self.docController = UIDocumentInteractionController(url: igImageHookFile! as URL)
self.docController.annotation = ["InstagramCaption":"Text"]
self.docController.presentOpenInMenu(from: rect, in: self.view, animated: true)
} else {
print("no instagram found")
}
有没有办法在不使用相机胶卷的情况下发布多张图片?