我正在制作我的iPhone游戏的免费版本。我想在免费版本中放置一个按钮,可以将人们带到应用商店中的付费版本。如果我使用标准链接
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300136119&mt=8
iPhone首先会打开Safari,然后再进入应用商店。我已经使用过其他应用程序,它们可以直接打开应用商店,所以我知道这是可能的。
有什么想法吗?应用商店的URL Scheme是什么?
我正在制作我的iPhone游戏的免费版本。我想在免费版本中放置一个按钮,可以将人们带到应用商店中的付费版本。如果我使用标准链接
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300136119&mt=8
iPhone首先会打开Safari,然后再进入应用商店。我已经使用过其他应用程序,它们可以直接打开应用商店,所以我知道这是可能的。
有什么想法吗?应用商店的URL Scheme是什么?
如果你想链接到开发者的应用程序,而开发者的名称包含标点符号或空格(例如Development Company, LLC),则可以像这样形成你的URL:
itms-apps://itunes.com/apps/DevelopmentCompanyLLC
否则它将在iOS 4.3.3上返回“无法处理此请求”。您可以通过链接生成器,在以下网址获取到App Store或iTunes中特定项目的链接: http://itunes.apple.com/linkmaker/
所有的答案都过时了,不起作用;请使用下面的方法。
开发者的所有应用程序:
itms-apps://apps.apple.com/cn/developer/开发者名称/开发者ID
单个应用程序:
itms-apps://itunes.apple.com/cn/app/应用ID
这在iOS5中可以直接链接起作用。
NSString *iTunesLink = @"http://itunes.apple.com/app/baseball-stats-tracker-touch/id490256272?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
NSString *customURL = @"http://itunes.apple.com/app/id951386316";
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:customURL]])
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:customURL]];
}
针对Xcode 9.1和Swift 4:
import StoreKit
2. 符合协议要求
SKStoreProductViewControllerDelegate
3. 实现协议
func openStoreProductWithiTunesItemIdentifier(identifier: String) {
let storeViewController = SKStoreProductViewController()
storeViewController.delegate = self
let parameters = [ SKStoreProductParameterITunesItemIdentifier : identifier]
storeViewController.loadProduct(withParameters: parameters) { [weak self] (loaded, error) -> Void in
if loaded {
// Parent class of self is UIViewContorller
self?.present(storeViewController, animated: true, completion: nil)
}
}
}
3.1
func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
viewController.dismiss(animated: true, completion: nil)
}
注意:openStoreProductWithiTunesItemIdentifier(identifier: "here_put_your_App_id")
我可以确认,如果你在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];
< p >起作用了
我认为苹果提供了一个新的应用链接:https://apps.apple.com/app/id1445530088 或者 https://apps.apple.com/app/ {你的应用程序ID}
appStoreLink = "https://itunes.apple.com/us/app/apple-store/id375380948?mt=8"
SKStoreProductViewController
itms:
或 itms-apps:
。在运行 iOS 12 的设备上,使用该方案的链接可以正常工作。 - Theo#import "iLink.h"
+ (void)initialize
{
//configure iLink
[iLink sharedInstance].globalPromptForUpdate = YES; // If you want iLink to prompt user to update when the app is old.
}
例如,如果您想打开评分页面的位置,只需使用以下代码:
[[iLink sharedInstance] iLinkOpenAppPageInAppStoreWithAppleID: YOUR_PAID_APP_APPLE_ID]; // You should find YOUR_PAID_APP_APPLE_ID from iTunes Connect
不要忘记在同一文件中导入iLink.h。
整个库有非常好的文档,还有iPhone和Mac的示例项目。