我有一个论点在发布时被传递:-D DEBUG
,允许我在发布应用程序中使用以下内容:
#ifndef DEBUG
/* Some code I only want to be run when using the release app */
#endif
当我运行git status
时,它显示添加-D DEBUG
时更改的文件是MyExampleProject.xcodeproj/xcuserdata/myusername.xcuserdatad/xcschemes/MyExampleProject.xcscheme
使用常用的Xcode .gitignore file应该排除哪个参数。有没有其他方法可以包含这个参数,既符合.gitignore
,又不依赖于我的用户帐户xcuserdata
?
4条答案
按热度按时间brc7rcf01#
一般来说,对于单个项目,忽略xcuserdata是安全的。每个用户都有自己的文件,其中保存了用户状态、打开的文件夹、最后打开的文件等诸如此类的内容。它确实包含了您的方案。如果是第一次打开而文件不存在,Xcode会为您创建它。
然而...我们在办公室遇到过这个问题,当你有一个持续构建服务器,像哈德逊或Jenkins,从Git或SVN复制源代码而不打开它,并试图构建它。如果你忽略这个文件,将没有方案来构建,或者它会迫使某人打开项目来自动创建它。
我们通过选中管理方案下的共享框来解决这个问题,这会将方案从您的个人xcuserdata下移动到一个共享文件夹中,该文件夹可以通过源代码管理提交,并由持续构建服务器使用。
fzsnzjdm2#
此文件夹仅包含一些临时信息。如Xcode的UI状态和类似属性。It is recommended by GitHub以排除
.gitignore
文件中的xcuserdata
文件夹。v2g6jxz63#
是,删除xcuserdata是安全的。
在Finder中打开你的pproject文件夹,然后右键单击.xcworkspace或.xcodeproj中的“Show package contents”。你会看到2个文件夹:例外共享数据和例外客户数据。
删除xcuserdata文件夹,然后尝试打开应用程序。
zujrkrfu4#
没有直接回答这个问题的细节,但它是安全的,因为它得到了您的用户名,没有其他开发人员在您的项目将使用
your_username.xcuserdatad
。我发现Xcode(* 至少在2021年 *)至少把
xcuserdata
放在了3个位置:所以最简单的方法就是把
**xcuserdata
加到. gitignore中,这与Github的建议不同,Github的建议只是xcuserdata
。xcuserdata中的文件是非共享的方案数据和UI配置(例如
UserInterfaceState.xcuserstate
)。它们是非共享的,因为它们属于一个用户。这些设置只有当你是用户时才能读取。我不认为你有办法在你拥有的另一台机器上使用这些设置。我很想知道。