2016-04-12 2 views
0

Je suis passé par presque toutes les questions SO connexes, beaucoup googlé, mais je ne peux pas obtenir de l'aide.Identificateur unique de l'appareil qui peut être visible à la fois pour l'utilisateur et le programmeur iOS 8?

Il y a beaucoup de messages et de réponses SO qui indique utiliser [UIDevice identifierForVendor], mais comme cet ID n'est pas visible par l'utilisateur, je souhaite trouver un moyen différent d'identifier le périphérique de manière unique. Fondamentalement, je développe l'application d'entreprise qui ne va pas à App Store (pas besoin de s'inquiéter des API privées). J'ai un serveur qui a tous les détails des utilisateurs, y compris l'identifiant de l'appareil (ne sais pas quoi utiliser comme identifiant de l'appareil) déjà entré.

Lorsque le périphérique lance l'application, le service Web est appelé et il doit envoyer un ID de périphérique pour authentifier le périphérique.

C'est pourquoi j'ai besoin d'un identifiant de périphérique qui sera visible à l'utilisateur ainsi que le programmeur.

Toute aide est appréciée !!!

Mise à jour
Visible à l'utilisateur », un utilisateur peut voir cet identifiant unique avant d'installer l'application, afin qu'il/elle peut envoyer ce numéro à admin pour l'enregistrer sur le serveur.

Si cet identifiant unique est enregistré sur le serveur, alors seul l'accès sera donné à l'application, sinon l'application ne se connectera pas au serveur.

Répondre

0

Utilisez

NSString* uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; 
NSLog(@"UDID:: %@", uniqueIdentifier); 

Vous avez de mettre un petit boîtier pour vérifier l'application est en cours d'exécution sur simulateur ou sur l'appareil.

+0

** J'ai besoin d'un identifiant d'appareil qui sera visible à l'utilisateur ainsi que d'un programmeur ** comment ce 'identifierForVendor' peut-il être visible par l'utilisateur? – D4ttatraya

0

Vous ne pouvez plus obtenir un identifiant unique de périphérique. "identifierForVendor" est le meilleur que vous obtiendrez. Apple a systématiquement désactivé pour identifier un périphérique spécifique.

Bien que, "identifierForVendor" valeur a également changé après chaque nouvelle installation d'application.

pour plus d'informations visit.

Vous me confondez aussi avec cette ligne "visible à l'utilisateur", pourriez-vous s'il vous plaît être plus précis à ce sujet?

Il y a aussi une autre façon - En utilisant le kit icloud, vous pouvez obtenir un jeton unique du compte utilisateur icloud actuellement connecté. Ceci est unique par application sur l'appareil.

Il semble que vous souhaitez suivre utilisateur en utilisant ID unique ou UDID et Apple n'aime pas donc avant d'aller de l'avant s'il vous plaît visit.

Mise à jour:

Si Apple empêche les utilisateurs de suivi en utilisant ID unique, vous ne devriez pas l'utiliser ensuite.

Vous voulez simplement valider l'utilisateur sur votre serveur. La meilleure solution pour vous est le jeton iCloud,

Récupérez-le et stockez-le dans les paramètres par défaut ou dans le trousseau et utilisez-le où vous le souhaitez. De cette façon, vous pouvez également suivre un utilisateur unique sur différents appareils s'il/elle utilise plusieurs appareils avec le même compte iCloud.

+0

J'ai mis à jour la question concernant 'Visible to User' – D4ttatraya

+0

Dans votre mise à jour vous avez posté "l'utilisateur peut voir cet identifiant unique avant d'installer l'application". Il ne peut pas être fait, comment allez-vous afficher l'ID unique à l'utilisateur si l'application n'est même pas installée ?? –

0

Vous pouvez essayer d'obtenir UDID de l'appareil via le service http://get.udid.io, puis authentifier cet appareil sur votre serveur.

Mais après cela, vous devrez obtenir le même UDID dans vos applications pour le transmettre au serveur ... Il est possible de passer UDID à l'application via un schéma d'URL spécifique.

Que pensez-vous de cette idée? Je peux partager plus de détails si vous l'aimez.

+0

Je suis passé par le lien, mais comme il est dit qu'il utilise MDM, toutes les données comme IMEI, numéro de série et UUID vont à leur serveur, ce que je ne veux pas. – D4ttatraya

+0

Ensuite, vous pouvez créer votre propre solution pour obtenir UDID de la même manière que http://get.udid.io. Que pensez-vous de cette idée? – Vanger

+0

Maintenant, je n'ai que cette façon de le faire arriver, attendons plus de temps pour plus de suggestions ... – D4ttatraya