xcode - 如何知道应用程序是否首次在 Mac 上运行

标签 xcode macos cocoa

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

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

谢谢

最佳答案

您正在寻找类(class)NSUserDefaults (参见Apple Documentation)

例如:

#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
        //<##>
    }

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

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

关于xcode - 如何知道应用程序是否首次在 Mac 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8669388/

相关文章:

iphone - 如何在 iOS 框架中添加核心数据类

ios - xcode 跳转条符号表示

objective-c - NSUserDefaults 没有在 cocoa 中保存任何值

python - 无法更改 python 路径并配置 anaconda

objective-c - 裁剪区域之间的间隙

objective-c - 允许单击并拖动 View 以拖动窗口本身?

ios - 两个不同的按钮对同一 View Controller 执行 segue,但希望通过一个按钮禁用 segue 的用户交互

ios - 导航栏背景图片太大

cocoa - 如何使用 URL 开始调试 Cocoa 应用程序?

objective-c - 没有上下文的 NSRectFill 会导致调试警告