Apple interdit l'utilisation d'API privées ou non documentées dans les applications iOS. Tous les appels que vous effectuez à des méthodes qui portent le même nom que les méthodes d'API privées ou non documentées seront marqués comme une utilisation d'API privée, même si la méthode appelée est quelque chose que vous avez défini vous-même.
App Loader effectue une analyse initiale, vérifiant les noms de méthode, l'accès aux variables d'instance et même l'utilisation de @selector avec des noms de méthode privés. App Loader ne fait pas toujours un excellent travail, et plus vous avez de fichiers source, plus il est susceptible de vous avertir que le fichier d'analyse d'API qu'il a généré est "trop volumineux".
Heureusement, vous pouvez toujours soumettre votre candidature, malgré l'avertissement. Apple le vérifiera en interne, et si quelque chose est renvoyé en raison de noms qui se chevauchent, vous devrez à nouveau parcourir le processus de révision.
Erika Sadun a essayé de créer une application appelée API Kit qui effectuerait l'analyse pour vous, mais elle semble avoir abandonné son travail et supprimé toute trace de l'application de son site Web.
Chimp Studios a créé App Scanner pour faire la même chose, mais il n'a pas été mis à jour depuis 2011. Malheureusement, pour les grands projets - et cela inclut les projets avec beaucoup de pods supplémentaires de CocoaPods - il n'y a pas de bon courant (2014) moyen de résoudre ce problème autre que de nommer les éléments de manière proactive afin qu'ils ne soient pas en conflit avec les noms de méthodes et d'instances d'API privées.
Vous pouvez en savoir plus sur les conventions de dénomination du cacao d'Apple et essayer d'anticiper. Cela réduira les futurs maux de tête. Jusqu'à ce qu'Apple introduise quelque chose comme des espaces de noms, cependant, nous pouvons continuer à rencontrer ce problème de temps en temps.
L'erreur "binaire invalide" peut provenir d'un certain nombre de causes, mais elle n'a aucun rapport avec le document d'analyse d'API créé par App Loader.
Vous devez savoir que même avec l'analyse, il existe encore des moyens de contourner l'interdiction d'utiliser des API privées / non documentées. :)