'NSInvalidArgumentException' (reason 'launch path not accessible')はSandboxの設定をいじって解決 [MacOSX]
ドラッグ&ドロップしたファイルのパスを取得して、Process()でコマンドラインのツールに渡していた。以下のエラーが出た。色々したがエラーが取れない。
起動させるコマンドにアクセスできないと言っている。見つけられないと言っているのか、言っている通りにあるけどアクセスできない状態になっているのかいまいちわからない。
としていたのだが上のエラーが出て見えないと言われる。
だけど
は見つからないエラーは出ず、openコマンドが普通に動作した。Homebrewのコマンドだから使えないようだ。なぜだ?
/usr/local/bin/MP4Box
の実体はファイルのリンクなのだが、
/usr/local/Cellar/gpac/0.8.0/bin/MP4Box
と直接パスを指定してもエラーが出る状況は変わらず。
下のリンク先ではファイルのパーミッションがダメだと直さないといけないよと言っていたけど
https://stackoverflow.com/questions/36732874/command-line-launch-path-not-accessible
コマンドをデスクトップのフォルダにコピーしてきて、ファイルもフォルダも777あたりにパーミッションを設定したけどダメだった。実行バイナリがダメになっているわけじゃないもんなぁ、と八方塞がりなのでした。
試行錯誤をやめてググることに集中してみたんだけど、どうやらSandboxとやらの設定らしかった。
https://qiita.com/YutakaMatsui/items/f83b272402a4699f72c2
.entitlementsというファイルの
App Sandbox
をYESからNOに変更するとファイルが見つからないよというエラーはあっさり消える。
なんというかXcodeの仕様に振り回されていたってことなのでした。セキュリティの向上に役に立っているのかもしれないけど、エラーが指定したパスが見つからないと出ているので、セキュリティの問題だとは気づかないよな。前にはこんなファイル無かったと思うし。
またNOからYESに戻そうとするとBuild Failedと出てきてビルドできなくなるんだけど、一回Clean Build Folderかなんかしてからビルドし直すとビルドできた。そういうところも嫌な感じ。とにかく、正しいファイルパスでlaunchできないのなら、Sandboxの設定が問題になっているかもよというお話でした。launch path not accessibleというメッセージは間違っていなかった…。
*** Canceling drag because exception 'NSInvalidArgumentException' (reason 'launch path not accessible') was raised during a dragging session
起動させるコマンドにアクセスできないと言っている。見つけられないと言っているのか、言っている通りにあるけどアクセスできない状態になっているのかいまいちわからない。
let task:Process = Process() task.launchPath = "/usr/local/bin/MP4Box"
としていたのだが上のエラーが出て見えないと言われる。
だけど
let task2:Process = Process() task2.launchPath = "/usr/bin/open"
は見つからないエラーは出ず、openコマンドが普通に動作した。Homebrewのコマンドだから使えないようだ。なぜだ?
/usr/local/bin/MP4Box
の実体はファイルのリンクなのだが、
/usr/local/Cellar/gpac/0.8.0/bin/MP4Box
と直接パスを指定してもエラーが出る状況は変わらず。
下のリンク先ではファイルのパーミッションがダメだと直さないといけないよと言っていたけど
https://stackoverflow.com/questions/36732874/command-line-launch-path-not-accessible
コマンドをデスクトップのフォルダにコピーしてきて、ファイルもフォルダも777あたりにパーミッションを設定したけどダメだった。実行バイナリがダメになっているわけじゃないもんなぁ、と八方塞がりなのでした。
試行錯誤をやめてググることに集中してみたんだけど、どうやらSandboxとやらの設定らしかった。
https://qiita.com/YutakaMatsui/items/f83b272402a4699f72c2
.entitlementsというファイルの
App Sandbox
をYESからNOに変更するとファイルが見つからないよというエラーはあっさり消える。
なんというかXcodeの仕様に振り回されていたってことなのでした。セキュリティの向上に役に立っているのかもしれないけど、エラーが指定したパスが見つからないと出ているので、セキュリティの問題だとは気づかないよな。前にはこんなファイル無かったと思うし。
またNOからYESに戻そうとするとBuild Failedと出てきてビルドできなくなるんだけど、一回Clean Build Folderかなんかしてからビルドし直すとビルドできた。そういうところも嫌な感じ。とにかく、正しいファイルパスでlaunchできないのなら、Sandboxの設定が問題になっているかもよというお話でした。launch path not accessibleというメッセージは間違っていなかった…。
タグ:SWIFT
Twitterまとめ投稿 2019/09/15 [Twitter]
carbonhydrat『macOSをUSBメモリに入れられた。』名前を変えようと思ったがいい案がなかった..|https://t.co/L35k347eYM09/14 07:33 carbonhydratRT @Tottokolancer: 臨床心理士さんに 「人のせいで起こったことは、ちゃんと人のせいにしないといけないよ。多くの人たちは『人のせいにするな』と教えられてきたことを愚直に守って、その結果心が病んでしまうの。人のせいは人のせいなんだから、自分で抱え込まなくていいの…09/14 16:11 carbonhydratRT @ChouIsamu: なるほど、日本で二言目には「現実的」と言いたがる人に人間の屑が多い理由が判った ここ2〜30年ほど、社会全体が子供達に「人間の屑になる事こそ『現実的』だ」と教え続けてきたのだ https://t.co/gLf4Tm8bTm09/14 16:16 carbonhydrat『Apple Developerのサンプルコードの検索がひどい。』名前を変えようと思ったがいい案がなかった..|https://t.co/Ds0ktierY509/14 18:59
2019-09-15 05:01
コメント(0)