CocosCreator 3.x 防止Xcode工程被覆盖的方法

状况

  • 3.x 使用了 cmake 生成、编译工程,每次构建的时候,Xcode 工程都会被覆盖。导致需要接 sdk,直接修改 Xcode 工程时,非常不方便。

目标

  • 像 2.x 一样,构建时,只处理游戏资源,不修改 Xcode 工程。把工程文件的修改权,全部留给项目。
  • 也就是跳过 Xcode 工程的生成步骤,然后游戏生成后的资源按文件夹引用关联。按这个思路,搞起…

步骤

  1. 生成 Xcode 工程,确认基本环境
  • iOS 构建面板,构建出 Xcode 工程,不在构建面板“生成、运行”,打开 Xcode 测试编译、运行。
  1. 把 cmake 卡掉,防止重新生成工程
  • 打开 iOS 构建过程的构建日志,搜索 cmake,找到使用的 cmake 路径,不出意外在:
    ./CocosCreator.app/Contents/Resources/tools/cmake/bin/cmake
  • 到 cmake 目录,把原 cmake 命令备份,mv cmake cmake_bak,新建一个空的 cmake 命令,touch cmake,内容填上
    #!/bin/bash
    echo "impl: skip cmake generate Xcode project"
  • 再加个运行权限,用来蒙混过关,让构建过程跑到 cmake 的时候正常走:
    chmod +x ./cmake
  1. 修改游戏生成后资源的关联方式,让 assets 资源修改后能正常打进包里
  • 删除这 3 个目录的引用
    i4YvimaqQi
  • 把这 3 个目录重新从 Finder 拖到 Xcode,按文件夹引用的方式
  1. 以上就完成了,改个资源,重新构建测试一下吧
  • 看看刚刚的构建日志,应该会出现 impl: skip cmake generate Xcode project

限制

  1. 按文件夹拷贝游戏资源,每次都拷贝全量,没有原来 cmake 那么快
  2. 比较麻烦,如果新生成 Xcode 工程的话,要再把备份的 cmake 拷贝回去
2赞

大佬 :rofl:

和编辑器绕个圈圈:joy:

1赞

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。