关于在iOS设备上编译弹窗测试

    %hook SpringBoard
- (void)applicationDidFinishLaunching:(id)application 
{
%orig;
UIAlertView *alertview = [[UIAlertView alloc] initWithTitle:@"弹窗测试!" message:nil delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
[alertview show];
[alertview release];
}
%end

如上,书上是 [alert show]; [alert release];
这个不知道是不是因为我直接在ios上编译,会报错,改成 [alertview show]; [alertview release];就正常了。
并且makefile里:
TARGET = iphone:latest:5.1 这样会提示找不到g++命令
这个就确定因为ios上没有,所以改成:
TARGET = iphone:clang
编译正常。弹窗也正常了。

有遇到到在iOS设备直接编译的可以参考下。我在这顺便问下原因

书上定义的变量就是alert而不是你写的alertview,所以你直接写alert会出错,跟在什么系统编译没关系;
提示找不到g++命令可能是iOS上的Theos特有的报错,我在OSX上测试没发现这个问题

恩,注意到了,感谢,g++确实在cydia找不到,但是有看到clang和clang++,对应gcc和g++。谢谢解答