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

App因使用非公开API遭App Store拒审,请求技术协助解决

解决App Store审核2.5.1私有API违规拒审问题

别慌,这是很多开发者第一次遇到的常见问题,咱们一步步来把它搞定:

第一步:定位私有API的来源

你提到的_IOObjectRelease、IOServiceGetMatchingService、IOServiceMatching都是IOKit框架里的私有接口,大概率不是你自己直接写的代码,更可能是引入的第三方依赖带进来的:

  • 先用Xcode全局搜索你的代码库,确认是否有自己直接调用这些API的情况
  • 如果代码里找不到,就逐个检查你的Pod、Carthage依赖或者静态库,排查哪个第三方库用到了这些私有接口

第二步:替换私有API的合规方案

这些API一般是用来获取硬件相关信息的,完全可以用苹果的公开API替代:

  • 基础硬件信息优先用UIDevice的公开属性,比如model、systemVersion、name等
  • 如果需要更特定的硬件参数,可以考虑DeviceCheck框架、CoreTelephony(针对网络硬件)这类官方提供的公开方案
  • 如果是第三方库导致的问题,先看该库有没有更新版本移除了私有API;要是没有合适的更新,就换一个功能类似的合规第三方库

第三步:提交前的自查(避免二次被拒)

整改完一定要做全面检查,确保没有遗漏:

  • 用Xcode附带的nm命令扫描二进制文件,确认私有API已经完全移除:
    nm -u YourAppBinary | grep -E "_IOObjectRelease|IOServiceGetMatchingService|IOServiceMatching"
    
  • 也可以用otool工具辅助验证IOKit相关的调用是否合规:
    otool -L YourAppBinary | grep IOKit
    
  • 确保所有依赖都更新到了最新的合规版本,提交时可以在备注里说明你已经完成了私有API的移除和替换

第四步:申诉小技巧(如果整改后仍被误判)

要是你已经确认彻底移除了这些API但还是被拒,申诉时可以这么写:

我已全面排查并移除了所有私有API调用,包括_IOObjectRelease、IOServiceGetMatchingService、IOServiceMatching,同时使用苹果公开API替代了原有功能。附上自查的命令输出结果作为证明,恳请审核团队重新检查。

放心,首次违规只要及时整改,不会有后续处罚的!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:16:53