Доля в 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