我正在创造自己的iPhone游戏的免费版本。我想在免费版本中添加一个按钮,引导用户进入应用商店中的付费版本。如果我使用标准链接

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300136119&mt=8

iPhone首先打开Safari,然后打开应用商店。我使用过其他直接打开应用程序商店的应用程序,所以我知道这是可能的。

什么好主意吗?应用商店的URL方案是什么?


当前回答

许多答案建议使用“itms”或“itms-apps”,但苹果并没有特别推荐这种做法。他们只提供以下方式打开App Store:

清单1从iOS应用程序启动App Store

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

参见https://developer.apple.com/library/ios/qa/qa1629/_index.html, 2014年3月更新。

对于支持iOS 6及以上版本的应用程序,苹果提供了一种应用内机制来呈现应用程序商店:SKStoreProductViewController

- (void)loadProductWithParameters:(NSDictionary *)parameters completionBlock:(void (^)(BOOL result, NSError *error))block;

// Example:
SKStoreProductViewController* spvc = [[SKStoreProductViewController alloc] init];
spvc.delegate = self;
[spvc loadProductWithParameters:@{ SKStoreProductParameterITunesItemIdentifier : @(364709193) } completionBlock:^(BOOL result, NSError *error){ 
    if (error)
        // Show sorry
    else
        // Present spvc
}];

注意,在iOS6上,如果有错误,completion块可能不会被调用。这似乎是一个在iOS 7中解决的错误。

其他回答

这对我来说非常有效,只使用APP ID:

 NSString *urlString = [NSString stringWithFormat:@"http://itunes.apple.com/app/id%@",YOUR_APP_ID];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

重定向的数量为0。

根据苹果公司的最新文件 你需要使用

appStoreLink = "https://itunes.apple.com/us/app/apple-store/id375380948?mt=8"  

SKStoreProductViewController 

我可以确认,如果你在iTunes connect上创建应用,你会在提交应用之前获得应用id。

因此. .

itms-apps://itunes.apple.com/app/id123456789

NSURL *appStoreURL = [NSURL URLWithString:@"itms-apps://itunes.apple.com/app/id123456789"];
    if ([[UIApplication sharedApplication]canOpenURL:appStoreURL])
        [[UIApplication sharedApplication]openURL:appStoreURL];

工作是一种享受

这里的大多数解决方案都过时了

为那些寻找更新的工作解决方案

// let appStoreLink = "https://apps.apple.com/app/{app-name}/{app-id}"

guard let url = URL(string: Constants.App.appStoreLink) else { return }
UIApplication.shared.open(url)

直接链接:没有重定向而有直接链接:

使用苹果服务营销工具:https://tools.applemediaservices.com/获得真正的直接链接 将https://替换为itms-apps:// 用UIApplication.shared打开链接。打开(url,选项:[:])

注意,这些链接只在实际设备上工作,而不是在模拟器中。

来源:

评论:新的链接归功于@rwcorbett 苹果文档:https://developer.apple.com/library/ios/#qa/qa2008/qa1629.html