同事生成的iOS工程,我用xcode打开文件都报红,怎么处理?
我构建的时候选了“跳过Xcode工程的更新”
需要让同事A,在xcode上,用xcode的方式改成相对路径。改一两个,找到规律后,直接文本搜索替换 xxx.xcodeproj/project.pbxproj 文件中路径引用。
我看3.7文档上写的: 默认的发布路径为项目目录的 build 文件夹下,如果您使用 Git、SVN 等版本控制系统,可以将 build 文件夹在版本控制中忽略。
在build/ios/proj下有test1.xcodeproj,也忽略吗?
如果也忽略,那怎么团队共享一份配置呢?
现在有什么办法可以先处理吗?让他不报红色,可以提交版本控制
Xcode 工程(和 Visual Studio 工程)是由 CMake 生成的,通常不需要共享,可以让每个开发者自己生成。CMake 的用法是共享 CMake 配置,例如 CMakeLists.txt, 在相同的配置下,CMake 可生成基本相同的工程,但这些工程会与本地路径相关联。
如果需要发布项目,对生成的 Xcode 工程进行修改, 可以选择 “跳过 Xcode 工程更新” 选项,然后对生成的 Xcode 工程进行定制,例如使用 CocoaPods。
与 2.x 版本不同,构建生成的工程不能直接上传至 Git,原因在于 3.x 版本没有 default 模板。在 2.x 的 default 模式下,所有必要的资源都位于构建目录中,可以通过相对路径定位。3.x 类似于 link 模式, 引用了 CocosCreator 内部资源、Xcode 内部的 SDK 路径和工程的 native 目录等,这些在不同设备上是不一样的,因此不能共享。
若要实现共享,最简单的方法是确保每个开发者的目录结构一致,包括避免使用 /User/xx 目录,例如都使用根目录:
/project/game-xxxx/
同时,需要确保 Xcode 版本和 CocosCreator 版本保持一致。
那如果要共享的话,xcode和creator,不同的开发者,这些app安装在不同/user下有影响吗?
还有android会有这个问题吗?
理想情况下是这样的。如果在构建后的工程中接入了sdk,各种sdk还需要多个人一起完成。那就还需要把build后的上传。我们的项目是这样处理的:
- 只进行一次ios构建,构建后的工程传git
- 定制引擎,定制引擎上次git。定制引擎改为构建工程的submodule,保持相对路径不变
- 构建工程,对代码的引用调整为相对路径引用
- 构建工程,对资源的引用,包括info.plist改相对路径引用
这样处理后的好处:
- A这样处理好,B把build仓库拉下来,更新submodule后就可以直接构建
- build仓库共用,游戏a可以用,做游戏b的时候也可以用(直接把构建后的资源拷贝过去,修改包名sdk配置等)
谢谢大哥回复,结合官方的回复可以解决问题
请问能详细指点一下吗?我没理解怎么弄。。。

