Je soumets le jeu ios à l'App Store.
xcode m'apporte des erreurs Utilisation d'un identifiant publicitaire incorrect [IDFA]. Votre application contient l'API Advertising Identifier [IDFA], mais vous n'avez pas indiqué son utilisation sur la page Préparer le téléchargement dans iTunes Connect.
Comment résoudre ce problème? Toute aide approuvée.
Vous pouvez télécharger n'importe quelle application avec le même bundleID. Une fois le téléchargement terminé, vous pouvez rejeter le fichier binaire et la prochaine fois que vous modifierez le statut Prêt pour le téléchargement, n'oubliez pas de vérifier [IDFA].
Tout est arrivé à son état habituel maintenant. Téléchargez simplement votre fichier binaire, comme vous l'avez déjà fait, et classifiez IDFA en deux catégories:
publisher: vous utilisez une bibliothèque de réseaux publicitaires tiers pour afficher des publicités. Choisissez la 1ère option dans IDFA -> "Diffuser des publicités dans l'application" . Vous êtes un éditeur car vous diffusez des annonces, mais ne réalisez pas de publicité pour votre propre application.
Annonceur: vous utilisez des bibliothèques tierces pour suivre les conversions de votre application, ainsi que les "objectifs" de votre application. Vous ne diffusez pas d'annonces directement dans votre application . Choisissez les 2ème et 3ème options dans IDFA -> "Attribuez cette installation à une annonce précédemment diffusée" . AND "Attribuez une action effectuée dans cette application. à une annonce précédemment diffusée ".
Mixte: vous suivez les conversions de votre application et affichez des annonces dans celle-ci ..__ Choisissez les trois options.
Vous devez cocher "Oui" sur la page Préparer le téléchargement: Mais lorsque vous avez coché la case «Non», vous êtes coincé avec cette nouvelle version sur iTunes Connect et vous ne pouvez plus revenir dans la page Préparer le téléchargement ni supprimer votre nouvelle version.
Pour le moment, il semble que votre application soit verrouillée pour toujours sur l'ancienne version lorsque cette erreur se produit . Apple doit résoudre ce problème!
Cela a fonctionné pour moi en ce moment.
à propos, activer cette option ne nous aide pas
Selon ce article , qui décrit un éditeur qui partage ce que Apple lui a dit après avoir reçu le même problème.
Apple a conseillé à l'éditeur de vérifier le code, y compris les bibliothèques tierces, pour éliminer tout problème concernant:
classe: ASIdentifierManager
sélecteur: advertisingIdentifier
cadre: AdSupport.framework
J'ai eu le même problème et j'ai recherché les exemples ci-dessus ... J'ai trouvé une méthode avec eux dans l'api Playhaven, et après avoir commenté cette section, je n'ai plus eu l'erreur.
Une mise à jour de l'API Playhaven a peut-être corrigé cela aussi, mais je ne suis pas sûre… J'ai simplement opté pour la «solution rapide».
Vous devez simplement télécharger une application avec le même identifiant de bundle et aucun support publicitaire, puis rejeter le fichier binaire et vérifier les nouvelles options de publicité. Ensuite, vous pouvez soumettre votre application sans problème.
Le site iTunesConnect a modifié le flux de travail lorsque vous gérez cet avertissement. Vous devrez télécharger votre application avec cet avertissement (au moins avec XCode 5.1.1).
Dans iTunesConnect, vous sélectionnez maintenant votre version après le téléchargement à partir de XCode. Après avoir sélectionné la construction, puis en cliquant sur «Soumettre pour révision», vous obtiendrez les invites que vous avez précédemment définies lors de la préparation du téléchargement (plus précisément «Identificateur de publicité»).
J'étais également confronté à cet avertissement lors de la validation de l'application avec iTunes Connect et j'utilisais FacebookSDK.framework qui a été téléchargé à partir de Ref Link . Dans FBUtility.m, j'ai commenté ci-dessous le code et retiré Adsupport.Frmaework
+ (NSString *)advertiserID {
NSString *advertiserID = nil;
Class ASIdentifierManagerClass = [FBDynamicFrameworkLoader loadClass:@"ASIdentifierManager" withFramework:@"AdSupport"];
if ([ASIdentifierManagerClass class]) {
ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
advertiserID = [[manager advertisingIdentifier] UUIDString];
}
return advertiserID;
}à
+ (NSString *)advertiserID {
return @"";
}
et changé une autre fonction dans la même classe FBUtility.m
+ (FBAdvertisingTrackingStatus)advertisingTrackingStatus {
if ([FBSettings restrictedTreatment] == FBRestrictedTreatmentYES) {
return AdvertisingTrackingDisallowed;
}
FBAdvertisingTrackingStatus status = AdvertisingTrackingUnspecified;
Class ASIdentifierManagerClass = [FBDynamicFrameworkLoader loadClass:@"ASIdentifierManager" withFramework:@"AdSupport"];
if ([ASIdentifierManagerClass class]) {
ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
if (manager) {
status = [manager isAdvertisingTrackingEnabled] ? AdvertisingTrackingAllowed : AdvertisingTrackingDisallowed;
}
}
return status;
}
à
+ (FBAdvertisingTrackingStatus)advertisingTrackingStatus {
FBAdvertisingTrackingStatus status =AdvertisingTrackingUnspecified;
return status;
}
J'ai enlevé ce FacebookSDK.framework et téléchargé le framework Facebook de Ref Link . J'ai résolu cet avertissement en utilisant cette méthode et j'ai téléchargé l'application avec succès.
Et aussi voir cette question de pile Lien pour éviter le rejet, trouver et supprimer le cadre indésirable.
Si vous sélectionnez "Oui" pour l'IDFA dans la page de téléchargement iTC, assurez-vous que votre AdBlocker est désactivé dans les préférences Safari, sinon vous obtiendrez l'erreur "Vous devez sélectionner la manière dont votre application utilise l'IDFA" vous cliquez sur "Continuer", mais vous ne pouvez pas choisir cette utilisation.
Si votre adblocker est désactivé et que tout fonctionne comme il se doit, la page HTML s'affiche pour afficher les options à sélectionner, en bas.
j'ai le même problème.
Notre application utilise simplement les bibliothèques googleAnalytics/googleMaps et la bibliothèque TestFlight. Je suis coincé avec une nouvelle version sur iTunes, connectez-vous sans drapeau sur IDFA.
Nous ne pouvons pas supprimer cette bibliothèque car l'application ne compilera plus correctement.
Quelle est la solution? Créez simplement une application vide avec les mêmes identifiant de bundle et de version, chargez-la sur iTunes Connect, puis arrêtez la publication? Vraiment?
Merci :)
Si le problème ne concerne que le SDK Google Analytics pour iOS, vous pouvez le mettre à niveau: la nouvelle version supprime les dépendances d'AdSupport Framework, et donc d'IDFA.
Comme réponse complète et détaillée à ce que @iDurocher a dit:
1. Assurez-vous de disposer d'au moins une version active de la pré-version après le téléchargement de votre binaire (choisissez la version préliminaire, puis assurez-vous qu'il existe une version cliquable; notez que le traitement prend du temps, environ une demi-heure).
2. Revenez à l'écran Versions et sélectionnez pour ajouter la version téléchargée.
3. Appuyez sur Soumettre pour révision maintenant, on vous posera des questions sur l'IDFA.
Facebook iOS SDK
utilise également IDFA. Si j'ai bien compris, IDFA ne devrait être utilisé qu'à des fins publicitaires, selon les informations d'iTunes Connect. Je l'ai enlevé et ça va maintenant.
J'ai eu le même problème et j'ai résolu de télécharger l'application, malgré l'avertissement IDFA. Ensuite, l'IPA est rejetée et vous pouvez recommencer avec la page "Préparer le téléchargement" activée . Assurez-vous de cocher "Oui" dans la section "Identifiant publicitaire" de la page "Préparer le téléchargement".
-Réjecter le binaire.
-Upload de nouveau binaire.
-Vérifiez l'option “Est-ce que cette application utilise l'identifiant publicitaire (IDFA)”
et vous avez terminé.
Vous devez modifier le code sur MixPanel.m si vous l'utilisez.
- (NSString *)defaultDistinctId
{
NSString *distinctId = nil;
if (NSClassFromString(@"ASIdentifierManager")) {
distinctId = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
}
if (!distinctId) {
NSLog(@"%@ error getting ifa: falling back to uuid", self);
distinctId = [[NSUUID UUID] UUIDString];
}
if (!distinctId) {
NSLog(@"%@ error getting uuid: no default distinct id could be generated", self);
}
return distinctId;
}
à
- (NSString *)defaultDistinctId
{
return @"";
}
et commentaires ci-dessous sur les lignes collectAutomaticProperties, collectAutomaticProperties
// if (NSClassFromString(@"ASIdentifierManager")) {
// [p setValue:[[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString] forKey:@"$ios_ifa"];
// }
J'ai eu le même problème avec le SDK Admob (GoogleMobileAds) lors de la validation de l'application avec Xcode.
Ma solution était:
Distribuer l'application avec Xcode sur iTunes Connect
Désactiver Adblock dans Safari pour la page iTunes Connect
L'application a été déclarée non valide en raison d'une utilisation incorrecte d'IDFA dans iTunes Connect
J'ai à nouveau la page "Préparer le téléchargement"
J'ai activé l'utilisation de l'identifiant publicitaire sur cette page, et le tour est joué