web-dev-qa-db-fra.com

Apple visualise-t-il le code source lors de l'approbation des applications?

Comment Apple approuve-t-il exactement les applications? Le code source actuel est-il affiché?

34
jarryd

Bien qu'aucun d'entre nous n'ait accès au processus de révision interne (qui semble changer continuellement), il y a quelques choses qui peuvent être dites sur la base des réponses que les gens ont reçues.

Premièrement, Apple n’a pas accès à votre code source et ne le vérifie donc pas. Vous soumettez un fichier binaire dans le cadre d'un ensemble d'applications, avec vos autres ressources d'application.

Cependant, ils semblent analyser le fichier binaire de votre application à la recherche de certains symboles indiquant l'utilisation d'API privées. Un certain nombre d'applications ont commencé à se bloquer après les mises à jour de l'iPhone OS, car elles utilisaient ces API privées. C'est pourquoi Apple s'est attaqué à ce problème.

De nombreuses applications du magasin présentent des fuites de mémoire ou d’autres problèmes de performances. Je sais que j'ai soumis des versions de mes applications présentant des fuites subtiles (corrigées depuis) ​​et aucun problème de révision. Par conséquent, il ne semble pas qu'ils effectuent des tests de performance ou de profilage.

Le seul endroit où une fuite de mémoire provoque un problème lors de la révision est lorsque cette fuite de mémoire devient si grave que l'application se bloque lorsque le réviseur la teste. Si votre application se bloque à un moment quelconque du processus de révision, elle sera rejetée.

Au-delà de cela, ils disposent d'une liste de contrôle des éléments de l'interface utilisateur dont ils vérifient le bon usage (pas de sélections persistantes sur les lignes de la vue tableau, etc.). Si votre application s'écarte considérablement des Human Interface Guidelines , si vous utilisez ces éléments d'interface utilisateur standard, vous risquez d'être rejeté.

Apple fait très attention aux droits d'auteur, en particulier avec leurs propres images et illustrations, de sorte que vous pourriez avoir des problèmes si vous utilisez des informations protégées par des droits d'auteur de manière inappropriée.

La plupart des raisons de rejet auxquelles vous devrez faire face sont évitables en rendant votre application stable et en suivant les consignes de la plate-forme, mais certaines ne le sont pas. Certaines classes d'applications ont été rejetées en raison de l'usage auquel elles sont destinées. De nouveau, les classes d'applications autorisées dans le magasin changent régulièrement. Cela peut ajouter de la frustration et de l'incertitude lorsque vous utilisez l'App Store, mais la grande majorité des types d'applications ne rencontrera jamais de problèmes (comme le montre la diversité des applications actuellement disponibles).

46
Brad Larson

essayez d’utiliser vous-même le binaire otool -L et vous verrez immédiatement si un framework d’API privé s’est utilisé ...

4
user387184

Apple ne se soucie pas des fuites et des informations de profilage pour votre application. Le système d'exploitation est capable de tuer votre application si cela vous échappe. En réalité, ils exécutent manuellement votre application et vérifient si elle respecte certaines consignes de Apple. Dans un processus automatisé, ils extraient des symboles, des sélecteurs et des chaînes de votre fichier binaire et vérifient leur utilisation par des API privées.

Vous voudrez peut-être essayer nm -u sur votre binaire (simulateur).

2
BackMac

Ils n'ont pas accès à votre source. cela ne fait pas partie de ce que vous leur envoyez. Ils testent le binaire que vous leur envoyez pour les fuites et autres. Je pense qu'ils vérifient également les données envoyées par votre application pour s'assurer qu'elle ne fait rien de terriblement mauvais (envoi de mots de passe, etc.).

1
Silverlock

Non, ils ont uniquement accès au code binaire que vous leur envoyez.

Ils peuvent le faire via des profileurs vérifiant les fuites de mémoire, etc.

1
Mongus Pong

Ils ne reçoivent que votre fichier binray de ipa. Ils peuvent obtenir une partie de votre fichier de ressources lors de l'extraction ipa. Ils peuvent en mesure de trouver ce que toutes les URL que vous avez utilisé dans le service Web ou demande d'URL. Rien d'autre que cela.

0
svmrajesh