正在打开Apple TV App Store

问题描述 投票:10回答:7

[尝试构建tvOS应用程序,而我要使用的一种情况是,只需单击一下按钮,就可以链接并直接在Apple TV App Store中打开另一个应用程序。有人可以分享一个代码片段来启用它吗?

tvos
7个回答
10
投票

我已经通过检查设备控制台输出来解决这个问题。诀窍是使用com.apple.TVAppStore方案而不是itms-apps。示例(瑞士App Store):

com.apple.TVAppStore://itunes.apple.com/ch/app/youtube/id544007664?mt=8

事实上,https方案也可以使用,但是无论如何它都已转换为com.apple.TVAppStore


9
投票

刚刚在tvOS上测试过:

if let appStoreURL = NSURL(string: "https://itunes.apple.com/us/app/wee-puzzles/id1035425291?mt=8") {
    UIApplication.sharedApplication().openURL(appStoreURL)
}

它可以正常工作,并在Apple TV上打开您的应用程序的App Store页面。与iOS相同。


2
投票

不幸的是,此[[不可能对于当前的tvOS。

在iOS上,根据Apple在QA1629中的建议,我们会这样做:

NSString *iTunesLink = @"https://itunes.apple.com/us/app/apple-store/id375380948?mt=8"; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];

以上请求通过了tvOS上不存在的Safari。因此,它将无法正常工作。 

但是,tvOS支持Custom URL Schemes,这可能至少会有所帮助。


0
投票
应该使用StoreKit中的SKStoreProductViewController。但显然_TVOS_PROHIBITED也是。

SKStoreProductViewController Class Reference


0
投票
是的,它有效!只需使用Apple的link maker提供的链接。例如:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://geo.itunes.apple.com/fr/app/math-champions-jeux-calcul/id561572290?mt=8"]]

[请勿通过删除应用程序的语言或名称来修改链接,就像在iOS上一样。


0
投票
您可以使用从iTunes获得的URL。例如:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://geo.itunes.apple.com/fr/app/math-champions-jeux-calcul/id561572290?mt=8"]]

类似于上述答案所说的。但是,为了使其正常工作,必须将您的应用设置为iOS和tvOS的通用购买,这很容易设置:Universal Purchase of iOS and tvOS Apps

0
投票

这是Swift 4的解决方案:将XXXXXXX替换为您的应用ID。使用此解决方案,可以为尚未发布的应用创建应用商店链接,因为仅需要应用ID(可从应用商店连接中获知)。

guard let tvOSAppStoreUrl = URL(string: "com.apple.TVAppStore://itunes.apple.com/app/idXXXXXXX?mt=8") else { return } UIApplication.shared.open(url, options: [:], completionHandler: nil)
© www.soinside.com 2019 - 2024. All rights reserved.