我有一个名为myapp.app的应用程序。它已签名并且在启动时不会提示任何警告。无声安装的应用程序
目标是让它由安装程序无提示地安装并启动它。 该安装程序应该在命令行中触发。
我想象的解决方案是创建一个包含myapp的install.app。
执行“open /Volumes/myapp/install.app”。
installer.app将myapp复制到〜/ Applications并运行它。
这是现实吗?
如果是,创建一个可可命令行应用程序是要走的路?
我可以将myapp.app复制到/ Applications? (到目前为止,我所有的快速3失败)。
[编辑] 我能够给捆绑的应用程序复制到〜/应用/
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()
任何更好的方法,请让我知道。
我不确定这是否可能“默默”。我认为用户需要接受这一点。 –
你为什么不把应用程序复制到你想要的位置,并使用终端从那里启动它? –
@oa我需要的是创建一个程序,将我的应用程序复制到/ Applications并启动它。这个程序可以由另一个程序像其他安装程序启动。 – arsenik