如何将cocos2d-x js打包部署到ios上 Mac M1系统

项目环境

cocos2d-x 3.13

xcode 12

mac m1 big sur

先找到你的项目

使用xcode软件打开上面这个文件

打开后应该是这个样子

执行编译运行就好了

可能会碰到的错误

在xcode11版本以上都会有这个错误,这是因为iOS11+废弃了system。

将上面代码修改为

cpp 复制代码
#if (CC_TARGET_PLATFORM != CC_PLATFORM_ANDROID)
#include <ftw.h>
#endif

namespace
{
#if (CC_TARGET_PLATFORM != CC_PLATFORM_ANDROID)
    int unlink_cb(const char *fpath, const struct stat *sb, int typeflag, struct FTW *ftwbuf)
    {
        int rv = remove(fpath);

        if (rv)
            perror(fpath);

        return rv;
    }
#endif
}

bool FileUtils::removeDirectory(const std::string& path)
{
#if !defined(CC_TARGET_OS_TVOS)

#if (CC_TARGET_PLATFORM != CC_PLATFORM_ANDROID)
    if (nftw(path.c_str(), unlink_cb, 64, FTW_DEPTH | FTW_PHYS) == -1)
        return false;
    else
        return true;
#else
    std::string command = "rm -r ";
    // Path may include space.
    command += "\"" + path + "\"";
    if (system(command.c_str()) >= 0)
        return true;
    else
        return false;
#endif // (CC_TARGET_PLATFORM != CC_PLATFORM_ANDROID)

#else
    return false;
#endif // !defined(CC_TARGET_OS_TVOS)
}

解决方案地址

remove "system" usage by minggo · Pull Request #17921 · cocos2d/cocos2d-x · GitHub

继续运行碰到错误

building for iOS Simulator, but linking in object file built for iOS,

找到配置项的这一行添加arm64

再继续运行 又出现错误

解决方法 删除全部VALID_ARCHS 配置项 全局搜索 VALID_ARCHS 然后整行删除。

继续运行 报错

解决方法

找到42行代码

改成下面

再运行 报错

解决方法

找到ios info.list 添加version值

再运行,终于运行成功

相关推荐
Digitally2 小时前
如何在不使用iTunes的情况下在电脑上访问iPhone文件
ios·电脑·iphone
QuantumLeap丶2 小时前
《Flutter全栈开发实战指南:从零到高级》- 14 -网络请求与数据解析
flutter·ios·dart
RollingPin2 小时前
iOS 内存管理之 autoreleasePool
ios·内存管理·runtime·autoreleasepool
BlackWolfSky3 小时前
鸿蒙文件操作
macos·华为·harmonyos·鸿蒙
2501_915921434 小时前
查看iOS App实时日志的正确方式,多工具协同打造高效调试与问题定位体系(2025最新指南)
android·ios·小程序·https·uni-app·iphone·webview
私人珍藏库5 小时前
[Android] AR绘画素描1.0版(AR Draw - Sketch Anime Cartoon 1.0)
macos·ar·sketch
ajassi20007 小时前
开源 Objective-C IOS 应用开发(四)Xcode工程文件结构
ios·开源·objective-c
G佳伟8 小时前
如何解决解决,微信小程序ios无法长按复制问题<text>设置 selectable=“true“不起作用
ios·微信小程序·小程序
Nick56838 小时前
Apple Pay 与 Google Pay 开发与结算全流程文档
ios·安卓·android-studio
全栈派森8 小时前
初见 Dart:这门新语言如何让你的 App「动」起来?
android·flutter·ios