【问题标题】:Xcode 12 SwiftUI app rejected for UIRequiredDeviceCapabilities plist key [closed]Xcode 12 SwiftUI 应用程序因 UIRequiredDeviceCapabilities plist 键而被拒绝 [关闭]
【发布时间】:2021-01-10 19:38:45
【问题描述】:

我刚刚创建了一个新的 iOS 应用并将其提交给 Apple 审核。 他们拒绝了它,原因如下:

指南 2.3 - 性能 - 准确的元数据

我们无法在 iPhone 上安装该应用程序。 Info.plist 中的 UIRequiredDeviceCapabilities 键设置为应用程序不会安装在 iPhone 上。

接下来的步骤

要解决此问题,请检查 UIRequiredDeviceCapabilities 键以确认它仅包含您的应用功能所需的属性或设备上不得存在的属性。如果字典指定的属性是必需的,则应将其设置为 true,如果它们不能出现在设备上,则应设置为 false。

资源

请查看技术问答 1397:了解 UIRequiredDeviceCapabilities 键以获取有关 UIRequiredDeviceCapabilities 键的信息。

您可能还希望查看 iOS 应用程序编程指南的“声明所需的设备功能”部分中的字典键表。

我没有更改UIRequiredDeviceCapabilities 的值,所以我很困惑它可能有什么问题。以下是我采取的步骤:

  • 我使用 Xcode 12.0 创建了应用程序
  • 我使用了 SwiftUI 模板
  • 我只支持 iOS 14
  • 我的应用程序不需要任何特定设备 要求(例如 GPS)

这个模板生成的plist键是:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>$(DEVELOPMENT_LANGUAGE)</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>$(PRODUCT_NAME)</string>
    <key>CFBundlePackageType</key>
    <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>UIApplicationSceneManifest</key>
    <dict>
        <key>UIApplicationSupportsMultipleScenes</key>
        <true/>
    </dict>
    <key>UIApplicationSupportsIndirectInputEvents</key>
    <true/>
    <key>UILaunchScreen</key>
    <dict/>
    <key>UIRequiredDeviceCapabilities</key>
    <array>
        <string>armv7</string>
    </array>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
</dict>
</plist>

我应该完全删除此密钥吗? Xcode用这个key创建app是不是bug?

【问题讨论】:

  • 您可能需要与审核团队交谈。我看到有关拒绝原因的讨论表明它已被用于各种不相关的元数据问题,包括应用名称中的错误字符。
  • 您能否添加应用名称以消除这种歧义?
  • armv7 在所有最新的 iOS 设备上都默认支持,并且是 Xcode 12 中的默认值,所以没有错。
  • 这个问题应该重新打开 IMO。

标签: ios xcode swiftui appstore-approval


【解决方案1】:

原来只是 Apple Review 忘记了如何在他们的设备上安装应用程序。给他们发消息,要求他们再试解决。

【讨论】:

    猜你喜欢
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多