Mac上的UIKit
我正在探索使用Xcode 11和macOS Catalina创建iPad应用程序的Mac版本时,利用UIKit打造全新可能性。基本上按预期工作。
在macOS上,最好的方法是如何自定义NSWindow
?
超越复选框
https://developer.apple.com/documentation/uikit/creating_a_mac_version_of_your_ipad_app
您可以使用相同的方法来包含仅在macOS中可用的框架和代码。对于框架,请选择macOS作为平台设置,并用#if targetEnvironment(UIKitForMac)语句将代码封装起来。
作为起点,我创建了一个基本的macOS框架(例如MacMan.framework
),用于配置Mac特定行为。
尽管我尝试了最好的办法,但还是遇到了错误:
- 'NSApp'在UIKit for Mac中不可用
- 'NSWindow'在UIKit for Mac中不可用
- 正在构建UIKit for Mac,但链接的框架'MacMan.framework'正在构建macOS。您可能需要配置'MacMan.framework'以用于构建UIKit for Mac,或在目标编辑器中限制此框架应链接的平台。
相反似乎更容易(排除代码)
#if !targetEnvironment(UIKitForMac)
override var prefersHomeIndicatorAutoHidden: Bool {
return true
}
#endif
参考文献:
https://www.highcaffeinecontent.com/blog/20190607-Beyond-the-Checkbox-with-Catalyst-and-AppKit