iOS项目嵌入cocos游戏

最近项目要嵌入cocos游戏,记录下嵌入过程。
环境:
cocos游戏是cocoscreator3.8.1导出的可运行iOS工程, 里边引入了大量的cocos库文件,主要生成了两个静态库boost_container.a和cocos_engine.a文件

方案1:

  • 先跑一下cocos游戏,确保能正常跑通
  • 复制cocos游戏项目的Other Linker Flags配置到iOS项目
  • 复制cocos游戏项目的Header Search Paths配置到iOS项目
  • 游戏资源要在Build Phases加脚本导入(cocos游戏文件有同名文件),注意SRC路径要改成资源实际的路径
  • AppDelegateBridge.mm文件可以把渲染游戏的view传过去(默认window)
  • SystemWindow.mm文件getWindowHandle方法判断_externalHandle
set -e
SRC="${PROJECT_DIR}/GoldRed/Resource/Game"
DST="${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/data"

rm -rf "$DST"
mkdir -p "$DST"
rsync -av --delete "$SRC/" "$DST/"
  • 接下来就是侨接文件和调用的问题了,比如游戏的开始、暂停、恢复、回调等都要暴露出相应的接口,还有个问题就是cocos游戏默认是拿keywindow当作游戏渲染试图的,如果你只想把游戏放到某个view上,就需要在AppDelegateBridge初始化的时候把渲染view传过去。
  • 以上完成之后,在iOS项目导入侨接文件正常调用就行了
  • 运行的时候有些地方可能会崩溃,注意查看是不是部分游戏文件内存释放问题(cocos游戏默认mrc),如果是内存的问题,可以在该文件后边加-fobjc-arc,比如IOSPlatform.mm文件

方案2:

  • 整个配置做成pod库,不再需要手动配置Build Settings
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容