Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

Поместите это в NSURL и вызовите openURL на нем.

Ответ 2

Чтобы быть предельно кратким:

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

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

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

Эти работы для iOS 4.1

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

Ответ 3

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

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

- (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]];
}

Ответ 4

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

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

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

Ответ 6

Убедитесь, что он говорит "phobos.apple.com", а не "itunes.apple.com"

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

Ответ 7

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

Ответ 8

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

  • выберите приложение в AppStore
  • нажмите кнопку "Рассказать другу" в правом верхнем углу.
  • напишите ссылку на себя

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

Ответ 9

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

Ответ 10

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

Ответ 11

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

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