Xcode 默认启用文件访问

Posted

技术标签:

【中文标题】Xcode 默认启用文件访问【英文标题】:Xcode enable file access by default 【发布时间】:2020-06-19 15:21:38 【问题描述】:

自从每次运行 Xcode 项目时升级到 macOS Catalina 后,我都会看到这个对话框:

有没有办法默认启用访问或禁用此安全功能,这样我就不必按这个时间了?

【问题讨论】:

这是一个特定的项目,还是每个项目?我从未见过 Xcode 的那个窗口。但我希望看到从 Xcode 运行的 mac 应用程序的窗口,因为,你知道,沙盒。 这发生在所有项目上,即使是那些根本不访问文件的项目。这些项目都是C++中的简单命令行工具我不知道这是否会发生在其他语言上 对您的项目进行代码签名。一旦您第一次允许访问,该设置将被记住(macOS 会将其视为新版本而不是全新的二进制文件) @TheNextman 好的,我需要更改哪些设置?我没有开发者帐号 您需要一个开发者帐户。我相信免费级别足以让签名代码在本地运行。 【参考方案1】:

每次重新编译应用程序时都会重新提示您,因为操作系统每次都将其视为全新的二进制文件。如果您对二进制文件进行代码签名,操作系统将识别不变的签名并认为二进制文件是“相同的”(因此,请记住您的隐私选择)

来自Code Signing Tasks:

运送和更新您的产品 用户的系统认为您的产品的新版本与以前的版本是相同的程序。例如,钥匙串服务不会区分程序的旧版本和新版本,只要两者都已签名并且唯一标识符保持不变。

您需要使用 Apple ID 登录 Xcode(通过 Preferences > Accounts)。对于signing code to run locally,一个免费的 Apple ID(相对于付费的开发者帐户)就足够了。

在您的项目设置中,在“签名和功能”选项卡下;选择:

自动管理签名 您的个人团队 签名证书:开发

也可以在 Xcode 之外使用 codesign 进行代码签名,但我不确定这如何与 Apple ID 一起使用。

【讨论】:

【参考方案2】:

您需要向 XCode 授予“全盘访问权限”:

System Preferences->Security & Privacy->Full Disk Access->Add(+) [Applications-XCode] 

【讨论】:

在实际终端中启动程序时可能会起作用,但在 Xcode 中启动程序时不起作用。 我做了,结果一样 我添加了两个都没有结果

以上是关于Xcode 默认启用文件访问的主要内容,如果未能解决你的问题,请参考以下文章

更新的核心数据模型属性不可访问?

如何获取 xcode 默认图像

Windows Server 2012 R2 访问网络文件

Redis配置文件详解和持久化实现(RDBAOF)

无法使用 Xcode 从代码访问文件 - ios

从 Xcode Swift 中 Assets.xcassets 中的文件夹访问图像