Доля в Instagram, открывающая другое приложение, если Instagram не установлен на моем устройстве

Я пытаюсь поделиться изображениями в Instagram, все работает нормально, если на моем устройстве установлен Instagram, в противном случае откроется другое приложение с такой же функциональностью, что и для обмена в Instagram (вместо выдачи ошибок).

Мой код для обмена в Instagram:

let instaFilePath = "instagram://library?AssetPath=\(url!.absoluteString)&InstagramCaption=SocialCommerce"
let instaFilePathURL = URL(string: instaFilePath)
let instagramUrl = URL(string: "instagram://app")

if UIApplication.shared.canOpenURL(instagramUrl!) {
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(instaFilePathURL!, options: [:], completionHandler: { (completed) in
            print("-----------------------(-)--------------------------\(completed)")
        })
    } else {
        self.showMessage("This feature is not available earlier version then iOS 10.0")
    }
} else {
    self.showMessage("Instagram is not present in your device")
}

я использовал CFBundleURLSchemes а также LSApplicationQueriesSchemes схема в Info.plist

 <dict>
    <key>CFBundleURLSchemes</key>
    <array>
        <string>instagram</string>
    </array>
</dict>

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>instagram</string>
</array>

У кого-нибудь есть решение для этого? Я не могу публиковать изображения в Instagram, когда Instagram не установлен, я даже не могу определить, установлен Instagram или нет.

Следующая пользовательская схема URL от: https://www.instagram.com/developer/mobile-sharing/iphone-hooks/

1 ответ

Прежде всего, вам нужно понять Info.plist! Вы говорите скомпилированной схеме вашего приложения instagram:

<dict>
    <key>CFBundleURLSchemes</key>
    <array>
        <string>instagram</string>
    </array>
</dict>

Вот почему вы всегда получаете "true", удалите его и попробуйте еще раз с этим:

if let instagramURL = URL(string: "instagram://app") {
    if UIApplication.shared.canOpenURL(instagramURL as URL) {
        print("instagram is installed")
    } else {
        print("instagram is not installed")
    }
}else{
    print("failed!")
}

h ttps://stackru.com/images/1cbc929bd4d1f7a48e6189b076f750395bd4fde8.jpg

Другие вопросы по тегам