访问 ARKit – iOS 应用拒绝指南 2.5.1

问题描述

我们的 iOS 应用因以下原因被拒绝。

指南 2.5.1 - 性能 - 软件要求 在审核期间,我们被提示同意访问 ARKit。但是,我们无法在您的应用中找到任何使用 ARKit 的功能

后续步骤

如果您的应用不包含任何使用 ARKit 的功能,请从您的应用中移除对 ARKit 的访问权限。

如果您的应用确实包含使用 ARKit 的功能,请在解决中心回复此消息以提供有关如何找到它们的信息。

我们没有在我们的应用中使用任何 ARKit 框架。我们还检查了是否有任何依赖项正在使用 ARKit。但是,他们都没有添加 ARKit。所以,我无法弄清楚 ARKit 在审核期间是如何获得同意的。

仅供参考,我们正在使用前置/后置摄像头拍摄用户的个人资料照片。另外,我们设置

  • 'NSCameraUsageDescription',
  • 'UIrequiredDeviceCapabilities' 到 'armv7',
  • 'NSFaceIDUsageDescription',
  • 'NSLocationAlwaysAndWhenInUseUsageDescription',
  • 'NSMicrophoneUsageDescription'

info.plist 中的等,用于权限文本。

任何形式的帮助将不胜感激。

谢谢

解决方法

①。您似乎在创建应用程序时使用了 ARKit 模板。尝试使用 arm64 值而不是 armv7,并删除 arkit 值(如果您在 info.plist 中有此值)。

考虑到这两个值在使用 ARKit 时是强制性的。

<key>UIRequiredDeviceCapabilities</key>
    <array>
        <string>armv7</string>
        <string>arkit</string>
    </array>

②。检查 AppDelegate.swift 文件中是否有任何 guard statement 像这样:

guard ARWorldTrackingConfiguration.isSupported else {
    fatalError("ARKit is not available on this device.")
}

③。如果您 100% 确定您的应用没有任何 ARKit 功能,请联系 AppStore 团队讨论该问题。


附言

@MilanKamilya 建议您可以使用任何依赖于 ARKit 的 CocoaPod。要确定您是否有这样的依赖项,请在终端中使用从 macOS 根目录执行的以下命令(适用于 bash 和 zsh):

grep -r ARKit ./