Swift macos アプリでファイルパーミッションエラーになる(App Sandboxの制御)
SwiftでDownloadフォルダのファイル名を変えようとすると、パーミッションエラー
try FileManager.default.moveItem(atPath: oldPath, toPath: newPath)
以下赤字のようなエラー
RENAME:/Users/hirotoyagi/Downloads/apache_tomcat/tomcat4/with_iis.html -> /Users/hirotoyagi/Downloads/apache_tomcat/tomcat4/with_iis.html.origin
Error Domain=NSCocoaErrorDomain Code=513 ““with_iis.html” couldn’t be moved because you don’t have permission to access “tomcat4”.” UserInfo={NSSourceFilePathErrorKey=/Users/hirotoyagi/Downloads/apache_tomcat/tomcat4/with_iis.html, NSUserStringVariant=(
Move
), NSDestinationFilePath=/Users/hirotoyagi/Downloads/apache_tomcat/tomcat4/with_iis.html.origin, NSFilePath=/Users/hirotoyagi/Downloads/apache_tomcat/tomcat4/with_iis.html, NSUnderlyingError=0x6000035d3840 {Error Domain=NSPOSIXErrorDomain Code=1 “Operation not permitted”}}
Mac App Store を介して macOS アプリを配布するには、アプリのサンド ボックス機能を有効にする必要があります。
制御するには、以下、Signinig & Capabilities -> App Sandbox -> File Access Type で適当なところに権限を設定する