我是越狱调整开发的新手。现在我只想在第一次加载springboard
时收到警报对话框。
Tweak.mx
%hook Springboard
-(void)applicationDidFinishLaunching:(id)application {
%orig;
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome" message:@"Hello akash " delegate:nil cancelButtonTitle:@"Thanx" otherButtonTitles:nil];
[alert show];
[alert release]
}
%end
生成文件
include theos/makefiles/common.mk
ARCHS = armv7 armv7s arm64
test_FRAMEWORKS= UIKit
TWEAK_NAME = test
test_FILES = Tweak.xm
include $(THEOS_MAKE_PATH)/tweak.mk
after-install::
install.exec "killall -9 SpringBoard"
所以在这里我可以正确编译这个调整,并且我的iPhone也得到了恢复。所以此时我应该收到这个警报,但我在屏幕上没有任何内容。我错过了什么步骤
我正在使用
iPhone 5s
ios 7.1.2
编辑
我可以看到控制台输出,其中记录在错误下方
<Error>: MS:Error: dlopen(/Library/MobileSubstrate/DynamicLibraries/test.dylib, 9): no suitable image found. Did find:
/Library/MobileSubstrate/DynamicLibraries/test.dylib: no matching architecture in universal wrapper
然后我还使用 file test.dylib
看到它的文件类型
test.dylib: Mach-O universal binary with 2 architectures
test.dylib (for architecture armv7): Mach-O dynamically linked shared library arm
test.dylib (for architecture armv7s): Mach-O dynamically linked shared library arm
这意味着,我没有得到arm64 architecture
这就是为什么它在我的iPhone 5s
上失败,因为它64bit
,谁能指出如何做到这一点?
最后我找到了解决方案,
只需要把ARCHS = armv7 armv7s arm64
放在前面 include theos/makefiles/common.mk
所以现在我的制作文件是
ARCHS = armv7 armv7s arm64
include theos/makefiles/common.mk
test_FRAMEWORKS= UIKit
TWEAK_NAME = test
test_FILES = Tweak.xm
include $(THEOS_MAKE_PATH)/tweak.mk
after-install::
install.exec "killall -9 SpringBoard"
你钩错了函数?您正在寻找的功能是
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions