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

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
26
задан Jeff 22 October 2008 в 18:24
поделиться

10 ответов

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

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

19
ответ дан Ben Gottlieb 22 October 2008 в 18:24
поделиться

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

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

6
ответ дан NielsKoole 22 October 2008 в 18:24
поделиться

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

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

2
ответ дан matt 22 October 2008 в 18:24
поделиться

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

2
ответ дан Eugene 22 October 2008 в 18:24
поделиться

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

0
ответ дан Alexei Sholik 22 October 2008 в 18:24
поделиться

Вот код, который я использую, и протестировал его на различных упомянутых версиях 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
ответ дан Charlie Seligman 22 October 2008 в 18:24
поделиться

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

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

-1
ответ дан Annette 22 October 2008 в 18:24
поделиться

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

  1. выбирают Ваше приложение в AppStore
  2. , нажимают кнопку Tell A Friend в верхнем правом.
  3. посылают ссылку по электронной почте на себя

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

1
ответ дан Jamey McElveen 22 October 2008 в 18:24
поделиться
  • 1
    Это решение didn' t работают на меня. У нас не было проблем с appRequestQueueLimit, но с количеством времени, которое он занял для приложения для загрузки, прежде чем он дал тайм-аут. Сервер слишком занятое сообщение может быть вызван несколькими причинами. – Noldy 15 July 2014 в 08:37

Ben Gottlieb прав, но существует более быстрый способ получить URL: можно щелкнуть правой кнопкой по любому значку приложения в iTunes и выбрать "URL iTunes Store копии".

Тогда вызов UIApplication openURL на нем.

5
ответ дан Marco 22 October 2008 в 18:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: