Mac Catalyst 和 SwiftUI 的区别
in 技术 with 0 comment

Mac Catalyst 和 SwiftUI 的区别

in 技术 with 0 comment

Mac Catalyst

Create a version of your iPad app that users can run on a Mac device.

创建一个 iPad app 的版本,使用户能在 Mac 设备上运行它。

Swift UI

Declare the user interface and behavior for your app on every platform.

申明所有平台上 的 app 的用户界面和行为。

区别

Mac CatalystSwiftUI
语言Objective-C, SwiftSwift
兼容性macOS 10.15+macOS 10.15+ , iOS 13.0+ , watchOS 6.0+ , tvOS 13.0+ , Mac Catalyst 13.0+
平台MacAll
APIUIKit & AppKit (marked as available)SwiftUI
开发工具Xcode 11+Xcode 11+

1.Mac Catalyst 的作用是为了 iPad 的应用可以移植到 Mac 平台,所以前提是你需要有一个 iPad 应用或者将要支持 iPad 平台。因此在项目中必须同时勾选 iPad 和 Mac 才会启用 Mac Catelyst 功能;
Xcode_Targets_DeploymentInfo_Device

2.Mac Catalyst 并不允许移植 Mac 的应用到 iPad 平台;

3.SwiftUI 生来就是为了跨全平台,但是在兼容 Mac 平台上任然是借助了 Mac Catalyst

4.Mac Catalys 像更上层的封装, 它融合了 UIKit 和 AppKit;

5.SwiftUI 是一个全新的 Framework,虽然基于 UIKit 和 AppKit,但是像 Text、Button 等组件都是重新绘制;

6.Mac Catalyst 不能包含不兼容的 frameworks、 libraries、embedded content,以及不支持的 API;

#if !targetEnvironment(macCatalyst)
// Code to exclude from Mac.
#endif

引用

https://developer.apple.com/documentation/uikit/mac_catalyst
https://developer.apple.com/documentation/swiftui

Responses