Comment vérifier par programmation si une Application est installée?
Je développe une application iPhone qui va installer quelques applications tierces au sein d'une entreprise. J'ai l'information sur l'Id de lots. Est-il un moyen de vérifier si l'application est déjà installée, l'utilisation de certaines Api du système? Actuellement, l'application est installée de nouveau, l'écrasement de l'installation actuelle. J'ai besoin pour empêcher cela d'une façon. (L'AppStore d'Apple application désactive l'option d'installation si l'application est déjà installée.)
- double possible de [comment vérifier l'application installée dans l'iphone de périphérique ](stackoverflow.com/questions/3243567/...)
- peut-être que ce wiki va aussi vous aider: wiki.akosma.com/IPhone_URL_Schemes le problème avec La plupart des schémas d'url, vous ne pouvez pas passer à travers toutes les données si vous n'avez pas les utilisateurs de l'id de l'application que vous appelez
- stackoverflow.com/questions/32643522/...
Vous devez vous connecter pour publier un commentaire.
Je pense que ce n'est pas possible directement, mais si les apps registre des modèles d'uri vous pouvez le tester pour que.
Un schéma d'URI est par exemple
fb://
pour le facebook app. Vous pouvez vous inscrire que dans l'info.plist de votre application.[UIApplication canOpenURL:url]
est vous dire si une certaine url sera ou ne sera pas ouvert. Afin de tester sifb://
va s'ouvrir, va indiquer qu'il existe une application installée sur l'appareil qui a enregistréfb://
- ce qui est une bonne indication de l'facebook app.Voici un exemple pour tester si le facebook app est installé
Pour quiconque essaie de le faire avec iOS 9/Swift 2:
Tout d'abord, vous aurez besoin de 'liste blanche' l'URL en ajoutant les lignes suivantes à votre
Info.plist
fichier (une fonctionnalité de sécurité--voir Leo Natan réponse):Après cela, vous pouvez demander si l'application est disponible et a enregistré un régime:
Swift 3.1, Swift 3.2, Swift 4
Ajouter ces Infos.plist :
Quand il s'agit de réseaux sociaux, il est préférable de vérifier à plusieurs régimes. (Parce que scheme 'fb' est obsolète pour IOS9 SDK par exemple.):
De cours Info.plist devrait aussi contenir toutes les actions nécessaires:
iOS 9 et mise à jour plus récente:
En raison de certaines modifications de sécurité Apple a fait partir dans iOS 9, en plus de canOpenURL mentionné dans d'autres réponses, vous devez également ajouter un LSApplicationQueriesSchemes tableau de chaînes d'infos.plist. Voir la capture d'écran pour un exemple d'utilisation de Twitter.
Si vous voulez ajouter Facebook, vous ajoutez un autre élément dans le tableau avec une valeur de chaîne de "fb".