Comment lier à la page Mettre à jour pour notre application

Nous invitons les users à mettre à jour leur application s'ils utilisent une version obsolète. Lorsque les users tapent sur notre button de mise à jour, j'utilise openURL avec une adresse comme itms://itunes.apple.com/us/app/our-app-title/id12345?mt=8 pour charger l'application App Store à la list de nos app.

Avec cette méthode, cependant, l'écran qui en résulte a un button intitulé "Ouvrir" et non "Mettre à jour". Si les users ouvrent d'abord l'application App Store, puis accédez à la fiche de notre application (ou accédez à l'onglet de mise à jour), le button est intitulé "Mettre à jour".

Puis-je passer la version actuelle en tant que paramètre queryssortingng dans l'appel openURL ou existe-t-il un autre moyen de s'assurer que le button Update est affiché? Je ne peux pas find la documentation actuelle sur la façon de le faire. (Tout ce que je trouve est vieux de quelques années et fait reference à l'outil phobos abandonné.)

Je vous recommand d'essayer la class SKStoreProductViewController . L'identifiant d'article iTunes peut être trouvé dans https://itunesconnect.apple.com -> My Apps -> Apple ID .

rapide :

 func openStoreProductWithiTunesItemIdentifier(identifier: Ssortingng) { let storeViewController = SKStoreProductViewController() storeViewController.delegate = self let parameters = [ SKStoreProductParameterITunesItemIdentifier : identifier] storeViewController.loadProductWithParameters(parameters) { [weak self] (loaded, error) -> Void in if loaded { // Parent class of self is UIViewContorller self?.presentViewController(storeViewController, animated: true, completion: nil) } } } func productViewControllerDidFinish(viewController: SKStoreProductViewController) { viewController.dismissViewControllerAnimated(true, completion: nil) } // Usage openStoreProductWithiTunesItemIdentifier("2321354") 

objective-c :

 - (void)openStoreProductViewControllerWithITunesItemIdentifier:(NSInteger)iTunesItemIdentifier { SKStoreProductViewController *storeViewController = [[SKStoreProductViewController alloc] init]; storeViewController.delegate = self; NSNumber *identifier = [NSNumber numberWithInteger:iTunesItemIdentifier]; NSDictionary *parameters = @{ SKStoreProductParameterITunesItemIdentifier:identifier }; UIViewController *viewController = [self topViewController]; [storeViewController loadProductWithParameters:parameters completionBlock:^(BOOL result, NSError *error) { if (!result) { NSLog(@"SKStoreProductViewController: %@", error); } }]; [viewController presentViewController:storeViewController animated:YES completion:nil]; [storeViewController release]; } 

De nouvelles et d'annonces pour les développeurs Apple .

Conduire les clients directement vers votre application sur l'App Store avec iTunes Liens Avec les liens iTunes, vous pouvez fournir à vos clients un moyen facile d'accéder à vos applications sur l'App Store directement depuis votre site Web ou vos campagnes marketing. Création d'un lien iTunes est simple et peut être fait pour diriger les clients vers une seule application, toutes vos applications, ou à une application spécifique avec le nom de votre entreprise spécifié.

Pour envoyer des clients à une application spécifique: http://itunes.com/apps/appname

Pour envoyer des clients à une list d'applications que vous avez sur l'App Store: http://itunes.com/apps/developername

Pour envoyer des clients à une application spécifique avec le nom de votre entreprise inclus dans l'URL: http://itunes.com/apps/developername/appname

Notes complémentaires:

Vous pouvez replace http:// par itms:// ou itms-apps:// pour éviter les redirections.

Pour plus d'informations sur la dénomination, voir Apple QA1633:

https://developer.apple.com/library/ios/#qa/qa1633/_index.html .

Modifier (en janvier 2015):

Les liens itunes.com/apps doivent être mis à jour vers appstore.com/apps. Voir QA1633 ci-dessus, qui a été mis à jour. Un nouveau QA1629 suggère ces étapes et code pour lancer le magasin à partir d'une application:

  1. Lancez iTunes sur votre ordinateur.
  2. Recherchez l'élément que vous souhaitez lier.
  3. Cliquez avec le button droit de la souris ou en maintenant la touche Ctrl enfoncée sur le nom de l'élément dans iTunes, puis choisissez "Copier l'URL de l'iTunes Store" dans le menu contextuel.
  4. Dans votre application, créez un object NSURL avec l'URL iTunes copiée, puis passez cet object à la méthode openURL: de UIApplication pour ouvrir votre article dans l'App Store.

Exemple de code:

 NSSsortingng *iTunesLink = @"itms://itunes.apple.com/us/app/apple-store/id375380948?mt=8"; [[UIApplication sharedApplication] openURL:[NSURL URLWithSsortingng:iTunesLink]]; 

Copié d' ici .

Je voudrais fournir une réponse à l'user Xamarin. Ce qui suit ferait apparaître une offre d'alerte pour mettre à jour, puis amener l'user au magasin.

 async void PromptForVersionUpgrade() { var alertController = UIAlertController.Create(Messages.NewVersionTitle, Messages.NewVersionText, UIAlertControllerStyle.Alert); alertController.AddAction(UIAlertAction.Create("Cancel", UIAlertActionStyle.Cancel, null)); alertController.AddAction(UIAlertAction.Create(Messages.NewVersionGoToAppStore, UIAlertActionStyle.Default, (obj) => { var storeViewController = new SKStoreProductViewController(); storeViewController.Delegate = this; storeViewController.LoadProduct(new StoreProductParameters { ITunesItemIdentifier = 999999999 }, (isLoaded, error) => { if (isLoaded) PresentViewController(storeViewController, true, null); }); })); PresentViewController(alertController, true, null); } 

Ensuite, le controller à partir duquel vous appelez ce code devra implémenter l'interface 'ISKStoreProductViewControllerDelegate' pour que le button 'Annuler' fonctionne. Puis 'ceci' assignable à la propriété 'Delegate'.

 public partial class MyCurrentController : ISKStoreProductViewControllerDelegate { async void PromptForVersionUpgrade() { ... } [Export("productViewControllerDidFinish:")] public void Finished(SKStoreProductViewController controller) { controller.DismissViewController(true, null); } ... }