Как я могу запустить приложение Appstore прямо из моего приложения

StackOverflow https://stackoverflow.com/questions/226986

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

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

Я понял, как попасть прямо на страницу обзора для приложения в 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]];
}

Если вы хотите показывать детали приложения вместо отзывов, вы можете использовать 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.

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

Затем вызовите UIApplication openURL для него.

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

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

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

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

<Ол>
  • выберите свое приложение в AppStore
  • нажмите кнопку "Рассказать другу" в правом верхнем углу.
  • отправьте ссылку на себя по электронной почте
  • У меня была эта работа в то время, когда ссылка на iTunes не поддерживалась.

    Если у вас есть партнерская ссылка, и вы хотели бы по-прежнему открывать приложение App Store напрямую без Safari в середине, вы можете использовать скрытый UIWebView или NSURLConnection. Что касается последних, см. Эту статью и-Linkshare-ссылки

    Вот код, который я использую и проверил на различных упомянутых версиях 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]];
    }
    

    Если вы только что выпустили свое приложение ... у вас не будет " идентификатора приложения # " пока ... так что ни один из этих методов не будет работать.

    Мне нужно было вставить " нерабочую ссылку " в моем v1.0 ... а затем в моем обновлении v1.1 ... добавлены фактическая ссылка и идентификатор приложения #.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top