【发布时间】:2014-02-05 07:23:48
【问题描述】:
我正在使用 Theos 构建一个简单的应用程序时遇到一个奇怪的问题。
我正在使用最新的 Springboard 标头(我自己转储/修复了它们)、最新的 ldid 和 libsubstrate,并且我正在我的 iPhone 5 上进行测试(使用 iOS 7.0 .4)。
这是(剪切的)Makefile:
include theos/makefiles/common.mk
APPLICATION_NAME = Reboot
Reboot_FILES = main.m RebootApplication.xm
Reboot_FRAMEWORKS = UIKit
include $(THEOS_MAKE_PATH)/application.mk
这是 RebootApplication.xm 中的代码:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];
UIViewController *vc = [[UIViewController alloc] init];
vc.view.backgroundColor = [UIColor redColor];
self.window.rootViewController = vc;
[self.window makeKeyAndVisible];
id sbappc = [%c(SBApplicationController) sharedInstance];
NSLog(@"SBApplicationController: %@",sbappc);
NSLog(@"SBApplicationController: %@",sbappc);
NSLog(@"SBApplicationController: %@",sbappc);
NSLog(@"SBApplicationController: %@",sbappc);
NSLog(@"SBApplicationController: %@",sbappc);
return YES;
}
我的问题是:
1) 为什么 sbappc 总是 nil?
2) 为什么我在 /var/log/syslog 中看不到 NSLog 输出? (我看到了除了这个应用程序日志之外的所有内容!)。
谢谢
【问题讨论】:
-
我认为没有调用您的代码。您正在定义一个函数,但它没有被用户或系统调用。
-
它正在被调用,因为视图背景颜色是红色,如果我放入 UIAlertView 它会正确显示消息。