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

升级Xcode 14.0后Flutter应用App Store Connect提交遇非公开选择器错误

Xcode 14.0 应用引用非公开选择器报错的解决办法

错误详情

打包或提交应用时触发以下错误:

应用在Payload/Runner.app/Runner中引用了非公开选择器:fontWeight、relativeSize、spanArray、spanArray_Count、strikeThrough、underline

错误截图

解决步骤

1. 定位调用来源

用Xcode的「Find in Project」搜索这些选择器名称,区分调用来自自研代码还是第三方依赖库。

2. 替换私有API为公开实现

如果是自研代码调用,直接替换成苹果官方公开API:

  • fontWeight → 改用UIFont的weight属性
  • strikeThrough/underline → 改用NSAttributedString.Key.strikethroughStyle、NSAttributedString.Key.underlineStyle设置富文本样式
  • relativeSize → 通过计算字体大小比例实现(比如UIFont.systemFont(ofSize: baseSize * 1.1))
  • spanArray相关调用 → 使用NSAttributedString的公开方法处理富文本片段拆分

3. 处理第三方依赖

如果调用来自第三方库:

  • 优先升级库到最新版本,多数主流库会适配Xcode 14并移除私有API调用
  • 若库无更新,可fork仓库修改源码替换私有API,或者更换功能类似的合规库
  • 不建议用关闭检测的方式临时绕过,苹果审核时可能触发拒绝,优先修复代码

4. 验证修复

清理项目(Cmd+Shift+K)后重新构建、打包,确认错误消失

内容的提问来源于stack exchange,提问作者Sheetal Savani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:45:24