美文网首页MacOS开发 技术集锦
MacOS App添加开机自启动

MacOS App添加开机自启动

作者: 冷眼旁观看世界 | 来源:发表于2018-04-02 09:39 被阅读68次

GitHub

一、在项目的targets下再添加一个target

2.png
3.png 4.png

然后删除添加的target中Main.storyboard中的Main Menu和Window.

5.png

设置这个target的info和Build Setting


6.png 7.png

开启沙盒

8.png

在项目的target中的Build Phases中添加CopyFile到Contents/Library/LoginItems

9.png

设置Build Setting

10.png

开启沙盒

11.png

二、添加代码

在AppDelegate或有设置按钮的地方添加代码

    @IBAction func appWhenLoginAction(_ sender: NSButton) {
        let state = sender.state
        
        if state == .on {
            self.startupAppWhenLogin(startup: true)
        } else {
            self.startupAppWhenLogin(startup: false)
        }
    }
    
    func startupAppWhenLogin(startup: Bool) {
        // 这里请填写你自己的Heler BundleID
        let launcherAppIdentifier = "liwei.LwWallpapersHelper"
        
        // 开始注册/取消启动项
        if SMLoginItemSetEnabled(launcherAppIdentifier as CFString, startup) {
            if startup {
                NSLog("添加登录项成功.")
            } else {
                NSLog("移除登录项成功.")
            }
        } else {
            NSLog("添加失败.")
        }
        
    
        
    }

在添加的target的AppDelegate添加代码

    func applicationDidFinishLaunching(_ aNotification: Notification) {
        var compoents = (Bundle.main.bundlePath as NSString).pathComponents as NSArray
        compoents = compoents.subarray(with: NSMakeRange(0, compoents.count - 4)) as NSArray
        let path = NSString.path(withComponents: compoents as! [String])
        NSWorkspace.shared.launchApplication(path)
        terminate()
    }
    
    @objc func terminate() {
        NSApp.terminate(nil)
    }

然后导出APP运行一下,就可以了。

相关文章

  • MacOS App添加开机自启动

    GitHub 一、在项目的targets下再添加一个target 然后删除添加的target中Main.story...

  • Ubuntu 18.04添加开机自启

    Ubuntu 18.04添加开机自启地两种方式 一、通过命令行添加自启动程序 添加服务:添加这个服务并且开机自启动...

  • App开机自启动

    App开机自启动 通过开机广播来实现自启动 定义开机广播 在AndroidManifest.xml注册BootCo...

  • win10自启动管理

    虽然开机自启动程序会影响开机速度,不过将一些必用软件设置生开机自启动也是很爽的。 添加开机自启动 WIN键 + R...

  • linux自启动

    设置开机自启动 编辑文件 /etc/rc.local 添加两行 /app/domains/autostart.sh –D

  • Android 应用自启动

    如何实现开机自启动? 1 添加广播类 2 清单文件中添加权限及注册广播 开机自启动验证 使用 adb 命令方式发送...

  • Inno Setup 设置软件开机自启动

    Inno SetUp 开机自启动: 方法1. 不修改注册表,询问用户是否开机自启动,并将exe文件添加到开机文件夹...

  • 分布式环境搭建1--安装nginx

    1、安装nginx 下载 安装 添加nginx到自启动 设置执行权限 设置开机自启动

  • CentOS 7 - 配置服务实现开机自启动

    新建系统服务描述文件 添加以下配置: 设置为系统服务,开机自启动

  • App开机自启动

    首先 在工程上新建一个用来接受广播的类,要继承BroadcastReceiver 然后 在Androidmanif...

网友评论

  • 严青_:可以不设置沙盒吧?
    冷眼旁观看世界:@严青_80db 沙盒是为了上架
  • xexiaoyi:我的软件测试几遍后,莫名其妙的就不开机自启了,楼主遇到过这样的问题吗?
    冷眼旁观看世界:@xexiaoyi 那么你这个问题我确实没有遇见过,我找个时间测试下,看看能不能还原你的问题。
    xexiaoyi:@冷眼旁观看世界 我是打包测试的呀
    冷眼旁观看世界:@xexiaoyi 建议你打包为app进行测试,而不是用debug的模式

本文标题:MacOS App添加开机自启动

本文链接:https://www.haomeiwen.com/subject/gldthftx.html