ios app store rejection - 您的应用使用"prefs:root ="非公共URL方案

Noe*_*ses 17 xcode itunesconnect ios cocoapods

我最近向itunes connect上传了我的应用程序的新版本.我的应用程序被此笔记拒绝了

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

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

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

xcode上的搜索结果的屏幕截图

在此输入图像描述

我项目中使用的框架:

  • AmazonFling
  • 来自CocoaPods的许多其他人(未列出,因为无关紧要:请参阅我的回答)

Gur*_*ngh 24

我面临同样的拒绝形式Apple和打开应用程序设置我使用下面的代码,它不被iOS11接受.

let url = URL(string : "prefs:root=")
if UIApplication.shared.canOpenURL(url!) {
    UIApplication.shared.openURL(url!)
 }
Run Code Online (Sandbox Code Playgroud)

因此,要打开"设置",我使用了以下代码,App已获批准.

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)
    }
  }
Run Code Online (Sandbox Code Playgroud)


Noe*_*ses 1

最后,出现问题的是 AmazonFling,它没有列在 Pod 上,因为它是使用另一种方法安装的。请参阅有关它的论坛帖子:https://forums.developer.amazon.com/questions/167282/apple-app-rejected-because-of-non-public-apis-refe.html

AmazonFling 尚未更新(截至 2018 年 4 月 27 日),因此我将其删除,直到他们更新为止。


在同日发布的 AmazonFling 1.3.2 中修复。请参阅https://developer.amazon.com/fr/docs/fling/release-notes.html