macOS icon customization application
Transform your app icons with Colir. Apply colors, gradients, photos, and emojis to customize icon appearances with an intuitive drag-and-drop interface. Supports modern and classic Mac icon formats.
Available on the Mac App Store
Company Name: IGR Soft Domain: com.igrsoft Contact: support@igrsoft.com
Project Name: Colir Bundle Identifier: com.igrsoft.colir Current Version: 1.0.0 (Build 1000)
Colir is a powerful icon customization utility for macOS. It allows users to personalize app icons by applying color overlays, photo backgrounds, emoji decorations, and visual effects. The app supports drag-and-drop workflow, integrates with the Photos app, and can extract icons from classic Mac OS resource files.
- Color Customization - Apply any color with an interactive color wheel
- Photo Integration - Use photos from your library as icon backgrounds
- Emoji Decorations - Add emoji overlays with skin tone variants
- Visual Effects - Apply tints, gradients, and transparency effects
- Drag & Drop - Simple file-based workflow
- Undo/Redo - Full history support for all operations
- Applications - Extract icons from .app bundles
- Pictures Folder - Browse your Pictures directory
- Photos Library - Access photos directly from Photos app
- Classic Resources - Parse Mac OS Classic .rsrc files
- Web Resources - Download icons from web sources
- ICNS - macOS icon format
- PNG - Standard image format
- Multiple Sizes - Export at various resolutions
- Real-time Preview - See changes instantly
- Style History - Track and reapply previous customizations
- Keyboard Shortcuts - Efficient workflow with shortcuts
- Dark Mode - Native dark mode support
- Language: Swift 6.2
- UI Framework: SwiftUI with NSView integration
- Minimum Platform: macOS 14.1+
- Architecture: MVVM pattern
- Concurrency: Swift 6 strict concurrency
- Storage: @AppStorage for preferences
- In-App Purchases: StoreKitPlus
- macOS: 14.1 or later
- Hardware: Any Mac running macOS 14.1+
- Xcode: 15+ (for development)
- Swift: 6.2
Colir uses a modern MVVM architecture:
- ViewModels: State management and business logic coordination
- Managers: Domain-specific operations (Icon, Export, Photos, Files)
- Parsers: File format handling (RSRC resources)
- Extensions: Framework augmentation for images and colors
See ARCHITECTURE.md for detailed system architecture.
colir/
├── Sources/ # Main application source
│ ├── AppDelegate/ # App entry point
│ ├── Constants/ # Constants and type extensions
│ ├── Extensions/ # Swift extensions (16 files)
│ ├── Logger/ # Logging infrastructure
│ ├── Managers/ # Core business logic
│ ├── Models/ # Data structures
│ ├── Parsers/ # File format parsers
│ ├── Services/ # Service layer
│ └── Views/ # SwiftUI interface
├── 3rdparty/ # Third-party dependencies
│ └── Graphite/ # C++ resource parser
├── Tests/ # Unit tests
├── UITests/ # UI automation tests
├── Resources/ # Assets and configuration
├── Localization/ # Multi-language support
└── Configurations/ # Build configs
<!-- Photo Library access -->
<key>NSPhotoLibraryUsageDescription</key>
<string>Colir uses your photo library to apply images to icons.</string>git clone <repository-url>
cd coliropen colir.xcodeprojSelect the colir scheme and press Cmd+R to build and run.
xcodebuild -project colir.xcodeproj \
-scheme colir \
-configuration Debug \
buildxcodebuild -project colir.xcodeproj \
-scheme colir \
-configuration Release \
buildxcodebuild test \
-project colir.xcodeproj \
-scheme colir \
-destination 'platform=macOS'xcodebuild test \
-project colir.xcodeproj \
-scheme colir \
-destination 'platform=macOS' \
-only-testing:colirUITestsProject uses SwiftFormat for consistent code formatting:
swiftformat .This project includes AI development configuration:
- CLAUDE.md - AI agent configuration for Swift/macOS development
- ARCHITECTURE.md - System architecture documentation
| Config | Purpose |
|---|---|
| Debug | Development with debug symbols |
| Release | Production optimized |
Issue: Cannot access photos from the app Solution:
- Check photo library permissions in System Settings > Privacy & Security > Photos
- Ensure Colir is granted access
- Restart the app after granting permissions
Issue: Dropped icons don't appear Solution:
- Verify the file is a valid image or .app bundle
- Check file permissions
- For .rsrc files, ensure the file contains valid icon resources
Issue: Cannot save exported icons Solution:
- Verify write permissions for the destination folder
- Grant file access when prompted
- Try a different export location
Issue: Color picker doesn't respond to input Solution:
- Resize the window slightly to refresh the view
- Check if another app is capturing mouse events
- Restart the application
Colir prioritizes your privacy and security:
- Local Processing: All icon processing happens on your device
- No Analytics: No data is collected or sent to external services
- Sandboxed: App runs in macOS sandbox with minimal permissions
- No Network Required: Core features work completely offline
- Photo Access: Photos are accessed read-only, never modified
- Format code: Run
swiftformat . - Run tests: Ensure all tests pass
- Update docs: If adding features
Follow Conventional Commits:
feat: add new color effect
fix: resolve drag-drop issue on Sonoma
chore: update dependencies
docs: improve README
Copyright 2025 IGR Soft. All rights reserved.
See LICENSE file for details.
For issues or questions:
- Create an issue in this repository
- Contact: support@igrsoft.com
Made with care by IGR Soft