主窗口在Snow Leopard上无法正常运行

时间:2013-03-19 13:53:36

标签: cocoa debugging osx-snow-leopard orsserialport

我在山狮的Xcode 4.5中开发的应用程序在Lion和ML上完美运行。

我的Snow Leopard测试人员报告,当应用启动时,它会被禁用。由此他意味着没有任何控件处于活动状态,红色,黄色,绿色的“交通信号灯”显示为灰色。如果打开了另一个覆盖我的应用程序的应用程序,当移动覆盖应用程序时,它所覆盖的任何控件或控件的一部分都不存在。

菜单栏响应,我的偏好设置面板工作。该应用程序可以从菜单中关闭,我不知道它是否可以从键盘关闭。

使用相同序列代码的另一个应用程序可以正常工作。

我需要帮助制定解决方案。我不知道如何追踪这个。

1 个答案:

答案 0 :(得分:2)

从根本上说,问题是你期望数据在NSUserDefaults中。在第一次启动时,NSUserDefaults为您访问的密钥返回nil,并通过以后的代码传递此nil结果会导致抛出异常。解决方案是在应用程序启动时使用NSUserDefaults注册默认值:

@implementation AppController
+ (void)initialize
{
    NSDictionary *defaultValues = @{@"SomeKey" : @"DefaultValue"};
    [[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues];
}
@end