Comment lancer l'application Appstore directement à partir de mon application

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

  •  03-07-2019
  •  | 
  •  

Question

J'ai utilisé plusieurs applications pour lancer le magasin iTunes directement à partir de l'application. J'en utilise même certains sur mon iPod 2.1 2.1.

Je sais qu'il existe un bogue dans la version 2.1 qui empêche les liens de magasin d'applications de fonctionner dans un safari, mais les gens le lancent directement, même pas via safari.

Comment faites-vous cela? Est-ce une fonctionnalité openURL non documentée?

Était-ce utile?

La solution

À partir d'iTunes, faites glisser l'icône de votre application sur le bureau. Cela vous donnera un lien que vous pourrez utiliser directement (par exemple, http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284036524&mt=8 lance l'AppStore to Crosswords, à la fois sur un ordinateur de bureau et un iPhone).

Ajoutez ceci dans un NSURL et appelez openURL dessus.

Autres conseils

Pour être extrêmement concis:

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

Si vous souhaitez envoyer toutes les applications à un développeur, utilisez

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

Ceux-ci fonctionnent pour iOS 4.1

Voir aussi Comment créer un lien vers des applications sur l'App Store

J'ai compris comment accéder directement à la page de révision d'une application de l'AppStore.

Pour l’essentiel, c’est comme ci-dessous. N'hésitez pas à lire mon blog poste à ce sujet.

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

Si vous souhaitez afficher les détails de l'application au lieu des avis, vous pouvez utiliser l'URL comme ceci:

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

Je l'ai testé sur mon iPhone avec iOS 6.1 et je vous redirigerai immédiatement vers l'application App Store.

Ben Gottlieb a raison, mais il existe un moyen plus rapide d’obtenir l’URL: vous pouvez cliquer avec le bouton droit de la souris sur n’importe quelle icône d’application dans iTunes et sélectionner "Copier l’URL du iTunes Store".

Appelez ensuite UIApplication openURL dessus.

Assurez-vous qu'il est indiqué "phobos.apple.com". et non "itunes.apple.com"

Le premier ouvre directement l'App Store, tandis que le second ouvre d'abord MobileSafari, puis l'App Store.

Vous pouvez obtenir votre identifiant d’application sur le site itunesconnect.apple.com " gérer vos applications "

Si vous ne souhaitez pas obtenir le lien vers iTunes, vous pouvez le faire.

  1. sélectionnez votre application dans l'AppStore
  2. cliquez sur le bouton Informer un ami en haut à droite.
  3. envoyez le lien par e-mail

J'ai eu ce travail au moment où le lien iTunes ne serait pas.

Si vous avez un lien d'affilié et que vous souhaitez toujours ouvrir l'application App Store directement sans Safari au milieu, vous pouvez utiliser un UIWebView masqué ou un NSURLConnection. Pour ce dernier, consultez cet article http://gamesfromwithin.com/handling-app-store -et-linkshare-links

Voici le code que j'ai utilisé et testé par rapport aux différentes versions d'iOS mentionnées. Évidemment, changez l'identifiant du client pour qu'il soit le vôtre:

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

Si vous publiez simplement votre application, vous ne disposerez pas d'un " application # # " pourtant ... donc aucune de ces méthodes ne fonctionnera.

J'ai dû insérer un " lien qui ne fonctionnait pas " dans ma v1.0 ... et plus tard dans ma mise à jour v1.1 ... ajoutait le lien et l'ID d'application actuels.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top