Swift 3 OS X 应用程序在启动时启动
Posted
技术标签:
【中文标题】Swift 3 OS X 应用程序在启动时启动【英文标题】:Swift 3 OS X app launch on startup 【发布时间】:2017-07-29 10:50:16 【问题描述】:我刚刚在 Swift 3 for OS X 中编写了我的第一个应用程序。如何配置此应用程序以在用户登录时启动?
【问题讨论】:
Make Swift Cocoa app launch on startup on OS X 10.11的可能重复 不,这不是我的帖子。 澄清了自动启动是目标。 @Musyanon 同意这不是你的帖子,但它似乎回答了你的问题。 @Richard 我已经看过这篇文章,但是解决方案使用的是旧版本的 Swift 并且不适用于 Swift 3 我已经尝试过 :( 【参考方案1】:这对我有用,但有一些限制。首先,应用程序必须位于 Applications 文件夹中。其次,我看到它建议在目标应用程序包中包含一个“帮助”应用程序以执行实际启动……但我必须承认我不知道为什么这是必要的。
if SMLoginItemSetEnabled(appBundleIdentifier as CFString, true)
log.info("Successfully added login item.")
else
log.warning("Failed to add login item.")
最后一个参数告诉系统是添加 (true) 还是删除 (false) 启动的应用程序。谷歌SMLoginItemSetEnabled
了解更多详情。否则我自己也在为此苦苦挣扎,我欢迎有人对此进行扩展。
【讨论】:
应用程序不能以这种方式使用它们自己的包标识符,因此许多人选择使用第二个目标。参考:theswiftdev.com/2017/10/27/how-to-launch-a-macos-app-at-login以上是关于Swift 3 OS X 应用程序在启动时启动的主要内容,如果未能解决你的问题,请参考以下文章
开发人员 ID 签名的 OS X 应用程序在启动时因代码签名无效而崩溃