Iphone 共享文件夹和XCode

Iphone 共享文件夹和XCode,iphone,xcode,collaboration,real-time,Iphone,Xcode,Collaboration,Real Time,有没有办法让XCode能够很好地处理共享文件夹,并允许多人同时使用iPhone应用程序?或者我们需要切换到更像SubEthaEdit或其他实时协作工具的工具吗?Xcode被认为与文件系统的关系非常糟糕。管理项目时,您有两个选项,将文件夹添加为组或文件夹引用 如果添加组,则文件夹将镜像到Xcode中,但该组不会与文件系统同步,也就是说,您可以移动组内的内容、删除组、不接触FS,反之则会使Xcode丢失文件 第二个选项是添加文件夹引用,听起来很不错,但完全被窃听了。文件夹引用可能未正确更新,在文件夹

有没有办法让XCode能够很好地处理共享文件夹,并允许多人同时使用iPhone应用程序?或者我们需要切换到更像SubEthaEdit或其他实时协作工具的工具吗?

Xcode被认为与文件系统的关系非常糟糕。管理项目时,您有两个选项,将文件夹添加为组或文件夹引用

如果添加组,则文件夹将镜像到Xcode中,但该组不会与文件系统同步,也就是说,您可以移动组内的内容、删除组、不接触FS,反之则会使Xcode丢失文件

第二个选项是添加文件夹引用,听起来很不错,但完全被窃听了。文件夹引用可能未正确更新,在文件夹中未检测到更改(如果您将图像文件夹引用添加到资源并更新内容,则在下一次生成时不会更新资源,您必须清理和重新生成)

这就是为什么您不应该使用Xcode(我们在这里使用vim+SCons,对此非常满意)或者您需要使用SCM(SCM也可以与其他工具结合使用,您无论如何都应该使用SCM)


至于SCM,我推荐Mercurial,但也有SVN和Git以及许多其他的,我建议你用谷歌搜索一下并发表你的意见。

Xcode被认为对文件系统的使用非常糟糕。管理项目时,您有两个选项,将文件夹添加为组或文件夹引用

如果添加组,则文件夹将镜像到Xcode中,但该组不会与文件系统同步,也就是说,您可以移动组内的内容、删除组、不接触FS,反之则会使Xcode丢失文件

第二个选项是添加文件夹引用,听起来很不错,但完全被窃听了。文件夹引用可能未正确更新,在文件夹中未检测到更改(如果您将图像文件夹引用添加到资源并更新内容,则在下一次生成时不会更新资源,您必须清理和重新生成)

这就是为什么您不应该使用Xcode(我们在这里使用vim+SCons,对此非常满意)或者您需要使用SCM(SCM也可以与其他工具结合使用,您无论如何都应该使用SCM)


至于SCM,我推荐Mercurial,但也有SVN和Git以及许多其他的,我建议你用谷歌搜索一下并发表你的意见。

如果你使用SCM,到目前为止最好的方法是查看项目。pbxproj 文件(在.xcodeproj包中)。大多数情况下,合并很好,有时您必须手动合并,但在这些情况下,90%的时间您只需允许合并的双方

我的.gitignore文件如下所示:

# xcode noise
build/*
*.pbxuser
*.mode1v3
*.perspectivev3
*~
*.mode2v3
您可以对其他SCM系统使用类似的忽略指令集


文件夹引用适用于图像(注意,若您更改了任何图像内容,您必须进行清理),但对于源文件来说并不太好

如果使用SCM,到目前为止最好的方法是签入project.pbxproj 文件(在.xcodeproj包中)。大多数情况下,合并很好,有时您必须手动合并,但在这些情况下,90%的时间您只需允许合并的双方

我的.gitignore文件如下所示:

# xcode noise
build/*
*.pbxuser
*.mode1v3
*.perspectivev3
*~
*.mode2v3
您可以对其他SCM系统使用类似的忽略指令集


文件夹引用适用于图像(注意,若您更改了任何图像内容,您必须进行清理),但对于源文件来说并不太好

让多人在一个共享文件夹上工作会导致灾难,如果有人第一次覆盖了你上午大部分时间编辑的文件,因为他们想更新其中的评论,你会后悔的

获取一个SCM,让每个人都将自己的代码签出到自己的私人文件夹中


当您的构建速度加快时,您也会更高兴,因为您是在本地磁盘而不是网络磁盘上构建的。

让多人在共享文件夹上工作会导致灾难,当有人第一次覆盖你早上大部分时间编辑的文件时,你会后悔,因为他们想更新其中的评论

获取一个SCM,让每个人都将自己的代码签出到自己的私人文件夹中


当您的构建速度加快时,您也会更高兴,因为您是在本地磁盘而不是网络磁盘上构建的。

如果您希望进行实时协作,即两个或多个程序员在同一时间将同一代码写入同一文件,您将需要使用类似subethaedit的协作编辑器。您可以将subethaedit设置为Xcode中源文件的首选编辑器

这样,您就有了一个主持Xcode项目的程序员,他在subethaedit中打开源文件。其他程序员则通过subethaedit登录到该文件。然后宿主程序在其本地Xcode中编译代码


然而,正如上面Rudedog的评论中提到的,如果您只想让多个人在同一个项目上工作,但在不同的文件上工作,那么您应该使用代码管理工具

如果您希望进行实时协作,即两个或两个以上的程序员实际上在同一时间将相同的代码写入同一文件,则需要使用类似subethaedit的协作编辑器。您可以将subethaedit设置为Xcode中源文件的首选编辑器

这样,您就有了一个主持Xcode项目的程序员,他在subethaedit中打开源文件。其他程序员则通过subethaedit登录到该文件。然后宿主程序在其本地Xcode中编译代码


然而,正如上面Rudedog的评论中提到的,如果您只想让多个人在同一个项目上工作,但在不同的文件上工作,那么您应该使用代码管理工具

如果您没有在其他地方使用SCM,本地subversion存储库如何?如果您没有使用SCM,本地subversion存储库如何