如何在启动时以root用户身份运行Swift应用程序?

时间:2019-09-17 02:43:19

标签: swift macos unix root swiftui

//
//  ContentView.swift
//  Jupiter
//
//  Created by SmushyTaco on 9/16/19.
//  Copyright © 2019 SmushyTaco. All rights reserved.
//

import SwiftUI

struct ContentView: View {
    var body: some View {
        VStack {
            Button(action: {
                let installNano = Process()
                installNano.launchPath = "/opt/pkg/bin/pkgin"
                installNano.arguments = ["-y", "install", "nano"]
                installNano.launch()
            }) {
            Text("Install Nano")
            }
//            Spacer()
            Button(action: {
                let removeNano = Process()
                removeNano.launchPath = "/opt/pkg/bin/pkgin"
                removeNano.arguments = ["-y", "remove", "nano"]
                removeNano.launch()
            }) {
            Text("Remove Nano")
            }
        }
        .frame(maxWidth: .infinity, maxHeight: .infinity)
    }
}


struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

我正在使用 SwiftUI 制作macOS应用程序,这将是pkgin软件包管理器的前端,并且要使用该软件包管理器进行安装软件包之类的操作,您需要root用户,所以我如何制作此应用程序以root权限启动而无需使用任何不安全的代码(就像C代码一样,因为这是一种不安全的语言),无需在每次应用程序启动时要求用户输入密码(如果可能),并且不使用不推荐使用的任何内容?

0 个答案:

没有答案