Bah je vois pas pourquoi ça poserait problème : non seulement il respecte les préco d'Apple et crée un UUID maison, mais en plus il fait les choses propres et utilise la keychain pour le stocker pour qu'il soit persistant entre réinstallations.
J'ai parcouru son code vite fait, moi ça m'a convaincu (contrairement à OpenUDID qui est d'un complexe assez violent tout ça pour pouvoir partager un UDID entre plusieurs applis par un protocole un peu bizarre qui utilise des slots et de la redondance et tout... buldozer pour tuer la mouche quoi)
Ok mais c'est JegnuX qui porte à confusion, pas moi /tongue.png' class='bbc_emoticon' alt=':P' />
Parce que tous les messages d'avant parlent de BPXL :
- @Kixxx cite @Ceetix qui parle de BPXL, et dis qu'il arrive pas à compiler
- Je lui répond que c'est parce qu'il manque Security.framework (on parle toujours de BPXL là , du coup, forcément)
- @Ceetix répond "On peut l'utiliser safe dans une appli" : il parlait déjà de BPXL et pas OpenUDID et pose la question après plusieurs messages causant de BPXL, donc je suppose qu'il parle toujours de lui
C'est là que si JegnuX utilise OpenUDID et pas BPXL et répond à @Ceetix qu'il va tester sous peu, il y a confusion car JegnuX va tester OpenUDID alors que Ceetix et tous les autres messages avant parlaient de BPXL /tongue.png' class='bbc_emoticon' alt=':P' />
Oh collègue, j'utilise cette classe pour le push dans les deux apps Total ^^
Et je parlais de OpenUDID à ce moment là .
Donc soit JegnuX n'a pas du tout compris que je parlais de openUDID, soit il parlait d'une autre app. Dans tous les cas ça prête quand même à confusion.
Donc soit JegnuX n'a pas du tout compris que je parlais de openUDID, soit il parlait d'une autre app. Dans tous les cas ça prête quand même à confusion.
Oh bah il se pourrait que je n'ai pas bien vu le message de igreg à ce moment là ... /rolleyes.gif' class='bbc_emoticon' alt='::)' />
J'utilise easy apns et cette histoire de "unique identifier me pose" problème" , j'ai essayé le code ci dessous (celui que aliGator a posté en début de sujet):
Met à jour easyapns sur ton serveur. ça fait genre plus d'un an qu'ils l'ont mis à jour pour corriger ce cas des 40 caractères (mon post d'avant date d'avril 2012 quand même, ça ait plus d'un an et demi que les UDID sont dépréciés et même interdits par Apple et que tous les frameworks se sont mis à jour, mais si tu utilises encore une version de mathusalem avec sa limitation de l'époque et le champ dans la base limité à 40, c'est sur tu ne vas pas aller loin !
c'est bon j'ai effectivement corriger dans le fichier le cas des 40 caractères, ça fonctionne très bien , merci à tous.
J'ai une autre question, j'ai donc mis à jour mon appli mais j'avais déjà une centaines d'appli rentrer dans ma base de données avec un numero de device (uniqueIdentifier).
Seront ils pris en compte lors de mes envois de notifications car les personnes qui font effectuer la mise en jour seront en doublon dans ma base avec 2 numéro de device différents du coup.
Dois je vider ma base de données et quand ils feront la mise a jour leur device seront dans ma base sans doublon.
Réponses
Je te dis ça bientôt ^^
J'ai parcouru son code vite fait, moi ça m'a convaincu (contrairement à OpenUDID qui est d'un complexe assez violent tout ça pour pouvoir partager un UDID entre plusieurs applis par un protocole un peu bizarre qui utilise des slots et de la redondance et tout... buldozer pour tuer la mouche quoi)
ARRETEZ AVEC "LA" KEYCHAIN çA ME REND FOU
@Aligator:
Justement, JegnuX a dit qu'il avait utilisé OpenUDID (cf page 1).. ou alors j'ai râté le train en marche.
J'ai pas reparlé de JegnuX moi... juste parlé de ce que j'avais utilisé moi, et pourquoi, suite à mes comparaisons...
[/font]
Parce que tous les messages d'avant parlent de BPXL :
- @Kixxx cite @Ceetix qui parle de BPXL, et dis qu'il arrive pas à compiler
- Je lui répond que c'est parce qu'il manque Security.framework (on parle toujours de BPXL là , du coup, forcément)
- @Ceetix répond "On peut l'utiliser safe dans une appli" : il parlait déjà de BPXL et pas OpenUDID et pose la question après plusieurs messages causant de BPXL, donc je suppose qu'il parle toujours de lui
C'est là que si JegnuX utilise OpenUDID et pas BPXL et répond à @Ceetix qu'il va tester sous peu, il y a confusion car JegnuX va tester OpenUDID alors que Ceetix et tous les autres messages avant parlaient de BPXL /tongue.png' class='bbc_emoticon' alt=':P' />
(nan mais !)
Après Draken avec son Core Image, voici Louka et sa keychain...
@Louka t'as vu profites-en on te donne une excuse en or pour prendre des vacances /thumbsup.gif' class='bbc_emoticon' alt='' />
Et je parlais de OpenUDID à ce moment là .
Donc soit JegnuX n'a pas du tout compris que je parlais de openUDID, soit il parlait d'une autre app. Dans tous les cas ça prête quand même à confusion.
Oh bah il se pourrait que je n'ai pas bien vu le message de igreg à ce moment là ... /rolleyes.gif' class='bbc_emoticon' alt='::)' />
Bonjour à tous,
Je relance le sujet.
J'utilise easy apns et cette histoire de "unique identifier me pose" problème" , j'ai essayé le code ci dessous (celui que aliGator a posté en début de sujet):
à la place de:
mais l'appli ne passe toujours pas la validation..
Quelqu'un a t'il réussi à corriger ce problème aves easyapns?
Merci à tous.
Il semble que la recommandation maintenant soit d'utiliser identifierForVendor de UIDevice, disponible depuis iOS 6.0.
oui j'ai essayer mais quand j'utilise ce principe je n'ai aucune données rentrées dans ma base de données ...je ne sais pas pourquoi ,
Voilà ce que j'ai fait avec la même problématique :
NSString *deviceUuid = [BPXLUUIDHandler UUID];
/*
if ([dev respondsToSelector:@selector(uniqueIdentifier)])
deviceUuid = dev.uniqueIdentifier;
else {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
id uuid = [defaults objectForKey:@deviceUuid];
if (uuid)
deviceUuid = (NSString *)uuid;
else {
CFStringRef cfUuid = CFUUIDCreateString(NULL, CFUUIDCreate(NULL));
deviceUuid = (__bridge NSString *)cfUuid;
CFRelease(cfUuid);
[defaults setObject:deviceUuid forKey:@deviceUuid];
}
}*/
Et ça juste marche.
merci je suis entrain d'essayer par contre j'ai des erreurs:
il y a t'il autre chose à installer à part les 2 fichiers h et m?
en fait il fallait installer le framework "security".
Bon toujours rien ne rentre dans ma base donnée.
Avant j'ai un numero de device à 40 chiffres mais la je pense que le problème est que maintenant j'ai un numero de device comme cela:
TBC50697-8UB5-4F02-8C90-2BD1E55L75D9
tu n'as pas recontré ce robléme avec easyapns?
De mon côté ça marche, je stocke la chaine avec les tirets dans la base.
En fait easyapns vérifie juste dans le code php que la chaine a une taille inférieure à 40 caractères.
Après il y a le schema de la base de donnée, il est réglé sur CHAR(40) et ça passe.
En fait, l'intérêt de stocker cette chaine s'est reduit depuis que ce n'est plus le vrai UUID.
Tu pourrais t'en passer.
Les autres champs sont-ils bien stockés ?
cela marche très bien en mode développement quand je met "unique identifier" mais apple le refuse evidemment .
il ne veut juste pas stocker dans la base quand je le change avec la méthode que tu m'as donné.
je vais suivre tes conseils et m'en passer , je vais voir ce que cela donne.
Mais c'est bizarre que cela fonctionne pas.
Merci en tout cas pour tous ses bons conseils.
c'est vraiment tres bizarre j'ai un enregistrement seulement si je laisse:
si je l'enlève ou si je me sert de ta méthode , je n'ai pas d'enregistrement et le returndata ( NSLog(@Return Data: %@", returnData);) n'est pas vide.
bref un peu galère cette histoire..
voila l'erreur que j'obtiens:
Fatal error: Device ID must be 40 characters in length
donc cela vient de la table, le numero du device doit obligatoirement faire 40 caracteres d'ou l'erreur.
tu n'as pas eu ce problème alors, j'ai fais regarder dans le code php
L'erreur est généré par le code php dans le fichier class_apns.php :
dans ma version de ce fichier, je n'ai pas le même code (j'ai <40 et pas != 40), j'ai dû faire la modif sans tracer (c pas bien).
Donc tu modifies ce fichier et tout ira bien.
J'ai trouvé la solution en cherchant le message d'erreur sur google :
"easyapns Device ID must be 40 characters in length"
Note que pour avoir la dernière version, il faut aller sur github, le site easyapns.com n'étant pas à jour.
c'est bon j'ai effectivement corriger dans le fichier le cas des 40 caractères, ça fonctionne très bien , merci à tous.
J'ai une autre question, j'ai donc mis à jour mon appli mais j'avais déjà une centaines d'appli rentrer dans ma base de données avec un numero de device (uniqueIdentifier).
Seront ils pris en compte lors de mes envois de notifications car les personnes qui font effectuer la mise en jour seront en doublon dans ma base avec 2 numéro de device différents du coup.
Dois je vider ma base de données et quand ils feront la mise a jour leur device seront dans ma base sans doublon.
up pour la base de données, dois-je la vider?
merci