【问题标题】:SBApplicationController issues (always nil | can't obtain logs)SBApplicationController 问题(始终为零 | 无法获取日志)
【发布时间】:2014-02-05 07:23:48
【问题描述】:

我正在使用 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 输出? (我看到了除了这个应用程序日志之外的所有内容!)。

谢谢

【问题讨论】:

  • 我认为没有调用您的代码。您正在定义一个函数,但它没有被用户或系统调用。
  • 它正在被调用,因为视图背景颜色是红色,如果我放入 UIAlertView 它会正确显示消息。

标签: jailbreak theos logos


【解决方案1】:

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

您可能想要进行调整。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 2016-01-30
    • 2016-05-02
    相关资源
    最近更新 更多