【发布时间】: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