尝试构建一个tvOS应用程序,其中一个用例就是能够直接通过点击按钮链接并打开Apple TV App Store中的另一个应用程序。有人可以分享一个代码片段来启用此功能吗?
答案 0 :(得分:10)
我通过检查设备控制台输出来解决这个问题。诀窍是使用com.apple.TVAppStore
方案而不是itms-apps
。示例(瑞士App Store):
com.apple.TVAppStore://itunes.apple.com/ch/app/youtube/id544007664?mt=8
事实上,https
方案也有效,但无论如何它都转换为com.apple.TVAppStore
。
答案 1 :(得分: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 :(得分:2)
不幸的是,不可能与当前的tvOS。
在iOS上,正如Apple在QA1629中所建议的那样,我们会这样做:
NSString *iTunesLink = @"https://itunes.apple.com/us/app/apple-store/id375380948?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
上述请求通过Safari在tvOS上不存在。因此,它不会起作用。
然而,tvOS支持Custom URL Schemes,这可能至少有所帮助。
答案 3 :(得分:0)
应该可以在StoreKit中使用SKStoreProductViewController
。
但显然,这也是_TVOS_PROHIBITED
。
答案 4 :(得分:0)
是的,它有效!只需使用Apple' link maker提供的链接即可。 例如:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://geo.itunes.apple.com/fr/app/math-champions-jeux-calcul/id561572290?mt=8"]]
不要通过删除iOS上的语言或应用名称来修改链接。
答案 5 :(得分:0)
您可以使用从iTunes获得的网址。例如:
[[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。
答案 6 :(得分:0)
这是Swift 4的解决方案:
将document.querySelector(`[name="${elementsName[i]}"]`)
替换为您的应用ID。
使用此解决方案,可以为尚未发布的应用创建应用商店链接,因为只需要应用ID(可从应用商店连接中获知)即可。
XXXXXXX