解决Xcode问题:Sandbox: rsync.samba(13378) deny(1)等系列报错
解决Xcode问题:Sandbox: rsync.samba(13378) deny(1)等系列报错

解决Xcode问题:Sandbox: rsync.samba(13378) deny(1)等系列报错

情景复现

在配置CocoaPods和Firebase后,运行项目发现Xcode报错:

Sandbox: rsync.samba(13378) deny(1) file-write-create /Users/fangjunyu/Library/Developer/Xcode/DerivedData/TestTask-fherzfvdvmnnurexlvmqerculofh/Build/Products/Debug-iphonesimulator/TestTask.app/Frameworks/openssl_grpc.framework/_CodeSignature

环境配置

  1. MacOS Sonoma 14.4.1
  2. Xcode Version 15.4 (15F31d)

解决方案

打开Xcode项目-点击左上角顶部项目并展开右侧配置文件,找到Build Settings – TARGETS – TestTask – Build Options – User Script Sandboxing选项,默认为是,改为否即可。

然后重新启动项目,不会再次报错

踩坑记录

  1. Sandbox: rsync.samba(6082) deny(1)

在执行Xcode的过程中,还遇到了下述报错:

Sandbox: rsync.samba(6082) deny(1) file-write-create /Users/fangjunyu/Library/Developer/Xcode/DerivedData/TestTask-fherzfvdvmnnurexlvmqerculofh/Build/Products/Debug-iphonesimulator/TestTask.app/Frameworks/openssl_grpc.framework/_CodeSignature

解决方案为:

1)重置权限

尝试在终端中重置 DerivedData 文件夹的权限:

sudo chmod -R +rw ~/Library/Developer/Xcode/DerivedData

这将给 DerivedData 文件夹及其所有内容设置适当的读写权限。

2)清理 DerivedData 文件夹

有时清理 DerivedData 文件夹可以解决一些权限问题。在终端中运行以下命令:

rm -rf ~/Library/Developer/Xcode/DerivedData

这将清理 DerivedData 文件夹,Xcode会重新生成所需的内容。

上述两个方法我都尝试过,所以不知道是不是一个方法就可以解决该问题,可能都有效。

2、Sandbox: mkdir(10924) deny(1)

Sandbox: mkdir(10924) deny(1) file-write-create /Users/fangjunyu/Library/Developer/Xcode/DerivedData/TestTask-fherzfvdvmnnurexlvmqerculofh/Build/Intermediates.noindex/Previews/iphonesimulator/TestTask/Products/Debug-iphonesimulator/TestTaskUITests.xctest
Unexpected failure

解决方法跟上面的一样,我使用重制权限的方案就解决了:

sudo chmod -R +rw ~/Library/Developer/Xcode/DerivedData

3、无法连接Firebase问题

运行Xcode提示:

 Listen for query at news failed: Missing or insufficient permissions.

该问题为Firebase配置规则导致的问题:

可以在Firebase中点击Firestore Database

默认配置:

rules_version = '2';

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

需将默认配置文件改为:

rules_version = '2';

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
    allow read, write: if true;
    }
  }
}

修改后的配置文件是公开的,可以让任何人访问。因为需要通过配置公开规则来判断是否为规则导致Firebase无法连接的问题。

4、Analytics screen reporting is enabled. Call Analytics.logEvent(AnalyticsEventScreenView, parameters: […]) to log a screen view event. To disable automatic screen reporting, set the flag FirebaseAutomaticScreenReportingEnabled to NO (boolean) in the Info.plist

这个问题单独说明一下,其他答案有提到需要编辑Info.plist这个文件,我发现编辑Info.plist这个文件后,仍然存在这个报错:

如果你存在显示这一步,并且应用没有正确的显示内容。可能需要修改Firebase的配置规则得以解决,仅在此做一个表述。

5、如果上述问题并未解决,请检查是否为引入“GoogleService-Info”文件,我前期还忘记引入该文件。

参考资料

  1. Xcode15 Sandbox: rsync.samba(19728) deny(1) file-write-create /Users/mac/Library/Developer/Xcode/Der:https://blog.csdn.net/zhjm76557707/article/details/137040112
  2. firestore: PERMISSION_DENIED: Missing or insufficient permissions:https://stackoverflow.com/questions/46590155/firestore-permission-denied-missing-or-insufficient-permissions

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注