Как открыть приложение Instagram с изображением, предоставленным моим приложением ios? - PullRequest
0 голосов
/ 07 июня 2019

Я хочу открыть приложение Instagram с изображением через приложение iOS. У моего приложения есть URL-адрес изображения, я хочу открыть страницу Instagram с этим изображением, содержащимся в URL-адресе изображения.

URL, который я использовал для открытия приложения Instagram, приведен ниже:

instagram: // библиотека? AssetPath = "+ imageURL

Ответы [ 2 ]

0 голосов
/ 07 июня 2019

// я надеюсь, что это поможет вам

func shareImage(_ image: UIImage?, withCaption caption: String?) {
    var img: UIImage? = image
    let instagramURL: URL = URL(string: "instagram://")!
    if UIApplication.shared.canOpenURL(instagramURL) == true {
        if img != nil {
            let jpgPath = NSTemporaryDirectory().stringByAppendingPathComponent("instagram.igo")
            do {
                try UIImageJPEGRepresentation(img!, 1.0)!.write(to: URL(string: jpgPath)!, options: .atomic)
            } catch _ {
            }
            //writeToFile(jpgPath, atomically:true)
            let rect = CGRect(x: 0, y: 0, width: 0, height: 0)
            let fileURL: URL = URL(fileURLWithPath: jpgPath)
            let docVc = UIDocumentInteractionController(url: fileURL)
            docVc.uti = "com.instagram.exclusivegram"
            if caption != nil && caption?.count ?? 0 > 0 {
                docVc.annotation = NSDictionary(object: caption!, forKey: "InstagramCaption" as NSCopying)
            }

            docVc.presentOpenInMenu(from: rect, in: self.view, animated: true)
        }
    } else {
        // please install instagram
    }
}
0 голосов
/ 07 июня 2019

Используйте следующий код, чтобы поделиться изображением в Instagram, я надеюсь, что оно вам поможет.

Прежде всего получите изображение (загрузите) из URL вашего изображения и используйте здесь как изображение (загруженное изображение) в этой функции..

@IBAction func shareImageInstagram(_ sender: Any) {

        DispatchQueue.main.async {

            //Share To Instagram:
            let instagramURL = URL(string: "instagram://app")
            if UIApplication.shared.canOpenURL(instagramURL!) {

                let imageData = UIImageJPEGRepresentation(image, 100)
                let writePath = (NSTemporaryDirectory() as NSString).appendingPathComponent("instagram.igo")

                do {
                    try imageData?.write(to: URL(fileURLWithPath: writePath), options: .atomic)
                } catch {
                    print(error)
                }

                let fileURL = URL(fileURLWithPath: writePath)
                self.documentController = UIDocumentInteractionController(url: fileURL)
                self.documentController.delegate = self
                self.documentController.uti = "com.instagram.exlusivegram"

                if UIDevice.current.userInterfaceIdiom == .phone {
                    self.documentController.presentOpenInMenu(from: self.view.bounds, in: self.view, animated: true)
                } else {
                    self.documentController.presentOpenInMenu(from: self.IGBarButton, animated: true)
                }
            } else {
                print(" Instagram is not installed ")
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...