參考 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目錄使用 黃色引用導入