isiOSAppOnMac 与 isMacCatalystApp?

问题描述 投票:0回答:1

我有一个在目标“My Mac(专为 iPad 设计)”上运行的应用程序,并且还在 Mac App Store 中预设为 iPad 应用程序。这也需要 Apple Silicon,所以……它不是催化剂?它有名字吗?催化剂在实施上有何不同? Catalyst 是否需要从 UIKit 切换到 AppKit?

我看到这里有两个标志:

extension ProcessInfo {
    @available(iOS 13.0, *)
    open var isMacCatalystApp: Bool { get }

    @available(iOS 14.0, *)
    open var isiOSAppOnMac: Bool { get }
}
ios macos uikit mac-catalyst
1个回答
0
投票

您的“Mac(专为 iPad 设计)”应用程序只是一个 iPad 应用程序。 Apple Silicon Mac 可以按原样运行 iPad 应用程序。该应用程序的外观和工作方式与在 iPad 上一样。这样的应用程序不需要额外的工作,但它也没有利用任何 macOS 功能,也不具有与本机 macOS 应用程序完全相同的外观和感觉。

“Mac (Mac Catalyst)”应用程序仍然(大部分)使用 UIKit 编写,但它允许您的应用程序在 Intel 和 Apple Silicon Mac 上运行。它一开始与您的 iPad 应用程序相同。但您现在可以使其外观和工作方式更像原生 macOS 应用程序。它可以使用一些 AppKit API(仅限那些明确表示支持 Mac Catalyst 的 API)。您需要专门构建并提交 iOS 应用程序的 macOS 版本。

isiOSAppOnMac
仅当您的“专为 iPad 设计”iOS 应用程序在 Apple Silicon Mac 上运行时才返回 true。

如果您的“Designed for iPad”iOS 应用程序在 Apple Silicon Mac 上运行,或者您的“Mac Catalyst”iOS 应用程序在任何 Mac 上运行,则

isMacCatalystApp
返回 true。

有关完整详细信息,请参阅文档中的 Mac Catalyst

© www.soinside.com 2019 - 2024. All rights reserved.