Доля в Instagram, открывающая другое приложение, если Instagram не установлен на моем устройстве - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь поделиться изображениями в 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 Ответ

0 голосов
/ 13 декабря 2018

Прежде всего, вам нужно понять 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!")
}

ted

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