【问题标题】:Swift - App Store Connect Version can't detect Catalyst EnvironmentSwift - App Store Connect 版本无法检测 Catalyst 环境
【发布时间】:2021-04-27 07:21:33
【问题描述】:

我开发了一个 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
    }
} 

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

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

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

非常感谢!

【问题讨论】:

  • 你知道 userInterfaceIdiom 也有一个 mac 值,对吧? developer.apple.com/documentation/uikit/uiuserinterfaceidiom/…你为什么不用那个?
  • 嗨,是的,你是对的!但不幸的是,Mac 的 userInterfaceIdiom 需要 iOS 14 / Mac Catalyst 14,而我对 iOS 的最低要求是 iOS 13,所以我需要一个解决方法。但是我云解决了我的问题:这不是代码中的错误,而是构建存档时的错误。不过非常感谢!

标签: ios swift app-store-connect mac-catalyst


【解决方案1】:

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

因此,如果将来有人遇到同样的问题,那么在为 mac 归档您的构建时:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    相关资源
    最近更新 更多