10
votes

Détecter l'utilisation d'API privées

Je suis rejeté sur l'App Store pour utiliser des variables d'instance privée dans mon application. Les ivars que j'utilise soi-disant ne sont certainement pas accessibles dans mon code, mais j'utilise une ou deux libs statiques de tiers. Comment puis-je tester si ceux-ci pouvaient réellement être les délinquants?

mise à jour:

Apple m'accuse-moi (et tiers libs) d'utiliser des variables d'instance privée dans la classe UITOUCH, y compris

  • _LocationInwindow
  • _tapcount
  • _PréviouslocessionInwindow
  • _timettamp
  • _Touchflags
  • _PHASE
  • _Window

2 commentaires

Que diriez-vous de remplacer les tiers libs par des tiers par ne pas offenser les talons et le test si elle échoue?


Je ne veux pas avoir à passer par 2 cycles d'évaluation si je peux le faire en un


4 Réponses :


1
votes

J'utilise une ou deux libs statiques des tiers

Contactez les tiers, demandant une explication, ils ont écrit le code, ils doivent savoir ce qui est là. Ils pourraient avoir un forum ou une section de commentaires, où d'autres utilisateurs auraient peut-être déjà exprimé ces préoccupations et vous pouvez rechercher des réponses et des alternatives.


1 commentaires

J'ai fait les deux, le vendeur nie à l'aide des API privées et je n'ai pas trouvé de plaintes similaires, mais j'aimerais toujours savoir à coup sûr



5
votes

Vous pouvez utiliser nm pour numériser pour quelle bibliothèque utilise le ivar en question. xxx

Si vous obtenez une ligne, je Pensez avec une capitale u , avec le nom du ivar Vous avez probablement un suspect.


3 commentaires

Exactement les choses que je recherchent, lui donnera une bash. Merci


Ok donc j'ai ran nm -a static_lib.a et il ne ressemble pas à une affichage des appels de message aux cours Uikit, il ne montre que quelque chose comme ceci: u .Objc_class_name_nscharacterset


J'ai lu votre mise à jour. Ces VARS sont accessibles d'une manière constante, ce qui leur permet d'être compensés par les compilateurs ... Donc, je pense que vous devriez vous concentrer sur quelles pièces utilisent UITOUCH Stuff. IE, qui utilise / définit Touchsbegin: / touchesmove: / touchesend:



10
votes

Je ne sais rien sur la détection du problème, mais nous avons rencontré ce problème récemment; Dans notre cas, c'était causé par la bibliothèque de trois20. Si vous utilisez, voir http://groups.google.com/ Groupe / trois20 / Browse_thread / Thread / C442AF6E39A918B0 / 2375E7A158EE9D1B pour une discussion / solutions possibles.


1 commentaires

J'utilise effectivement trois20, on dirait que cela résoudra mon problème. Merci un tas



0
votes

Pour ceux qui ont de nombreuses bibliothèques tiers, peuvent vérifier votre projet de telle manière dans votre chemin de projet, par exemple si vous souhaitez trouver graphique : xxx


0 commentaires