samedi 28 janvier 2012

Vous ne devriez pas, mais vous ...

Class-Dump est un outil indispensable dans l'arsenal du programmeur Cocoa. Il va lire un compilé Objective-C binaires et imprimer les fichiers en-tête pour toutes les classes utilisées dans ce fichier. Selon les paramètres utilisés pour compiler, il peut ne pas avoir le nom correct variable, mais il aura les signatures de méthode correcte, même ceux qui ne sont pas déclarés dans les têtes du public.

Maintenant, pour l'iPhone, nous ne pouvons pas utiliser la classe-Dump, parce qu'il ne reconnaît pas les binaires compilés pour les processeurs ARM6. De plus, nous ne devrions pas l'utiliser, car elle signifie que nous sommes farfouillé dans des trucs privés qui pourraient obtenir notre application banni de l'App Store.

Mais, pour les curieux, j'ai pensé souligner que vous pouvez réellement utiliser Class-dump sur les cadres pour iPhone, vous avez juste à le lancer sur le cadre qui se trouve dans le SDK pour le simulateur plutôt que de l'appareil. Le simulateur d'iPhone n'est pas un émulateur .. ce n'est pas courir ARM6 codes octet, il fonctionne codes octets X86 (sauf pour ceux qui ont coquine installé le SDK sur un Mac PPC).

Alors, voulez voir les en-têtes de la UIKit dans toute leur gloire?


cd /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.1.sdk/System/Library/Frameworks/UIKit.framework
class-dump UIKit > ~/Desktop/UIKit.txt


Mais, chut .... Vous n'avez pas l'apprendre de moi.

Aucun commentaire: