ios - ios 应用商店拒绝 - 您的应用使用“prefs:root=”非公共 URL 方案
问题描述
我最近将我的应用程序的新版本上传到了 iTunes Connect。我的应用被此注释拒绝
您的应用使用“prefs:root=”非公共 URL 方案
我几乎可以肯定我没有在我的应用程序上使用任何 Url 方案我曾尝试grep -R
通过终端在我的整个项目中查找 prefs:root (不区分大小写,以便能够匹配 App-Prefs 或其他任何内容。
我也使用了很多 cocoapods 库所以......我的问题是......有没有办法找出哪个库正在使用该权限?
xcode上的搜索结果截图
我的项目中使用的框架:
- 亚马逊飞
- 来自 CocoaPods 的许多其他人(因为不相关而未列出:请参阅我的回答)
解决方案
我面临来自 Apple 的相同拒绝,并打开应用程序设置,我正在使用以下代码,但它在 iOS11 上不被接受。
let url = URL(string : "prefs:root=")
if UIApplication.shared.canOpenURL(url!) {
UIApplication.shared.openURL(url!)
}
因此,要打开设置,我更新了代码并且它工作正常。
guard let settingsUrl = URL(string: UIApplicationOpenSettingsURLString) else {
return
}
if UIApplication.shared.canOpenURL(settingsUrl) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(settingsUrl, completionHandler: { (success) in
})
}
else {
UIApplication.shared.openURL(settingsUrl)
}
}
推荐阅读
- android - 错误:java.util.concurrent.locks.LockSupport.parkNanos
- c - 在 c99 中初始化布尔数组的方法
- php - SQL 不读取 PHP 中的符号
- apache-spark - Spark中执行器和容器的区别
- apache-camel - Apache Camel FTP 与 FTP2
- windows - 文件路径长了255个字符,这个“255”怎么解释?
- c# - 以编程方式在启动窗口中创建网格
- angular - 在 Angular 中显式验证模板驱动的表单
- javascript - Blob 下载适用于 Chrome,但不适用于 Firefox
- c# - 鼠标事件发送者如何为空?(仅在 Windows 8.1+ TOUCH 上)