我最近一直在尝试使用Theos和Obj-C进入iOS开发。我目前正在尝试为运行8.1.1的iPhone 5s进行越狱调整。我目前正在通过SSH编译设备上的所有内容。我一直在尝试编写一个调整,只需在加载Springboard时显示一个警报(就在设备第一次重新生成之后)。尽管四处寻找我还没有找到解决方案。当我安装.deb并重新启动时,我看不到任何警报。我很困惑为什么它没有显示,这是我在tweak.xm文件中的代码。
%hook SpringBoard // Hook SpringBoard, because that is the class that has the method you want to hook
-(void)applicationDidFinishLaunching // When this method is called, you want to execute your code
{
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"AlertView in iOS 8" message:nil preferredStyle:UIAlertControllerStyleAlert];
[alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
[self dismissViewControllerAnimated:YES completion:nil];
}]];
[self presentViewController:alertController animated:YES completion:nil];
%orig; // call normal function so SpringBoard loads.
}
%end
我在那里获得代码非常困难所以这里有一个模式可读的版本https://ghostbin.com/paste/fmv6m
如果需要,我也可以发布我的控件和makefile。
总结一下: 该包是使用该代码创建的,但它不执行任何操作。我想知道为什么以及如何修复它,以便在加载Springboard时显示警告。
感谢您阅读
答案 0 :(得分:1)
使用锁屏的视图控制器。挂钩SBLockScreenViewController
的{{1}}