Swift - App Store Connect 版本无法检测 Catalyst 环境

Chr*_*rer 5 ios swift app-store-connect mac-catalyst

我开发了一个 iOS 应用程序,并希望通过 Catalyst 将它带到 macOS。一切正常,我可以使用以下代码优化 mac 的布局:

extension UIDevice {
    var type: DeviceType {
        #if targetEnvironment(macCatalyst)
            return .mac
        #else
        switch UIDevice.current.userInterfaceIdiom
        {
        case .phone:
            return .phone
        case .pad:
            return .pad
        default:
            return .phone
        }
        #endif
    }
} 
Run Code Online (Sandbox Code Playgroud)

我主要使用它来在 CollectionView 中显示不同的幻灯片。

在我本地的 Macbook 15(2017,Big Sur 11.0.1)上,一切正常。但是当将应用程序发布到 App Store 时,它​​被拒绝,因为它显示了 iPad - 布局。

有没有人遇到过类似的问题?还是我在归档构建时犯了一个错误?(目的地:任何 Mac(Apple Silicon、Intel) -> 产品 -> 存档)

非常感谢!

Chr*_*rer 0

我可以找到问题的答案。代码不是问题,一切都很顺利。为 Mac 构建存档时出现错误:

因此,如果将来有人遇到同样的问题,在存档 mac 版本时:

不要使用“任何 Mac(Apple Silicon、Intel)”作为运行目的地。

使用“我的 Mac”作为运行目的地。

有关更多信息,请参阅文档:https://help.apple.com/xcode/mac/current/#/deva1159eef6