私はこのボタンを使ってアプリケーションを再起動します。他のMacでアプリケーションを再起動しないのはなぜですか?
func relaunchApp() {
let url = URL(fileURLWithPath: Bundle.main.resourcePath!)
let path = url.deletingLastPathComponent().deletingLastPathComponent().absoluteString
let task = Process()
task.launchPath = "/usr/bin/open"
task.arguments = [path]
task.launch()
exit(0) }
これは私のMacbook Air 2015モデルでは完全に機能します。しかし、このファイルを全く同じモデル(またはこれも試してみました)の誰かに送ると、ボタンを押しても何も起こりません。これは完全にコンパイルされ、Xcodeから実行するだけで、どちらも私の側で動作します。どうすればこの問題を解決できますか?
'.absoluteString'はURLからパスを作成する正しい方法ではなく、' .path'でなければなりません。 http://stackoverflow.com/questions/34135305/nsfilemanager-defaultmanager-fileexistsatpath-returns-false-instead-of-trueを比較してください。 –
OSのバージョン、ユーザーのセキュリティ設定、およびアプリケーション/ダウンロードが以前に開始または開かれているかどうかに応じて、さまざまなセキュリティブロックもあります。 – dfd
機能はまだ私の側で働いていましたが、これをMac Mini(MacOS 10.11.6)にAirdroppedしても何もありません。 @MartinR – dylan