10
votes

Identificateurs uniques pour iOS MDM

Étant donné que Apple est amortissant l'identifiant de périphérique unique pour les applications, quelle est la meilleure approche pour relier une application d'entreprise sur un périphérique inscrit à MDM?

du document de référence de protocole MDM, l'inscription utilise toujours la procédure d'enregistrement UDID.

Nous ne pouvons pas utiliser le nouvel identifiantFendor car il n'est pas aussi identique que l'UDID pour l'enregistrement.

Permettez-moi de mettre à jour comment j'ai implémenté ma solution MDM,

  1. L'appareil s'enregistrera sur MDM Server avec un jeton et un appareil UDID (celui que Apple élimine l'API)
  2. Device Envoyer des informations sur le périphérique sur MDM Server (WiFi Mac Addr, numéro de série, version du système d'exploitation et autres infos)
  3. Il y aura une application client qui parlera à MDM Server via une API reposante. (Auparavant, j'utilisais l'UDID comme identifiant de clé)

    Je pensais utiliser l'adresse MAC mais dans le dernier iOS 7, le système reviendra toujours sur la valeur 02h00: 00: 00: 00: 00.

    Nous ne pouvons pas non plus obtenir le numéro de série de l'appareil.

    Donc, ma question à nouveau, comment pouvons-nous connaître cette application sur ce périphérique appartient à cette inscription MDM sur le serveur sur le (3). Parce que maintenant, l'application n'a pas de clé commune à renvoyer avec le processus d'enregistrement. Comment le serveur saura-t-il quel appareil est lequel est lequel est?

    merci.


3 commentaires

Avez-vous trouvé une solution à votre problème? Le mien est à peu près la même chose.


La seule solution de contournement est d'utiliser l'identifiantForvendor et de le stocker dans le porte-clés afin que l'identifiantForvendor reste même que l'utilisateur a réinstallé l'application Enterprise.


Bump pour la réponse, je ressens le même problème, mais je n'ai pas encore trouvé de solution.


5 Réponses :



0
votes

Dans iOS 7, Apple renvoie maintenant toujours une valeur fixe lors de la requête pour interroger spécifiquement le Mac comme base pour un schéma d'identité. Donc, vous devez maintenant utiliser - [Uidevice IdentifierForvendor] ou créer un UUID par installation.


4 commentaires

[Uidevice IdentificateurForvendor] ne correspond pas à l'appareil UDID par MDM PayLoad. C'est le problème


Je suis également confronté au même problème dans mon application. Il y aura également un problème ce qui s'est passé lorsque l'utilisateur mettra à jour le système d'exploitation dans son appareil.


Donc, je pense que la meilleure option est que nous avons à jeton de périphérique utilisateur (si vous utilisez une notification push) dans notre application.


Ce que vous pouvez faire est d'obtenir un identifiant unique à l'aide de [[[Uidevice CurrentDevice] IdentifiantFendor] ou tout autre générateur d'identifiant unique. Après cela, vous devez stocker cette valeur sur Keychain à l'aide de KeychainItemWrapper et d'utiliser. Une fois que vous stockez une valeur sur la chaîne de clés, cela ne supprimera pas même après avoir supprimé et réinstaller l'application.



0
votes

[uidevice uniqueIdentifier] a été remplacé par [[Uidevice Identificateur] uuidstring] dans iOS 6.0.


0 commentaires

5
votes

Le meilleur moyen, et peut-être le seul moyen, est d'utiliser les nouvelles fonctionnalités de configuration des applications gérées dans iOS 7. Vous pouvez avoir votre MDM enfoncer quelque chose comme une touche API de votre application. Ensuite, votre application présente cette touche dans votre appel à votre serveur MDM ou à tout autre service Web.

Une fois que vous avez appuyé votre configuration sur votre application, vous pouvez extraire la clé API avec quelque chose comme ci-dessous. La plupart des solutions MDM traditionnelles prennent déjà en charge ce type de fonctionnalité dans leurs dernières versions. P>

NSDictionary *config = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"com.apple.configuration.managed"];
NSString *apiKey = config[@"kAPIKey"];

if (apiKey) {
    //We got an API key and we can use it
} else {
    //We didn't get an API key...something has gone wrong
}


1 commentaires

Comment puis-je faire mon application comme application gérée? Je m'étais inscrit à Apple Business Manager et j'avais le serveur MDM



2
votes

2 commentaires

Cette approche peut-elle garantir que l'application ne fonctionne que sur des périphériques inscrits? Supposons que quelqu'un puisse extraire l'application d'un périphérique inscrit et l'installer sur une opération sansrollue - est-ce possible?


Il est tard, mais laissez-moi donner une certaine clarté. Comme je sais que l'on ne peut pas installer une application dans un périphérique iOS comme celui-ci. Bien que cela ne soit pas possible, si quelqu'un l'installe par un piratage alors, bien sûr, il n'y aura aucun moyen de copier UserDefault avec elle.