是否有一种方法来检测哪个平台正在运行在一个Xcode iOS/MacOS多平台应用程序?



我正在开发Xcode 14.0 beta 3 (14A5270f)的应用程序。目标支持的目的地是:

iPhone (iOS)
  • iPad (iOS)
  • Mac (macOS)

iOS部署目标为16.0macOS部署目标为13.0

我正在寻找某种方法来检测哪个目的地正在运行。我有一个条形码扫描视图,我只想在iPhone或iPad目的地上显示。

感谢https://stackoverflow.com/users/341994/matt在评论中的文档指针,这让我继续。这是我的最终解决方案。

enum PlatformDestination: Int {
case iPhone
case iPad
case iOSOnMac
case MacCatalyst
case Mac
static func destination() -> PlatformDestination {
#if os(iOS)
switch UIDevice.current.userInterfaceIdiom {
case .phone:
return .iPhone
case .pad:
return .iPad
case .carPlay:
return .CarPlay
case .tv:
return .tvOS
case .unspecified:
break
case .mac:
return .iOSOnMac
default:
break
}
#endif
if ProcessInfo().isMacCatalystApp {
return .MacCatalyst
} else {
return .Mac
}
}
}

相关内容

  • 没有找到相关文章

最新更新