You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用App-prefs:root是否属私有API?调用该API会遭苹果拒审吗?

嘿,这两个问题算是iOS开发里的经典踩坑点了,我来给你详细拆解清楚:

问题1:使用App-prefs:root是否被认定为私有API?

严格来说,App-prefs:这类URL scheme不属于传统意义上的二进制私有API(也就是私有框架里的方法/接口),但苹果明确将其归类为未公开的私有接口范畴。它不在苹果官方文档的公开URL scheme列表里,完全属于苹果内部使用的未公开协议,所以从开发者协议的角度来说,使用它就等同于使用私有API,是违反苹果规定的。

问题2:我在应用中使用代码[NSURL URLWithString:@"App-Prefs:root=Privacy&path=LOCATION"]打开设置界面,此举会导致应用被苹果拒审吗?

答案是:大概率会,而且风险极高

  • 从苹果的审核政策来看,《App Store审核指南》明确禁止使用未公开的API、接口或功能,这类私有URL scheme完全在禁止范围内,一旦被审核系统检测到,直接拒审没商量。
  • 当然,实际审核中偶尔会有开发者侥幸通过的情况,但这完全是随机的——苹果的审核机制一直在升级,现在能蒙混过关的,下次更新或者苹果后续的例行检查中,很可能被揪出来,轻则拒审,重则应用被下架。
  • 另外,苹果提供了合规的替代方案:如果你的需求是打开应用自身的设置页面,请使用公开的UIApplicationOpenSettingsURLString,代码示例如下:
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    
    但如果是想直接跳转到系统隐私设置的特定页面(比如定位设置),苹果目前没有提供任何公开的API支持,强行用私有URL scheme的话,绝对是得不偿失的做法。

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

火山引擎 最新活动