我想检查手机中是否安装了应用程序。如果它已经安装,我想发布相同的。如果没有安装,我需要打开Appstore链接。
我可以从网址
打开Appstorehttps://itunes.apple.com/us/app/stack-ar/id1269638287?mt=8
使用以下代码,
let urlString = "https://itunes.apple.com/us/app/stack-ar/id1269638287?mt=8"
UIApplication.shared.open(URL(string: urlString)!, options: [:]) { (success) in
}
如果安装了应用程序,我该如何打开它?
答案 0 :(得分:1)
要从您的应用程序打开另一个应用程序,目标应用程序需要实现URL方案。有些应用程序会记录其URL方案,而有些则不会。您可能需要询问目标应用程序的开发人员或查看Info.plist
文件。
如果应用程序没有实现URL方案,则无法启动它(我知道)。
如果它确实实现了URL Scheme,您需要在应用中将该方案列入白名单。您可以将LSApplicationQueriesSchemes
添加到Info.plist
,如下所示:
该图像显示了与Facebook和Twitter对应的URL Schemes的白名单。根据您要打开的应用进行调整。
完成后,您可以使用UIApplication.sharedApplication().canOpenURL(...)
检查应用是否已安装,UIApplication.sharedApplication().openURL(...)
以打开目标应用。
我还建议使用SKStoreProductViewController
在App Store中展示应用,而不是打开Safari。通过这种方式,可以直接在您的应用程序中显示App Store,而无需离开。
答案 1 :(得分:-1)
使用Url方案打开第三方应用程序。
var profile = "instagram://user?username=johndoe"
var instagramUrl = NSURL(string: profile)
if UIApplication.sharedApplication().canOpenURL(instagramUrl!) {
UIApplication.sharedApplication().openURL(instagramUrl!)
} else {
//redirect to safari because the user doesn't have Instagram
UIApplication.sharedApplication().openURL(NSURL(string: "http://instagram.com/")!)
}