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

2024-01-03

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

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

Thanks


您正在寻找班级NSUserDefaults (see 苹果文档 http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html)

例如:

#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。通过查看文件来了解这一点对于调试很有用,但您不应该在代码中依赖此实现细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何知道应用程序是否首次在 Mac 上运行 的相关文章

  • Swift 中的 AURenderCallback

    我正在创建一个使用音频单元的应用程序 虽然 Objective C 中有很多代码示例 包括 Apple 自己的 aurioTouch 等 但我正在尝试用 Swift 编写整个代码 我已经能够设置我的 AUGraph 并通过它运行一些音频 但
  • 我应该在我的 iOS Objective-C 项目中使用它吗?

    Xcode 中的 构建设置 中的 Mach O 类型是什么 应该设置什么 它有这些选项 可执行文件 动态库 捆绑包 静态库 可重定位对象文件 自从我将其从可执行文件更改为静态库以来 我遇到了错误 Apple Mach O 链接器错误组 我的
  • 由于“环境错误:[错误 13]:权限被拒绝:'usr/local/bin/f2py'”而无法安装软件包

    我正在尝试在 macOS X 上安装 numpy 但执行命令后pip install numpy我收到错误 环境错误 错误13 权限被拒绝 usr local bin f2py 我如何解决它 这对我有用 pip3 install user
  • OSX Swift 在默认浏览器中打开 URL

    如何使用 Swift 作为编程语言和 OSX 作为平台在系统默认浏览器中打开 URL 我发现了很多UIApplication like UIApplication sharedApplication openURL NSURL string
  • CMake Xcode生成器创建了一个无法构建的项目

    我有一个使用 CMake 构建系统的 C 项目 我使用 MacBook Pro 进行开发 因此当我使用终端时 一切都非常顺利 我可以构建我的项目 然而 今天我发现我可以在使用 CMake 生成器创建相应的项目后使用 Xcode gt cma
  • 如何从 MacOS X Dock 启动脚本?

    我知道我可以将应用程序固定到扩展坞并从那里启动它们 但是 有没有办法将不是 MacOS 意义上的 应用程序 的程序 例如 bash 脚本 固定到扩展坞上 您可以将任何文件拖到 Dock 的右侧栏 垃圾箱和文件夹所在的位置 然后单击它来执行它
  • 在 OS X 上以编程方式禁用环境光传感器屏幕调暗

    我已经在内核代码仓库中挖掘了好几天了 但我在任何地方都找不到这个 我想禁用 启用 检测许多高端 Mac 笔记本电脑所具有的基于环境光传感器的屏幕调光的状态 这是通过显示控制面板中的 自动调整亮度 复选框激活的调光 请注意 我是NOT谈论半暗
  • 将 UIRefreshControl 用于 UIWebView

    我在 iOS 6 中看到了 UIRefreshControl 我的问题是是否可以通过下拉来刷新 WebView 而不是像在邮件中那样让它弹出 我使用 rabih 的代码是 WebView UIRefreshControl refreshCo
  • 对 boost 库的依赖项没有完整路径

    我已经成功构建了动态库 依赖于使用自定义前缀构建和安装的 boost 库 b2 install prefix PREFIX 然而 当我跑步时otool L在我的库中 我得到如下输出 libboost regex dylib compatib
  • 为什么我的 PyGame 应用程序根本不运行?

    我有一个简单的 Pygame 程序 usr bin env python import pygame from pygame locals import pygame init win pygame display set mode 400
  • 显示器连接或断开连接时的通知

    我正在开发一个 OS X 应用程序 该应用程序在所有连接的显示器的所有可用空间上显示自定义窗口 我可以通过调用 NSScreen Screens 获取可用显示对象的数组 我目前缺少的是一种判断用户是否将显示器连接到系统或从系统断开屏幕的方法
  • 无法安装企业应用程序 - 此配置文件无法安装在此设备上

    我正在设置 Jenkins 来构建应用程序的企业版本 以便在我们的内部应用程序商店中分发 如果我将应用程序存档在 Xcode 中 然后在手机上下载内置的 ipa 则应用程序安装不会出现任何问题 但是当我使用 Jenkins 生成的具有相同私
  • SwiftUI - 预览时未知的预览提供程序“ContentView_Previews_”。发生在一个全新的项目中

    我有这个简单的观点 import SwiftUI struct ContentView View var body some View Text Hello struct ContentView Previews PreviewProvid
  • 分段错误:当我运行 Pygame 时为 11

    有人问过类似的问题here https stackoverflow com questions 34278488 pygame display causing segmentation fault 11 但没有得到答复 我有 Python
  • Docker 容器 - 如何配置使其在 vagrant 中运行时获得可行的 IP 地址?

    Docker www docker io 看起来棒极了 然而 安装 VirtualBox 后 Vagrant 最后是 Mac 上的 Docker 我发现无法从另一台计算机 或从 Mac 上的终端会话 访问 Docker 容器中运行的服务 我
  • 使用 UIKeyCommand 检测删除键

    任何人都知道如何使用检测 删除 键UIKeyCommand在 iOS 7 上 当人们在使用 Swift 时遇到问题时 我认为用 Objective C 和 Swift 编写一个小型的 完整的例子可能是一个很好的答案 请注意 Swift 没有
  • ca 证书 Mac OS X

    我需要在emacs 上安装offlineimap 和mu4e 问题是配置 当我运行 Offlineimap 时 我得到 OfflineIMAP 6 5 5 Licensed under the GNU GPL v2 v2 or any la
  • 如何在 Mac 上设置默认 shell,例如钓鱼? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不喜欢重新输入fish每次我启动终端时 我想Fish https en wikipedia org wiki Fish Unix she
  • 为每行 NSTableView 文本着色

    我有一个 NSTableView 它显示我拥有的对象数组 对于每个对象 行 我想根据在每个对象上运行的函数的结果来更改显示的文本的颜色 因此 例如表中存在于另一个列表 或其他一些要求 中的所有对象 我想以绿色文本显示它们 不存在的对象以红色
  • iOS 使用 NSColor 与 UIColor?

    有什么区别UIColor and NSColor 什么时候会使用每一种 我碰到NSColor在试图弄清楚的同时UIColor用于 iOS 中的属性字符串 我理解使用UIColor对于 UIKit 等 但我不认为NSColor对于这种事情确实

随机推荐

  • Hadoop 配置:mapred.* 与 mapreduce.*

    我注意到有两组 Hadoop 配置参数 一组使用 mapred 另一组使用 mapreduce 我猜测这些可能是由于旧 API 与新 API 造成的 但如果我没有记错的话 这些似乎在新 API 中共存 我对么 如果是这样 是否有一个通用的声
  • Pandas 读取没有标题的表

    使用 pandas 如何仅读取没有标题的 csv 文件的部分列 例如第四列和第七列 我似乎无法使用usecols 为了读取没有标题且仅针对某些列的 csv 您需要传递参数header None and usecols 3 6 对于第 4 列
  • 重命名文件夹中的所有文件

    我想知道是否可以使用 vb NET 通过一个简单的程序重命名文件夹中的所有文件 我很绿 不确定这是否可能 假设有一个包含文件的文件夹 Text Space aliens txt fishing and hunting racoons txt
  • 在Android中使用geo的默认谷歌地图具有多个经纬度

    我使用以下代码在默认谷歌地图上显示位置geo Uri uri Uri parse geo Global detail lat Global detail long q Global detail lat Global detail long
  • 更改 rich:dataTable 中行的背景颜色

    我在 rich datatable 中有一行 其中的一列中有一个链接 单击此单击时 我需要更改所选行的背景颜色 我怎样才能做到这一点 您可以使用以下代码来执行此操作
  • Python3 - 如何从现有抽象类定义抽象子类?

    我最初定义了以下抽象类 from abc import ABC abstractmethod class Primitive ABC 现在我想创建另一个继承自 Primitive 的抽象类 class InstrumentName Prim
  • Verilog 最佳实践 - 递增变量

    我绝不是 Verilog 专家 我想知道是否有人知道这些增加值的方法中哪一种更好 抱歉 如果这个问题太简单了 Way A 在组合逻辑块中 可能在状态机中 some condition count next count 1 然后在一个连续块中
  • 禁用 Apache Felix 中的缓存

    我正在尝试按照该线程中的说明进行操作 http osdir com ml dev felix apache 2009 05 msg00051 html http osdir com ml dev felix apache 2009 05 m
  • 在 PhoneGap IOS 上缓存图像的最佳方法

    我正在构建一个 PhoneGap ios 应用程序 用于使用 JSON 从服务器导入数据 该数据包含图像 URL 我已经用于将数据缓存在本地存储中 以便在应用程序没有互联网连接时使用它 但我有一个问题是缓存图像的最佳方式是什么 我正在考虑将
  • 在 RStudio 中安装包时出错:从连接读取时出错

    我最近更新了 R 版本 3 4 1 和 RStudio 版本 1 0 143 现在无法从 Rstudio 安装软件包 如果我直接使用 R 安装包install packages 效果很好 如果我尝试使用以下任一方法在 Rstudio 中安装
  • 构造函数调用自身

    我最近发现无参数构造函数和多参数构造函数不能轮流调用对方 这种限制的根本原因是什么 有人可能会说构造函数是初始化资源的地方 因此不能递归调用它们 我想知道这是否是唯一的原因 函数 方法 过程可以递归调用 为什么不是构造函数 答案在于 对另一
  • 获取焦点(或 Tab)顺序

    我使用 Qt Designer 设计了一个用户界面 并使用 编辑选项卡顺序 模式设置了选项卡顺序 现在我想知道 出于其他原因 不是那么重要 是如何获取 ui 中特定 QWidget 的 Tab 键顺序 我的意思是 如果我有几个小部件 并且说
  • 工作流程语言? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找当前工作流程语言的列表 我知道关于BPEL http en wikipedia org wiki Business Proces
  • 查询特定 Twitter 用户的 tweepy (get_followers) 中的分页

    我对使用游标类的 tweepy 和分页相当陌生 我一直在尝试使用光标类来获取特定 Twitter 用户的所有关注者 但我不断收到错误消息 tweepy error TweepError This method does not perfor
  • Apache Tomcat 9 重写阀不工作

    我一直在尝试设置我的 tomcat 9 重写阀门 在全局级别 但没有成功 遵循我在互联网上找到的每个教程 但无论我如何配置我的 rewirte config 阀门根本无法工作 所以我写了我能想到的最简单的 rewrite config 它只
  • Vue 和 Bootstrap Vue - 动态使用插槽

    我试图在 bootstrap vue 表中创建一个插槽 以使用自定义组件呈现任何布尔值 所以我有一个简单的表
  • 自动部分重新索引何时在 Magento EE 1.13 中实际运行?

    Magento 1 13 为大多数索引添加了部分索引 并能够将索引过程推迟到异步运行的 cron 作业 我的问题是 是否有现有的 cron 作业可以执行此操作 或者这是我必须自己设置的东西 文档对此并不清楚 http www magento
  • 如何在 Android 应用程序中单击按钮时打开网站?

    我正在设计一个应用程序 有几个按钮供用户单击 单击按钮后 用户将被定向到适当的网站 我该如何实现这个目标 如果您正在谈论 RCP 应用程序 那么您需要的是 SWTlink widget Here http dev eclipse org v
  • 在 Google 表格中查找默认填充颜色的颜色代码

    我正在编写一个脚本 使用以下命令为 Google 电子表格中的单元格着色Range setBackground color 方法 我想使用一种预设填充颜色 但我很难找到确切的颜色代码 十六进制 RGB 我只想要一个官方列表 000000 4
  • 如何知道应用程序是否首次在 Mac 上运行

    在Windows上 我们可以将值写入注册表来知道 但我如何知道我的应用程序是否是第一次在 Mac 上运行 我需要执行一些初始化任务 Thanks 您正在寻找班级NSUserDefaults see 苹果文档 http developer a