参考 https://www.jianshu.com/p/6fcad0acc145
环境
Mac pro M1 2020
MacOs Big Sur 11.1
cocos Creator 2.2.5 rc2
xcode 12.4
1 mac 安装 XCode
2 使用IOS平台 构建 cocos项目
3 编译 (这里会提示 自动安装一个 xcode tools的工具 , 前提条件需要正确安装xcode)
4 运行 (没有报错的情况会启动ios模拟器,非必须)
5 找到 生成的ios工程
6 编辑main.m文件
#import <UIKit/UIKit.h> #import "AppController.h" //int main(int argc, char *argv[]) { // // NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; // int retVal = UIApplicationMain(argc, argv, nil, @"AppController"); // [pool release]; // return retVal; //} int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppController class])); } }
7 启用ARC
- xCode 工程中 TARGETS -> Build Settings 中 启用ARC 选项
8 认知cocos 项目的打包生成目录文件
项目中引用到的对应目录位置和 黄色、蓝色区分
9 xCode 工程中引用的Cocos C++引擎文件 路径修改(移动 proj.ios_mac 文件夹)
(方便以后重复打包 减少重复配置)
以下操作在移动后的proj.ios_mac 文件夹里,重新打开xCode 工程后进行
-
删除丢失的 cocos2d_libs.xcodeproj、script 文件夹 、Classes 文件
夹、以及Resources 目录下的jsb-adapter、project.json 、main.js 、res 、 src 文件或文件夹并重新添加上述文件(具体文件路
径可参考其他任何可编译的正常工程),注意 script 文件夹和Resources 目录下的project.json 、
main.js 、res 、 src 5个文件或文件夹需要以 “Create folder references” 方式引入,请勿勾选 Copy items if needed; -
重新编译下Cocos 的cocos2d_libs.xcodeproj 工程生成的libcocos2d iOS.a文件;
-
xCode 项目Targets->Build Phases 下 Link Binary With Libraries 中重新添加上一步生成的.a文件;
-
xCode 项目Targets->Build Phases 下 Target Dependencies 中重新添加
libcocos2d iOS 文件; -
xCode 项目TARGETS->Build Settings 和 PROJECT->Build Settings 下搜素"../../“路径并把所
有路径中包含的”../../“替换为”../Cocos 源码工程根目录文件夹/build/jsb-default/frameworks/“ -
重新编译工程即可。
问题爬坑
1 cocos creator 2.2.4版本 在Mac pro M1 环境下黑屏。
解决办法 使用了2.2.5 rc2版本
2 打包时报错 libcocos2d iOS.a' for architecture arm64
解决办法 使用真机打包作为打包目标直接打包. libcocos2d ios工程也要对应一致
3 AppDelegate.h 引用不正确。
解决办法 Classes目录使用 黄色引用导入