首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从Swift中的App启动App Store

从Swift中的App启动App Store
EN

Stack Overflow用户
提问于 2014-09-20 02:19:43
回答 7查看 17.8K关注 0票数 22

我正在创建一个应用程序,我有一个横幅,以促进我的其他应用程序。这是我的代码:

代码语言:javascript
复制
var barsButton : UIButton = UIButton(frame: CGRectMake((self.view.bounds.width / 2) - 51, self.view.bounds.height - 100, 102, 30))
barsButton.setImage(UIImage(named: "Bars Icon 2.png"), forState: .Normal)
barsButton.addTarget(self, action: "openBarsLink", forControlEvents: UIControlEvents.TouchUpInside)

func openBarsLink() {
    var barsLink : String = "itms-apps:https://itunes.apple.com/app/bars/id706081574?mt=8"
    UIApplication.sharedApplication().openURL(NSURL.URLWithString(barsLink))
}

然而,当用户按下按钮时,它只是将他们带到app Store,而不是我的应用程序的特定页面。我做错了什么?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-09-20 02:30:52

您的URL中有太多协议。去掉https:,这样网址就会变成

itms-apps://itunes.apple.com/app/bars/id706081574

票数 25
EN

Stack Overflow用户

发布于 2015-02-06 00:29:21

仅仅按照老的答案我不能让它工作,所以我在这里发布了我的完整解决方案:

代码语言:javascript
复制
if let url  = NSURL(string: "itms-apps://itunes.apple.com/app/id1234567890"), 
   UIApplication.shared.canOpenURL(url) {
    
  UIApplication.shared.openURL(url)
    }
}
票数 19
EN

Stack Overflow用户

发布于 2017-06-14 16:29:30

我有这个问题,但这个代码只能在手机上工作,而不是模拟器。因此,请检查以下代码:

代码语言:javascript
复制
if let url = URL(string: "itms-apps://itunes.apple.com/app/id" + APP_ID ),
    UIApplication.shared.canOpenURL(url){
    UIApplication.shared.openURL(url)
}else{
    //Just check it on phone not simulator!
    print("Can not open")
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25940109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档