2009-04-08 4 views
9

Quels sont les paramètres Xcode pour dépouiller les symboles pour une application iPhone?symboles de bande pour l'application iPhone

J'utilise ces paramètres dans Xcode mais toujours voir les noms de classe et leurs méthodes dans l'exécutable en utilisant un éditeur de fichiers binaires.

déploiement:

1) Traitement post-déploiement (vérifié)

2) bande de symboles de débogage lors de la copie (cochée)

3) Bande Lié produit (vérifié)

4) Utiliser une bande séparée (cochée)

Lien:

5) Dead Code Stripping (vérifié)

GCC 4.0 - Génération de code

6) Générer des symboles de débogage (non cochée)

Répondre

6

classe Objective-C et des informations de méthode ne peut pas être dépouillées - il est nécessaire pour l'exécution. Le mieux que vous pouvez faire est de trouver une sorte d'obscurcissement, si vous voulez.

3

je l'ai fait.

Je ne vérifié après trois paramètres, un autre paramètre est hors de propos.

1) Déploiement de post-traitement (vérifié)

3) Strip lié produit (vérifié)

4) Utilisez la bande (vérifié séparée)

enter image description here

Bien sûr, vous devez devrait vérifier la version "Distribution" dans l'éditeur de schéma. enter image description here

Alors propre !!! et construire.

I'v a également confirmé que la commande "bande" est appelée par Xcode: Afficher navigateur journal, sélectionnez Build .... version, au fond, j'ai trouvé la description de progression:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip /Users/xxx/Library/Developer/Xcode/DerivedData/aaaaa-dytaamkvztdwfreoqteyeijwqdcu/Build/Products/Distribution-iphoneos/aaaaa.app/aaaaa 

enter image description here

Enfin, I'v vérifié le résultat par commande "nm" au fichier produit final,

nm -a /Users/xxx/Library/Developer/Xcode/DerivedData/aaaaa-dytaamkvztdwfreoqteyeijwqdcu/Build/Products/Distribution-iphoneos/aaaaa.app/aaaaa

Tout le nom de la fonction de l'application actuelle est vraiment effacé.Comme après le nom de la fonction:

000b0a00 t _pj_ioqueue_create

00092ae4 t ___destroy_helper_block_200

00092af8 t ___ 68- [MyClass myMethod: param2] _block_invoke_21782

Remarque : méthode objective-C et chaîne de nom de propriété e produit toujours dans le fichier app, mais ce n'est pas un nom de symbole pour le chargeur OS, ce sont juste des méta-données de la classe objective-C.

Questions connexes