В моем приложении я хочу показать все мои приложения для iPhone из магазина itunes в виде таблицы. Если пользователь щелкает любую ячейку, это приводит к переходу в магазин приложений этого приложения. Я знаю это просто статически, дав ссылку на каждое приложение. В соответствии с моими потребностями мне нужно получить новые приложения также после этой установки.
Как перечислить все приложения для iPhone от одного разработчика в приложении для iPhone?
Ответы (2)
Вы можете использовать search
веб-службу Apple: http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html#searching
Мне не удалось найти способ поиска программного обеспечения по идентификатору исполнителя, но вы все равно можете выполнить общий запрос, используя имя разработчика.
Например, это вернет приложения от Gameloft:
http://itunes.apple.com/search?term=Gameloft&media=software&lang=en_US&country=us
Обратите внимание, что это запрос по имени, поэтому у вас могут быть ложные срабатывания (приложения, в которых отображается имя Gameloft, но не являются настоящими приложениями Gameloft). Вы должны проверить свойство artistId
для каждого возвращенного приложения (в данном случае ArtistId Gameloft - 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 правильным идентификатором вашей учетной записи разработчика.
SKStoreProductViewController *viewCtrl = [[SKStoreProductViewController alloc] init];
[viewCtrl loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier: @"383916386"} completionBlock:nil];
[self presentViewController:viewCtrl animated:YES completion:nil];