Можно ли поделиться изображением из приложения в Instagram Story - PullRequest
0 голосов
/ 07 марта 2019

Сейчас я разрабатываю iOS, приложение для Android. Я хочу добавить функцию, которая позволяет легко обмениваться изображениями из моего приложения в Instagram Story. Например, нажмите кнопку в моем приложении, затем перейдите в Instagram Story, и пользователь сможет поделиться в Story.

Я искал какой-то API, ничего хорошего не нашел. Скажите, пожалуйста, возможно ли разработать такую ​​функцию?

Ответы [ 2 ]

0 голосов
/ 07 марта 2019
try this:-

   let fetchOptions = PHFetchOptions()
    fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
    let fetchResult = PHAsset.fetchAssets(with: .image, options: fetchOptions) //.image to share image and .video to share video

    if let lastAsset = fetchResult.firstObject {
        let localIdentifier = lastAsset.localIdentifier
        let u = "instagram://library?LocalIdentifier=" + localIdentifier
        let url = NSURL(string: u)!
        if UIApplication.shared.canOpenURL(url as URL) {
            UIApplication.shared.open(URL(string: u)!, options: [:], completionHandler: nil)
        } else {

            let urlStr = "https://itunes.apple.com/in/app/instagram/id389801252?mt=8"
            if #available(iOS 10.0, *) {
                UIApplication.shared.open(URL(string: urlStr)!, options: [:], completionHandler: nil)

            } else {
                UIApplication.shared.openURL(URL(string: urlStr)!)
            }
        }

    }
0 голосов
/ 07 марта 2019
 @IBAction func shareOnInstagram(_ 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 ")
        }
    }
}

Вы можете использовать вышеуказанный код, чтобы поделиться с Instagram, и вам нужно установить instagram в LSApplicationQueriesSchemes в проекте info.plist

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...