Xcodeでrsync.samba Sandboxエラーの解決方法
問題概要
FlutterアプリをXcodeでビルドする際に次のエラーが発生:
Sandbox: rsync.samba (13105) deny(1) file-write-create
Flutter failed to write to a file
環境: macOS 14.0以降, Apple Silicon(M1/M2系), Xcode 15/16
特徴: ファイル書き込み権限がSandBoxによりブロックされる
原因と解決アプローチ
このエラーはXcodeのユーザースクリプトサンドボックス機能が原因で発生します。セキュリティ強化のため追加された機能ですが、Flutter/CocoaPodsのワークフローと競合します。主な解決策は以下の通りです。
🔧 主な解決方法: サンドボックス設定の無効化
- Xcodeでプロジェクトを開き、左パネルの
Runner
を選択 - 上部タブから
Build Settings
へ移動 - 検索バーに
ENABLE_USER_SCRIPT_SANDBOXING
と入力 - 全てのターゲットで設定値を
No
に変更:
diff
Build Options
│
├─ User Script Sandboxing
│ ├─ Debug: [Yes] → No
│ └─ Release: [Yes] → No
設定箇所のスクリーンショット
設定位置が分からない場合の参考画像
重要!
以下の全てのターゲットで設定変更が必要:
Runner
(メインターゲット)Flutter Assemble
Pods-*
(CocoaPods使用時)- 存在するExtensionターゲット(例:
CleverPushNotificationServiceExtension
)
⚠️ 設定変更後も解決しない場合の追加措置
<CodeGroup> <CodeGroupItem title="DerivedDataのクリア" active>bash
</CodeGroupItem> <CodeGroupItem title="Flutter/CocoaPodsのリセット"> # 1. Xcode終了
# 2. キャッシュ削除
rm -rf ~/Library/Developer/Xcode/DerivedData/*
# 3. 未使用シミュレーター削除
xcrun simctl delete unavailable
bash
</CodeGroupItem> </CodeGroup> flutter clean # Flutterキャッシュ削除
flutter pub get # 依存パッケージ再取得
cd ios # iOSディレクトリ移動
pod install # CocoaPods再設定
📌 CocoaPodsユーザー向け特別対応
ケース1: Podsプロジェクトの設定忘れ
- Xcodeで
Pods
プロジェクトを選択 Build Settings
でENABLE_USER_SCRIPT_SANDBOXING
をNo
に変更:
ケース2: xcodeproj 1.26.0起因の問題(2024年10月以降)
ruby
gem 'xcodeproj', '1.25.0' # バージョン固定
# または
gem 'cocoapods', '>=1.16.1' # 修正済みバージョン
bash
bundle install # 依存関係更新
bundle exec pod install # プロジェクト再生成
:::caution 注意 Xcode 16を使用中の場合はxcodeproj 1.26.0
が必要です。バージョン固定はXcode 15専用の対策です。 :::
🔄 根本解決が難しい場合の回避策
use_frameworks!
の一時無効化(CocoaPods)
ios/Podfile
を開く- 行頭に
#
を追加してコメントアウト:
diff
- use_frameworks!
+ # use_frameworks!
- ターミナルで再実行:
bash
pod install --repo-update
❌ 推奨しない対応(セキュリティリスク)
権限を広げる以下の方法は非推奨です:
bash
chmod 777 ... # 脆弱性の原因に
sudo rm ... # システムファイル破壊リスク
まとめ:効果的な解決フロー
最終手段: 上記全てが失敗した場合、開発環境の再構築を検討:
bash
# Homebrew再インストール例
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew update
brew upgrade