我可以将 Xcode 项目设为只读,即阻止它修改文件吗?
Posted
技术标签:
【中文标题】我可以将 Xcode 项目设为只读,即阻止它修改文件吗?【英文标题】:Can I make an Xcode project read only, ie prevent it from modifying files? 【发布时间】:2013-03-31 00:48:15 【问题描述】:我正在开发一个在 Emacs 中编辑但在 Xcode 中调试的 ios 项目。我偶尔会不小心在 Xcode 中编辑源文件,所以我想防止这种情况发生。我不能让文件本身只读,因为我需要编辑它们。有什么方法可以让 Xcode 编辑器将它们视为只读并阻止我编辑它们?
我偶尔会使用 Xcode 来编辑 项目,例如添加和删除文件。我想阻止编辑文件只是 Xcode 的 文件编辑器。所以,我需要一些只适用于文件编辑器的东西,或者可以轻松打开和关闭的东西。
【问题讨论】:
在 Xcode 中编辑文件有什么问题? 【参考方案1】:您可以为您的 GUI 登录用户授予源文件夹只读权限,并为您仅用于终端/emacs 会话的其他用户授予读写权限。
编辑:
评论:
我使用我的 emacs 来做很多其他我想继续做的事情 不过,我的普通用户。我偶尔也希望 Xcode 编辑 项目,例如添加和删除文件。它只是 Xcode 的文件编辑器 我想阻止编辑文件。
好的,然后让我们翻转我的解决方案:以仅具有只读访问权限的其他用户身份运行 Xcode:
!#/bin/bash
su readonlyuser
/Applications/Xcode.app/Contents/MacOS/Xcode
然后使用正常会话中的 emacs。如果您需要 Xcode 具有读写访问权限,您需要退出它并正常重新打开它。这很痛苦,但除了某种漂亮的菜单栏应用程序可以切换文件夹的权限以授予您的只读用户写入权限之外,我想不出任何办法。您还应该授予 readonlyuser 对 xcodeproj 包和任何其他 Xcode 项目元数据的读写访问权限。
为了让它不那么难看,您可以将该 bash 脚本包装在 AppleScript 或 Automator Action 中,将其导出为应用程序,并为其提供与 Xcode 相同的图标,但带有一个小指示器,以便您知道它是只读用户的。然后你可以把它放在你的码头或其他什么地方。
【讨论】:
有趣的想法!不过,我使用我的 emacs 来做很多其他我想作为我的普通用户继续做的事情。我偶尔也希望 Xcode 编辑 project,例如添加和删除文件。我想阻止的只是 Xcode 的 文件编辑器 编辑文件。 这绝对可以!当我需要添加文件时来回退出和重新启动并不理想,但它可能是可以容忍的。我今晚有时间试试;我会及时通知你的。 啊,我错过了让只读用户 r/w 访问 xcodeproj 而不是源文件的想法。这听起来很完美! 我实际上有点喜欢菜单栏应用程序的想法,而不是不得不杀死 Xcode - 它只需要一个小开关,并且在切换时运行一个 bash 脚本以递归地更改整个文件夹的权限。今晚我可能会搞砸。【参考方案2】:只需打开终端并锁定源文件。
chmod a-w source_folder
这里是 youtube 截屏视频:http://youtu.be/tB-BhqlDAdE
完全符合您的预期!
【讨论】:
对不起,不,我在问题中提到这对我不起作用。我需要能够在 xcode 之外编辑文件;我希望 只有 xcode 本身 无法编辑它们。 旧线程,但一个好主意。我经常打开多个项目,只有一个是编辑目标。只要你能保持专注就可以了,但是编辑非目标文件很容易。如果有一种全局“按住 Option 键”的方法来锁定整个项目,那就太好了。我只是将我的非目标 Xcode 实例分流过来,以在视觉上提醒我,但是当你分心时,这很糟糕。【参考方案3】:Xcode 没有只读浏览模式!
为防止自己意外修改文件:
使用磁盘工具创建项目目录的磁盘映像。
挂载磁盘镜像文件。
从磁盘映像文件中打开项目。
这样您就不会在使用 Xcode 浏览原始源文件时意外修改它们。
【讨论】:
以上是关于我可以将 Xcode 项目设为只读,即阻止它修改文件吗?的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI - 有没有办法创建一个只读的 TextEditor?