Je veux juste créer un plugin MS pour accrocher SpringBoard. Je suis « gojohnnyboi » tutoriel d'ici « http://www.ipodtouchfans.com/forums/showthread.php?t=103558 ». Pour créer un dylib sur XCode, je suis "SkylarEC" tutorial. Je mélange ces deux excellents tutoriels et finalement réussi à obtenir un dylib. Mais quand j'ai placé le dylib dans le /Library/MobileSubstrate/DynamicLibraries/
rien ne s'est passé (aucune alerte n'a été montrée).Comment créer des plugins de substrat mobiles sur XCode?
En évaluant, je trouve que ce dylib n'a pas de point de départ quand il a été chargé dans la mémoire. Donc, je l'ai mentionné un point de départ en déclarant un constructeur dans le fichier .mm comme,
__ attribute__((constructor)) static void init()
{
Class _$SBAppIcon = objc_getClass("SBApplicationIcon");
MSHookMessage(_$SBAppIcon, @selector(launch), (IMP) &__$ExampleHook_AppIcon_Launch, "__OriginalMethodPrefix_");
}
Mais quand je suis en train de compiler, je reçois une erreur comme,
**Undefined symbols:
"_MSHookMessage", referenced from:
init() in ExampleHook.o
ld: symbol(s) not found
collect2: ld returned 1 exit status.**
Est-ce Quelqu'un at-il une idée de comment résoudre ce problème? Ce serait génial et plus utile si quelqu'un partage le tutoriel détaillé/instructions pour créer un dylib sur XCode.
P.S J'ai placé tous les libsubstrate.dylib et les fichiers substrate.h dans l'emplacement correspondant. Et les emplacements sont,
- libsubstrate.dylib: /Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/
- substrate.h: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ iPhoneOS3.0.sdk/usr/include
et mon SDK de base est 3.0.
Merci pour la réponse. Si je supprime le "__ attribut __ ((constructeur))" dans mon code, il est compilé avec succès. je l'ai déjà ajouté le « libsubstrate.dylib » aux cadres existants. Mais pas de chance. Pouvez-vous s'il vous plaît m'aider à résoudre ce problème de compilation? Pourquoi ne pouvez-vous (comme je le vois, vous avez une connaissance approfondie et bon cœur) a écrit un tutoriel pour les débutants comme moi? Vraiment, cela serait plus utile et grandement apprécié. – prathumca