Comment vérifier si votre code d'application iOS utilise une API qui n'est pas autorisée sur l'App Store?

StackOverflow https://stackoverflow.com//questions/9695408

Question

Je sais qu'il existe des API ou un code restreint qui ne sont pas autorisés à être dans votre application lorsque vous le soumettez à l'App Store.

Comment savez-vous ce qu'ils sont?Existe-t-il un moyen de vérifier votre application avant de le soumettre pour vous assurer que vous n'avez pas utilisé de telles API?

Il est probablement préférable d'éviter ce problème au stade de la conception que d'essayer de le réparer plus tard, alors je me demandais s'il y a un outil en Xcode ou un document pour le déterminer.

Était-ce utile?

La solution

La façon dont Apple entend pour que vous puissiez faire cela consiste à utiliser la fonctionnalité de validation de Xcode . Lorsque vous soumettez une application, vous construisez pour votre correction (ou archive dans le menu Xcode). Ensuite, vous ouvrez l'organisateur pour voir l'archive que vous venez de créer. À ce stade, vous pouvez appuyer sur le bouton Valider dans l'organisateur. Cela effectuera une validation sans soumettre l'application. Il vous dira si vous utilisez des API privées. En fonction de comment vous utilisez-les, cela pourrait identifier ce que la violation est la suivante:

Screenshot d'organisateur

Il y a définitivement des façons que le code peut tromper cette étape de validation et "sortir" avec l'utilisation d'API privées jusqu'à ce que le critique se penche sur le paquet. Mais, autant que je sache, ces manières constitueraient toutes des méthodes intentionnelles consistant à cacher une utilisation de l'API privée, et on dirait que vous essayez de découvrir une utilisation accidentelle.

Si vous échouez à ce test de validation, vous voudrez peut-être utiliser quelque chose comme Appsanner, mentionné dans réponse d'Alan Duncan . Mais, pour la complétude, je voulais faire en sorte que les gens savaient que cette étape de validation est disponible en Xcode et que la vérification de l'utilisation de l'API privée est l'une des choses qu'il fait avant de soumettre (et devez attendre quelques jours à raconter ce que vous fait mal). En outre, même si vous n'utilisez pas le bouton VALIDATEZ dans l'organisateur, mais utilisez simplement Soumettre , l'outil effectue une validation pour vous. La seule différence est de savoir si le paquet est en fait téléchargé sur iTunes Connect.

Autres conseils

Si vous vous tenez à des interfaces documentées comme suggéré ci-dessus, vous allez bien.Le seul problème concerne les bibliothèques tierces dont la mise en œuvre peut vous être opaque.

Il existe une application Mac appelée Appsanner qui analyse de l'utilisation de l'API privée.Je n'ai aucune expérience avec elle, cependant.

Vous aurez plus d'informations sur le processus d'approbation Apple de

  1. Obtenez la liste d'API privée.
  2. Utilisez la classe de classe pour traiter le fichier Mach-o et obtenir la chaîne traitée.
  3. Utilisez REGEX pour obtenir l'interface, la classe ou la méthode de la chaîne.
  4. Faites correspondre l'API à la liste d'API privée.
  5. Puis a eu ~

    J'ai ouvert un porjo pour le faire, mais parce que la raison de mon entreprise a annulé.très désolé pour cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top