Как я могу запустить приложение Appstore прямо из моего приложения - PullRequest
26 голосов
/ 22 октября 2008

Я использовал несколько приложений, которые запускают магазин itunes прямо из приложения. Я даже использую некоторые из них на своем 2,1 iPod 2G.

Я знаю, что в 2.1 есть ошибка, которая не позволяет ссылкам магазина приложений работать в Safari, но почему-то люди запускают магазин приложений напрямую, даже не через Safari.

Как ты это делаешь? Это недокументированная функция openURL?

Ответы [ 11 ]

26 голосов
/ 08 ноября 2010

Чтобы быть чрезвычайно лаконичным:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/appname"]];

Если вы хотите отправить все приложения для разработчика, используйте

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/developername"]];

Это работает для iOS 4.1

Смотрите также Как сделать ссылку на приложение в магазине приложений

19 голосов
/ 22 октября 2008

Из iTunes перетащите значок вашего приложения на рабочий стол, это даст вам ссылку, которую вы можете использовать напрямую (например, http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284036524&mt=8 запускает AppStore to Crosswords, как на рабочем столе, так и iPhone).

Вставьте это в NSURL и вызовите openURL для него.

16 голосов
/ 03 сентября 2009

Я понял, как попасть прямо на страницу обзора приложения в AppStore.

В основном это сделано, как показано ниже, не стесняйтесь читать мой блог пост об этом.

- (IBAction)gotoReviews:(id)sender
{
    NSString *str = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa";
    str = [NSString stringWithFormat:@"%@/wa/viewContentsUserReviews?", str]; 
    str = [NSString stringWithFormat:@"%@type=Purple+Software&id=", str];

    // Here is the app id from itunesconnect
    str = [NSString stringWithFormat:@"%@289382458", str]; 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
}
6 голосов
/ 17 апреля 2013

Если вы хотите показать детали приложения, а не отзывы, вы можете использовать URL-адрес следующим образом:

NSString *appId    = @"app id";
NSString *endPoint = [NSString stringWithFormat:@"phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=%@&mt=8", appId];
NSString *link     = [NSString stringWithFormat:@"itms-apps://%@", endPoint];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:link]];

Я проверил это на своем iPhone с iOS 6.1 и сразу же перенаправлю вас в приложение App Store.

5 голосов
/ 23 октября 2008

Бен Готлиб прав, но есть более быстрый способ получить URL: вы можете щелкнуть правой кнопкой мыши по любому значку приложения в iTunes и выбрать «Копировать URL из iTunes Store».

Затем назовите UIApplication openURL.

2 голосов
/ 04 октября 2010

Вы можете получить свой AppID на itunesconnect.apple.com «Управление своими приложениями»

2 голосов
/ 13 января 2009

Убедитесь, что написано «phobos.apple.com», а не «itunes.apple.com»

Первый напрямую открывает App Store, а второй сначала откроет MobileSafari, а затем App Store.

1 голос
/ 06 ноября 2008

Если вы не хотите получать ссылку на iTunes, вы можете сделать это.

  1. выберите приложение в AppStore
  2. нажмите кнопку «Рассказать другу» в правом верхнем углу.
  3. пошлите ссылку на себя

У меня была эта работа, в то время как ссылка на iTunes не будет.

0 голосов
/ 11 января 2014

Вот код, который я использую и проверил на различных упомянутых версиях iOS. Очевидно, измените идентификатор клиента на свой:

- (void)showOurAppsInAppStore
{        
    NSString *searchUrl = nil;
    // iPad
    if ([DeviceController isDeviceAnIpad]) {
        searchUrl = @"itms-apps://itunes.apple.com/us/artist/seligman-ventures-ltd/id326161338";
    }
    // iPhone / iPod Touch
    else {
        // iOS 7+
        if ([DeviceController isDeviceOperatingSystemAtleast:@"7.0"]) {
            searchUrl = @"itms-apps://itunes.apple.com/artist/seligman-ventures-ltd/id326161338";
        }
        // iOS 6
        else if ([DeviceController isDeviceOperatingSystemAtleast:@"6.0"]) {
            searchUrl = @"itms-apps://ax.itunes.apple.com/artist/seligman-ventures-ltd/id326161338";
        }
        // Pre iOS 6
        else {
            NSString *companyName = @"Seligman Ventures";
            searchUrl = [NSString stringWithFormat:@"http://phobos.apple.com/WebObjects/MZSearch.woa/wa/search?WOURLEncoding=ISO8859_1&lang=1&output=lm&country=US&term=%@&media=software", [companyName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
        }
    }

    [[UIApplication sharedApplication] openURL: [NSURL URLWithString:searchUrl]];
}
0 голосов
/ 01 июня 2011

Если у вас есть партнерская ссылка, и вы хотели бы по-прежнему открывать приложение App Store напрямую без Safari в середине, вы можете использовать скрытый UIWebView или NSURLConnection. Для последнего см. Этот пост http://gamesfromwithin.com/handling-app-store-and-linkshare-links

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...