Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileStash - macOS 文件暂存区应用

这是一个使用 SwiftUI 开发的 macOS 应用,它在屏幕的左下角提供了一个文件暂存区。用户可以将文件或文件夹从 Finder 拖拽到这个区域进行暂存,并随时从暂存区将文件拖出或进行预览。

功能特性

  • 悬浮窗口:应用以一个悬浮窗口的形式存在,始终位于屏幕左下角。
  • 跨桌面显示:暂存区可以在 macOS 的所有桌面空间(Spaces)中显示。
  • 快捷键打开:使用 ⌃⌥S(Control + Option + S)快捷键打开/关闭暂存区。
  • 拖拽触发:拖拽文件靠近屏幕左下角时,暂存区会自动显示。
  • 点击外部关闭:点击暂存区窗口外部时,窗口会自动关闭。
  • 拖入暂存:支持从 Finder 或其他应用拖拽文件/文件夹到暂存区。
  • 拖出使用:可以直接将暂存区的文件拖拽到桌面、文件夹或支持拖放的应用中。
  • 文件预览:支持对图片等常见文件进行快速预览(Quick Look)。
  • 数据持久化:暂存的文件列表会在应用重启后保留。
  • 菜单栏图标:应用在菜单栏显示图标,可快速访问或退出。
  • 上下文菜单:右键点击文件可进行打开、在 Finder 中显示、预览和移除等操作。

如何编译和运行

本项目需要使用 Xcode 14 或更高版本进行编译。

  1. 下载并解压:下载附件中的 FileStash.zip 文件,并将其解压到你的 Mac 上。

  2. 打开项目

    • 打开 Xcode。
    • 选择 File > Open...
    • 导航到解压后的 FileStash 文件夹,选择 FileStash.xcodeproj 文件并打开。
  3. 配置签名(Signing & Capabilities)

    • 在 Xcode 的项目导航器中,点击顶部的 FileStash 项目。
    • 选择 FileStash Target。
    • 进入 Signing & Capabilities 标签页。
    • Team 选项中,选择你自己的 Apple Developer 账户。Xcode 会自动为你管理签名。
  4. 编译和运行

    • 点击 Xcode 工具栏左上角的 运行按钮(▶︎),或按下快捷键 Cmd + R
    • Xcode 会编译代码并启动应用。
  5. 授予辅助功能权限(重要):

    • 首次运行时,应用需要「辅助功能」权限才能监听全局快捷键。
    • 前往 系统设置 > 隐私与安全性 > 辅助功能
    • 找到 FileStash(或 Xcode,如果是从 Xcode 运行),将其开关打开。
    • 如果没有看到应用,点击 + 按钮手动添加。
  6. 使用应用

    • 应用启动后,菜单栏会出现一个托盘图标。
    • 使用快捷键 ⌃⌥S(Control + Option + S)打开暂存区。
    • 拖拽文件到屏幕左下角也会自动打开暂存区。
    • 点击窗口外部或再次按快捷键可关闭暂存区。

项目文件结构

FileStash/
├── FileStash.xcodeproj         # Xcode 项目文件
├── FileStash/                  # 主要源代码目录
│   ├── FileStashApp.swift      # 应用主入口和 AppDelegate
│   ├── FileStashManager.swift  # 核心文件管理逻辑
│   ├── FloatingStashView.swift # SwiftUI 视图代码
│   ├── Assets.xcassets/        # 应用图标和颜色资源
│   ├── Info.plist              # 应用配置文件
│   └── FileStash.entitlements  # 应用权限配置
└── README.md                   # 本说明文档

注意事项

  • 辅助功能权限:应用需要辅助功能权限才能监听全局快捷键 ⌃⌥S。如果快捷键无法使用,请检查系统设置中的权限配置。
  • 沙盒权限:为了能够访问用户拖入的文件,项目默认关闭了部分沙盒限制。在正式发布到 App Store 时,需要采用更安全的 Security-Scoped Bookmarks 机制来持久化文件访问权限。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages