如何知道应用程序首先在Mac上运行

sha*_*der 3 macos xcode cocoa

在Windows上,我们可以将值写入注册表以了解这一点

但我怎么知道我的应用程序是否是第一次在Mac上运行?我需要执行一些初始化任务.

谢谢

Gui*_*ume 7

您正在寻找班级NSUserDefaults(请参阅Apple文档)

例如:

#define kAlreadyBeenLaunched @"AlreadyBeenLaunched"

    if (! [[NSUserDefaults standardUserDefaults] boolForKey:kAlreadyBeenLaunched]) {
        // This is our very first launch

        // Setting userDefaults for next time
        [[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithBool:YES] forKey:kAlreadyBeenLaunched];

        // Do your first time stuff
        //<##>
    }
Run Code Online (Sandbox Code Playgroud)

您将使用相同的类来保存和检索用户首选项.

此值将保存在~/Library/Preferences/<your_bundle_id>.plist.通过查看文件,这对于了解调试很有用,但您不应该依赖代码中的此实现细节.