📒

Run Script実行時に「Sandbox…」と怒られた時の解決法

に公開

概要

個人で開発しているアプリにSwift Formatを導入しました。
導入して「よし、ビルドしよ」と試した際にエラーが出たので、その時の解決法を備忘のため残します。

目次

  1. 環境
  2. 前提
  3. 事象
  4. 手順
  5. 解決法

環境

macOS Ventura 13.5.2
Xcode 15.2

前提

SPM経由でSwiftFormatを導入

事象

ビルド実行時にSandbox関連のエラーが…

※サンドボックス(sandbox)
ソフトウェアの実行環境を隔離する技術や概念を指します。
主にセキュリティや安定性の向上を目的とされているようです。

手順

  1. 以下の記事を参考にSwift Formatを導入
    https://scrapbox.io/tasuwo-ios/SPM経由でSwiftLintやSwiftFormatを利用する
  2. ビルド

解決法

プロジェクト > TARGETS > Build Settings > User Script Sandboxing

YesからNoに変更することでエラーは解決しました。

調べてみるとどうやらXcode15からのデフォルト値がYesになったようで、Run Script実行時にエラーが発生していたようです。

Q. YesとNoはどう違うの?
A. ENABLE_USER_SCRIPT_SANDBOXINGを設定することでビルドフェーズでのスクリプト実行を安全かつ管理しやすくすることができます。
また、この設定を適切に利用することで開発環境の安全性を高めることができるみたいなので可能であればYesを設定することが推奨されているようです。

Discussion