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

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

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

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


当前回答

这段代码生成iOS上的App Store链接

NSString *appName = [NSString stringWithString:[[[NSBundle mainBundle] infoDictionary]   objectForKey:@"CFBundleName"]];
NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:@"itms-apps://itunes.com/app/%@",[appName stringByReplacingOccurrencesOfString:@" " withString:@""]]];

在Mac上用http替换itms-apps:

NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:@"http:/itunes.com/app/%@",[appName stringByReplacingOccurrencesOfString:@" " withString:@""]]]; 

在iOS上打开URL:

[[UIApplication sharedApplication] openURL:appStoreURL];

Mac:

[[NSWorkspace sharedWorkspace] openURL:appStoreURL];

其他回答

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

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

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

来源:

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

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

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

// 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)

尽管这里有很多答案,但没有一个链接到开发者应用程序的建议似乎已经不管用了。

当我上次访问时,我能够使用以下格式让它工作:

itms-apps://itunes.apple.com/developer/developer-name/id123456789

这不再有效,但删除开发人员名称可以:

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

我认为苹果已经为应用程序链接提供了一个新的链接: https://apps.apple.com/app/id1445530088或https://apps.apple.com/app/ {your_app_id}

这段代码生成iOS上的App Store链接

NSString *appName = [NSString stringWithString:[[[NSBundle mainBundle] infoDictionary]   objectForKey:@"CFBundleName"]];
NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:@"itms-apps://itunes.com/app/%@",[appName stringByReplacingOccurrencesOfString:@" " withString:@""]]];

在Mac上用http替换itms-apps:

NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:@"http:/itunes.com/app/%@",[appName stringByReplacingOccurrencesOfString:@" " withString:@""]]]; 

在iOS上打开URL:

[[UIApplication sharedApplication] openURL:appStoreURL];

Mac:

[[NSWorkspace sharedWorkspace] openURL:appStoreURL];