You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity转Xcode语义问题求助:iOS打包归档时报错

解决Xcode 13.0 Beta归档时的语义错误问题

针对你这段Objective-C代码出现的语义错误,试试以下几种解决方式:

  • 给if语句添加大括号
    虽然Objective-C允许单行if省略大括号,但Xcode Beta版本的编译器可能对这种写法存在解析bug,添加大括号后重新构建:

    if (@available(iOS 15.0, tvOS 15.0, *)) {
        _displayLink.preferredFrameRateRange = CAFrameRateRangeMake(targetFPS, targetFPS, targetFPS);
    }
    
  • 检查targetFPS的类型
    CAFrameRateRangeMake的三个参数要求是double类型,如果targetFPS是整数类型(比如int),强制转换为double后再传入:

    if (@available(iOS 15.0, tvOS 15.0, *)) {
        _displayLink.preferredFrameRateRange = CAFrameRateRangeMake((double)targetFPS, (double)targetFPS, (double)targetFPS);
    }
    
  • 改用CAFrameRateRange的初始化方法
    尝试替换掉CAFrameRateRangeMake函数,使用Objective-C的初始化方法创建实例,避免函数定义的兼容性问题:

    if (@available(iOS 15.0, tvOS 15.0, *)) {
        _displayLink.preferredFrameRateRange = [[CAFrameRateRange alloc] initWithMinimum:targetFPS maximum:targetFPS preferred:targetFPS];
    }
    
  • 清理项目缓存后重新构建

    1. 按下Command + Shift + K清理构建文件夹
    2. 重启Xcode
    3. 重新执行归档操作

内容的提问来源于stack exchange,提问作者Suleman Mohyudin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 13:59:57