https://github.com/wflixu/icap
macOS screenshot App Using ScreenCaptureKit
https://github.com/wflixu/icap
macos macos-app screencapturekit screenshot snapshot swiftui
Last synced: 11 months ago
JSON representation
macOS screenshot App Using ScreenCaptureKit
- Host: GitHub
- URL: https://github.com/wflixu/icap
- Owner: wflixu
- License: gpl-3.0
- Created: 2024-01-26T09:28:13.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-11T03:55:15.000Z (about 1 year ago)
- Last Synced: 2025-05-11T04:25:24.701Z (about 1 year ago)
- Topics: macos, macos-app, screencapturekit, screenshot, snapshot, swiftui
- Language: Swift
- Homepage:
- Size: 1.32 MB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# iCap - macOS Screenshot Tool
[](https://swift.org/) [](https://developer.apple.com/xcode/swiftui/) [](https://www.apple.com/macos/monterey/)
[中文版](README_CN.md)
A modern macOS screenshot application built with Swift 5.10, SwiftUI and ScreenCaptureKit.
## Features
- [x] Screenshot capture
- [x] Keyboard shortcut support
- [x] Screen area selection
- [ ] Window selection
- [x] Image editing
- [x] Basic annotations
- [x] Crop and resize
- [x] Saving options
- [x] Save to local
- [x] Copy to clipboard
- [x] Custom save locations
- [x] UI Enhancements
- [x] Border shadow effects
- [ ] Customizable UI themes
## Requirements
- macOS 15 or later
- Xcode 15+
- Swift 5.10
## Installation
1. Download the latest release from [Releases](https://github.com/wflixu/iCap/releases)
## preview

## Contributing
Contributions are welcome! Please submit a pull request or open an issue for any bugs or feature requests.
## Feedback & Support
If you encounter any issues or have suggestions, please open an [issue](https://github.com/wflixu/iCap/issues) on GitHub.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
发布事件
```swift
CombineEventBus.shared.post(SaveAll(data: "123456"))
```
订阅事件
```swift
import Combine
var cancellables = Set()
CombineEventBus.shared
.observe(SaveAll(data: "123456").self)
.receive(on: RunLoop.main)
.sink { event in
print("用户登录: \(event.data)")
}
.store(in: &cancellables)
```