Swift 应用程序的静默安装
我有一个名为myapp.app的应用程序。它已签名,启动时不提示任何警告 目标是让安装程序以静默方式安装并启动它。 应在命令行中触发此安装程序 我设想的解决方案是创建一个搭载myapp的install.app 执行“open/Volumes/myapp/install.app” installer.app将myapp复制到~/Applications并运行它 这现实吗 如果是,那么创建cocoa命令行应用程序是一种方法吗 我能否将myapp.app复制到/Applications?(到目前为止,我所有使用swift 3的尝试都失败了) [编辑] 我能够将捆绑应用程序复制到~/应用程序/Swift 应用程序的静默安装,swift,macos,cocoa,silent-installer,Swift,Macos,Cocoa,Silent Installer,我有一个名为myapp.app的应用程序。它已签名,启动时不提示任何警告 目标是让安装程序以静默方式安装并启动它。 应在命令行中触发此安装程序 我设想的解决方案是创建一个搭载myapp的install.app 执行“open/Volumes/myapp/install.app” installer.app将myapp复制到~/Applications并运行它 这现实吗 如果是,那么创建cocoa命令行应用程序是一种方法吗 我能否将myapp.app复制到/Applications?(到目前为止,
let sourcePath = Bundle.main.path(forResource: "myapp", ofType: "app")
if (sourcePath == nil) {
print("myapp.app was not found");
return;
}
let target = FileManager.default.urls(for: .applicationDirectory, in: .userDomainMask).first
let target_path = target?.appendingPathComponent("myapp.app").path
do {
try FileManager.default.copyItem(atPath: sourcePath!, toPath: target_path!)
} catch let error {
print(error.localizedDescription)
}
现在,我希望推出它(如果可能的话,使用swift 3)
[编辑2]它是如何启动的
let run_app = Process()
run_app.launchPath = "/usr/bin/open"
run_app.arguments = [target_path!]
run_app.launch()
如果有更好的办法,请告诉我。您有两种选择:
.pkg
)分发此外,如果您的应用程序是从互联网下载的,Gatekeeper将始终显示警告。即使是已签名的应用程序。我也不确定是否可以“静默”实现。我认为用户需要接受这一点。为什么不将应用程序复制到您想要的位置,然后使用终端从那里启动它?@oa我需要的是创建一个程序,将我的应用程序复制到/应用程序并启动它。此程序可以像其他安装程序一样由其他程序启动。应在何时复制并启动应用程序?在每个用户登录时,每天一次,…@oa-只为登录用户安装和启动一次实际上我不关心用户体验,因为用户不应该参与。我所需要的只是一个应用程序,它可以在命令行中以用户权限运行,只需将myapp.app复制到/Applications并启动它。