有一些应用程序(如免费版的Cut the Rope)直接在应用程序中显示其他应用程序的App Store页面(可能使用模态视图控制器)。
如何在我自己的应用程序中实现这一点?
切断绳子的例子:
答案 0 :(得分:3)
您可以使用SKStoreProductViewController
进行此操作,请查看documentation了解更多详情
if ([SKStoreProductViewController class]) {
NSString *yourAppID = @"";//Give your app id here
NSDictionary *appParameters = @{SKStoreProductParameterITunesItemIdentifier :yourAppID};
SKStoreProductViewController *productViewController = [[SKStoreProductViewController alloc] init];
[productViewController setDelegate:self];
[productViewController loadProductWithParameters:appParameters completionBlock:nil];
[self presentViewController:productViewController animated:YES completion:nil];
}
答案 1 :(得分:1)
可以使用SKStoreProductViewController类在自己的应用程序中实现任何应用程序的App Store页面。
NSString *strURL = @"" //Keep the App store URL here.
if ([[[UIDevice currentDevice]systemVersion]floatValue] >= 6.0)
{
SKStoreProductViewController *storeProductViewController = [[SKStoreProductViewController alloc] init];
NSRange range = [strURL rangeOfString:@"/id"];
NSRange rangeID = {range.location + 3, 9};
NSString *strAppID = [strURL substringWithRange:rangeID];
NSLog(@"appid = %@", strAppID);
// Configure View Controller
[storeProductViewController setDelegate:self];
[storeProductViewController loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier : strAppID}
completionBlock:^(BOOL result, NSError *error) {
if (error) {
NSLog(@"Error %@ with User Info %@.", error, [error userInfo]);
} else {
}
}];
// Present Store Product View Controller
[self presentViewController:storeProductViewController animated:YES completion:nil];
}
上述代码还会从网址中提取应用ID。
您可以在class reference。
中阅读相关内容