【发布时间】:2012-07-16 05:02:39
【问题描述】:
在我的应用程序中,我想在表格视图中显示来自 iTunes 商店的所有 iPhone 应用程序。如果用户单击任何一个单元格,它会导致进入该应用程序的应用商店。我只是通过给出每个应用程序的链接来静态地知道。根据我的需要,我还需要在安装后获取新应用。
【问题讨论】:
标签: iphone objective-c itunes app-store-connect itunes-sdk
在我的应用程序中,我想在表格视图中显示来自 iTunes 商店的所有 iPhone 应用程序。如果用户单击任何一个单元格,它会导致进入该应用程序的应用商店。我只是通过给出每个应用程序的链接来静态地知道。根据我的需要,我还需要在安装后获取新应用。
【问题讨论】:
标签: iphone objective-c itunes app-store-connect itunes-sdk
您可以使用Apple提供的search网络服务:http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html#searching
我找不到按艺术家 ID 搜索软件的方法,但您仍然可以使用开发者名称执行一般查询。
例如,这将返回 Gameloft 的应用程序:
http://itunes.apple.com/search?term=Gameloft&media=software&lang=en_US&country=us
请注意,这是按名称查询,因此您可能会误报(出现 Gameloft 名称但不是真正的 Gameloft 应用程序的应用程序)。您必须检查每个返回的应用程序的 artistId 属性(在本例中,Gameloft 的艺术家 ID 为 282764297)。
如果你想打开 App Store 到一个特定的应用程序,请使用你从之前的网络服务中获得的trackId,然后
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:
[NSString stringWithFormat:
@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%d",
trackId]]];
【讨论】:
您也可以使用 StoreKit 来显示应用程序,而不是创建自己的表格视图,并让用户在此处购买其他应用程序。 只需将 383916386 替换为您的开发者帐户的正确 ID。
SKStoreProductViewController *viewCtrl = [[SKStoreProductViewController alloc] init];
[viewCtrl loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier: @"383916386"} completionBlock:nil];
[self presentViewController:viewCtrl animated:YES completion:nil];
【讨论】: