我跟着http://brandontreb.com/beginning-jailbroken-ios-development-building-and-deployment
做一个调整。一切似乎都很好, make package install 是成功的,
但是当我的iPhone响起时,“helloworld”框没有出现,
任何人都知道如何解决这个问题?
我的xcode是4.6并安装了sdk5.1 我的iPhone是iOS6.1.2
export THEOS=/opt/theos/
export SDKVERSION=5.1
export THEOS_DEVICE_IP=192.168.1.101
export ARCHS=armv7
export TARGET=iphone:5.1
include $(THEOS)/makefiles/common.mk
helloworld_FRAMEWORKS = UIKit
TWEAK_NAME = helloworld
helloworld_FILES = Tweak.xm
include $(THEOS)/makefiles/tweak.mk
#import <SpringBoard/SpringBoard.h>
%hook SpringBoard
-(void)applicationDidFinishLaunching:(id)application {
%orig;
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome"
message:@"Hello world"
delegate:nil
cancelButtonTitle:@"123"
otherButtonTitles:nil];
[alert show];
[alert release];
}
%end
答案 0 :(得分:1)
我明白了,* .plist应该是
{Filter = {Bundles =(“com.apple.springboard”); }; }
感谢@ H2CO3,我在其他地方找到你的评论
但在我成功完成了helloworld的调整之后
我使用fopen
MSHookFunction
然后我遇到链接错误
Making all for tweak hw...
Preprocessing Tweak.xm...
Compiling Tweak.xm...
Linking tweak hw...
Undefined symbols for architecture armv7:
"_MSHookFunction", referenced from:
global constructors keyed to Tweak.xm.mmin Tweak.xm.51941273.o
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status
make[2]: *** [.theos/obj/hw.dylib.ba964c90.unsigned] Error 1
make[1]: *** [internal-library-all_] Error 2
make: *** [hw.all.tweak.variables] Error 2
这是Tweak.xm
#import "substrate.h"
static FILE * (*s_orig_fopen) ( const char * filename, const char * mode );
static FILE * my_fopen ( const char * filename, const char * mode ){
return s_orig_fopen(filename, mode);
}
static void entry(void) __attribute__ ((constructor));
static void entry(void) {
MSHookFunction(fopen, my_fopen, &s_orig_fopen);
}