0

我正在使用 Theos 构建一个简单的应用程序时遇到一个奇怪的问题。

我正在使用最新的 Springboard 标头(我自己转储/修复了它们)、最新的 ldidlibsubstrate,并且我正在我的 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 输出?(我看到了除此应用程序日志之外的所有内容!)。

谢谢

4

1 回答 1

1

SBApplicationController 是一个 SpringBoard 类。当您在应用程序(不是 SpringBoard)中运行代码时,该类不存在。

您可能想要进行调整。

创建一个新的 Theos 项目,这次选择“tweak”模板。

于 2014-01-18T14:16:54.133 回答