首页 > 解决方案 > ios 应用商店拒绝 - 您的应用使用“prefs:root=”非公共 URL 方案

问题描述

我最近将我的应用程序的新版本上传到了 iTunes Connect。我的应用被此注释拒绝

您的应用使用“prefs:root=”非公共 URL 方案

我几乎可以肯定我没有在我的应用程序上使用任何 Url 方案我曾尝试grep -R通过终端在我的整个项目中查找 prefs:root (不区分大小写,以便能够匹配 App-Prefs 或其他任何内容。

我也使用了很多 cocoapods 库所以......我的问题是......有没有办法找出哪个库正在使用该权限?

xcode上的搜索结果截图

在此处输入图像描述

我的项目中使用的框架:

标签: iosxcodecocoapodsapp-store-connect

解决方案


我面临来自 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)
    }
  }

推荐阅读