swiftui - 使用为 Mac Catalyst 17 引入的dialogIcon View 修改器时出错

标签 swiftui mac-catalyst

如何使用 Mac Catalyst 17 中引入的 dialogIcon View 修饰符?我收到此错误消息 'dialogIcon' is unavailable in iOS 在 Mac 13.6 上使用 Xcode 15.0.1 进行编译,目标是 Mac (Mac Catalyst),并且 Mac Catalyst Interface=缩放以匹配 iPad 或针对 Mac 进行优化。谢谢

import SwiftUI

struct DialogIcon: ViewModifier {
    let icon: String

    func body(content: Content) -> some View {
#if targetEnvironment(macCatalyst)
        if #available(macCatalyst 17.0, *) {
            content
            .dialogIcon(Image(systemName: icon))
        } else {
            content
        }
#else
        content
#endif
    }
}

extension View {
    func dialogIconModifier(icon: String) -> some View {
        modifier(DialogIcon(icon: icon))
    }
}

最佳答案

虽然我无法验证 Xcode 15.0.1 上的问题是什么,但 Xcode 15.1 中不存在该错误。因此,升级到 Xcode 15.1 将解决您的问题。

Apple 可能没有在 Xcode 15.0.1 中正确地将 API 标记为可用于 Mac Catalyst,他们使用 Xcode 15.1 修复了该问题。这不是我第一次看到他们忘记正确更新 Mac Catalyst 的 API 可用性。

关于swiftui - 使用为 Mac Catalyst 17 引入的dialogIcon View 修改器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77552617/

相关文章:

ios - 更改字体后导航栏标题不会保持为粗体

swiftui - SwiftUI 中的 UITableViewDataSourcePrefetching

swiftui - 仅在第一页上隐藏导航栏 - Swift UI

ios - buildMenu 在 AppDelegate 中调用,但在 UIViewController 中不调用

swift - 如何检测 Mac Catalyst 中的窗口大小调整?

来自其他类的SwiftUI调用函数

json - 如何在 SwiftUI 中显示来自 API 的 JSON 数据?

ios - Mac 催化剂和 iOS 13.5

ios - Mac Catalyst - 向 UITableView/UIScrollView 添加单击 + 拖动手势

swift - 如何在 Mac Catalyst 上的 Swift 中处理窗口的关闭事件?