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

Ionic 6 Cordova+Xcode14上传App时出现无具体选择器的私有选择器引用错误

解决App Store上传报错“App references non-public selectors in Payload”

错误说明

这个报错是苹果检测到你的App调用了iOS系统的非公开选择器(私有API),这类API是苹果未对外开放的方法,存在稳定性风险,因此会被上传流程拦截。当前上传工具未显示具体违规选择器名称,需要手动排查定位。

定位具体非公开选择器

1. 通过Xcode日志获取完整信息

上传完成后,打开Xcode的Window > Organizer,找到对应App的上传记录,点击Logs标签,在日志中搜索non-public selectors,通常能找到具体的违规选择器名称。

2. 手动扫描App包

  • 找到生成的.ipa文件,右键选择「显示包内容」,进入Payload文件夹,找到与App同名的可执行文件。
  • 打开终端,执行以下命令扫描所有引用的选择器:
otool -oV /路径/到/App可执行文件 | grep -E 'selector ref:@selector' > all_selectors.txt

将生成的all_selectors.txt中的选择器与苹果官方API文档对比,筛选出未公开的私有方法。

针对Ionic+Cordova环境的排查方向

你的项目使用了20多个Cordova插件,大概率是第三方插件引入了私有API,可按以下步骤排查:

  • 逐个排查插件:先移除部分插件,打包上传测试,逐步缩小范围,定位到违规的插件。
  • 更新插件版本:将cordova-plugin-ionic-webview、cordova-plugin-ionic-keyboard等核心插件更新到最新稳定版,旧版本可能存在过时的私有API调用。
  • 检查插件原生代码:对怀疑的插件,查看其src/ios目录下的.m/.h文件,确认是否存在调用苹果未公开的方法(如下划线开头的方法、官方文档无记录的方法)。

注意事项

不建议使用临时绕过方案(如修改Info.plist),这类方法无法保证通过审核,找到并修复私有API调用才是根本解决途径。


内容的提问来源于stack exchange,提问作者Chandra T

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 21:15:39