eWo*_*olf 2 compiler-construction iphone gcc makefile objective-c
我通过本教程创建了一个MobileSubstrate插件.我可以编译示例钩子没有错误.
但是只要我补充一下
#import <SpringBoard/SBAwayController.h>
Run Code Online (Sandbox Code Playgroud)
在ExampleHookProtocol.h和
SBAwayController *awayController = [SBAwayController sharedAwayController];
Run Code Online (Sandbox Code Playgroud)
in ExampleHookLibrary.mm(作为__$ExampleHook_AppIcon_Launch函数的第一行)我在尝试时得到以下错误消息make(由后一个更改触发):
Undefined symbols:
"_OBJC_CLASS_$_SBAwayController", referenced from:
__objc_classrefs__DATA@0 in ExampleHookLibrary.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [ExampleHook.dylib] Error 1.
Run Code Online (Sandbox Code Playgroud)
SBAwayController的头文件位于/var/toolchain/sys30/usr/include/SpringBoard,例如SBApplicationIcon.h,ExampleHook使用的头文件.
我正在编译我的iPod touch 2G.
谁能帮我?
提前致谢,
埃里克
由于编译时无需链接,因此需要在运行时获取类,因此请添加
Class $SBAwayController = objc_getClass("SBAwayController");
Run Code Online (Sandbox Code Playgroud)
在初始化程序中,并进行更改
SBAwayController *awayController = [SBAwayController sharedAwayController];
Run Code Online (Sandbox Code Playgroud)
至
SBAwayController *awayController = [$SBAwayController sharedAwayController];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
884 次 |
| 最近记录: |