はじめに
初投稿です.
友人と共同でunity製音ゲーを開発している,篝火と申します.
最近MacBook Pro M4を購入したのですが,開発中のゲームを試遊するため Steam を開こうとしたところ,
"steam_osx"は壊れているため開けません。ゴミ箱に入れる必要があります。
というエラーが出て開くことができませんでした.
MacOSのセキュリティ対策が年々強化されているためでしょう.
↑ yahoo知恵袋にて同じ悩みを抱えていらっしゃった方.(https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12233933077)
本記事は,自己責任の範囲で端末のセキュリティ設定を変更し,無理矢理開くための備忘録です.2度言いますが,自己責任でお願いします.
やったこと
- 実行権限の変更
-
chmod +R +x $(filepath)
とするやつ.効果はなし
-
- FileVault をオフにする
- appの実行権限をすべてのアプリケーションに付与できる.効果なし
-
SIP(System Integrity Protection)の無効化
- 効果ありました.以下で解説します
-
Gatekeeper の隔離属性 (com.apple.quarantine)の削除
- 効果があるかもしれないので,こちらm解説します
SIPの無効化手順(有効化もこちらで)
1. Mac をリカバリーモードで再起動
- Intel Mac:
⌘ (Command) + R を押しながら起動 - Apple Silicon (M1/M2):
電源ボタンを長押しして「オプション」→「リカバリーモード」
2. ターミナルを開く
- メニュー > ユーティリティ > ターミナル
3. ターミナルにて下記コマンドを入力
```
csrutil disable
reboot
```
4. 以下のメッセージが表示されたら【y】を入力
Turning off System Integrity Protection requires modifying system security.
Allow booting unsigned operating systems and any kernel extensions for OS "●●"? [y/n]:
5. 以下のメッセージが表示されたらPCを再起動
System Integrity Protection is off.
Restart the machine for the changes to take effect.
※SIPを有効化する場合は,3.の手順でcsrutil enable
と入力してください.
隔離属性の削除
1. 隔離属性の有無を確認
xattr -l $(appファイルのパス)
2. もしcom.apple.quarantineが表示されたら,削除する
xattr -d com.apple.quarantine $(appファイルのパス)
結果
この後SIPを有効化しても開けるので,忘れずに戻しておいてください!
戻す手順も掲載してありますので,参考にしてくださいね.
参考記事