You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在macOS原生SwiftUI中实现「在访达中显示」功能?

在macOS SwiftUI中激活访达并选中指定文件

在SwiftUI中实现该功能,本质上还是依赖AppKit的NSWorkspace API——因为SwiftUI在macOS平台上完全兼容AppKit生态,不需要额外的“纯SwiftUI”替代方案,直接调用原生方法即可达到和AppKit中完全一致的效果。

实现步骤与代码示例

  1. 导入AppKit框架(SwiftUI默认不包含该框架)
  2. 调用NSWorkspace.shared.activateFileViewerSelecting(_:)方法,传入包含目标文件URL的数组
import SwiftUI
import AppKit

struct FileFinderView: View {
    // 替换为你实际的本地文件URL
    let targetFileURL = URL(fileURLWithPath: "/Users/your-username/Documents/example.pdf")
    
    var body: some View {
        Button("在访达中定位文件") {
            // 激活访达并选中指定文件
            NSWorkspace.shared.activateFileViewerSelecting([targetFileURL])
        }
    }
}

关键说明

  • activateFileViewerSelecting(_:)接收URL数组参数,即使只需要选中单个文件,也要用数组包裹
  • 调用后访达会自动激活,打开目标文件所在的文件夹并高亮选中该文件,行为和AppKit中的实现完全一致
  • 无论是在View的动作回调中,还是在ViewModel等逻辑层调用,该方法都可以直接使用

内容的提问来源于stack exchange,提问作者Anton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 08:17:06