使用“App-prefs:root”是否被视为私有API?

16

在我的应用中,我使用[NSURL URLWithString:@"App-Prefs:root=Privacy&path=LOCATION"]打开设置屏幕。根据一些来源,这被认为是私有API,那么苹果会不会拒绝它呢?

4个回答

18

是的,打开设置的唯一合法方式是使用 UIApplicationOpenSettingsURLString


2
但是这会打开应用程序设置而不是 iPhone 上的“常规”设置。 - Tejas K
是的。没有官方方法可以打开“常规设置”而不冒被拒绝的风险。 - Gereon

8
我的应用因为这个原因被拒绝了,所以是私有API。以下是苹果的拒绝通知:
您的应用程序使用“prefs:root=”非公开URL模式,这是一个私有实体。在App Store上不允许使用非公开API,因为这些API可能会发生变化,从而导致用户体验不佳。

你的拒绝通知提到了 prefs:root,而不是 App-Pref:root=。你的代码是否真的使用了问题中要求的相同URL前缀,还是使用了这个略有不同的URL前缀,并且你怀疑拒绝会适用于两者? - davidgyoung
@davidgyoung 在拒绝信中,苹果公司明确指出不要在其分辨率建议中使用这两个选项之一。因此,使用任何一个都可能导致您的应用被拒绝。 - tzm41
我在我的应用程序中使用了“prefs:root=”(该应用程序已经在App Store上通过审核将近2年了),但昨天当我尝试上传新版本时,应用程序被拒绝并收到了相同的通知。 - Milander
苹果甚至威胁要终止我的账户,如果我继续使用prefs:root....?! 我也不知道它是一个私有API,我以为这是链接到设置应用程序中特定页面的官方方式... - skofgar
@rhcpfan 我正在使用 "App-prefs:(bundleIdentifier)" 打开一个应用程序的设置,用户可以在其中启用或禁用该应用程序的推送通知,苹果会拒绝我的应用程序吗?我的应用程序基本上为任何应用程序提供了启用/禁用通知的快捷方式。 - Zeeshan Ahmed

3
为了解决这个问题,如果您正在导航到“设置>隐私”,请“只需删除那段代码”并放置一个简单的警报显示启用位置服务。
因为从iOS 10开始,苹果将其视为“私有实体”。所以您无法通过它。

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接