
Ice Cubes
github.com/dimillian/icecubesapp- Category
- Social
- Rank
- No. 263Tools index
Previous survey · No. 258 ·
- Pricing
- Open Source
- Type
- APP
- Builder
- dimillian
- GitHub
- 7.1k stars
- Latest release
- 2.1.3
- Date
About
Dimillian's polished SwiftUI Mastodon client for iOS and macOS — fluid scrolling, beautiful media handling, multi-account support.
What it does
Ice Cubes is an open-source Mastodon client built around native Apple interfaces. It connects to any Mastodon instance, streams timeline changes, caches the home feed, restores reading position across devices, and supports posting, search, notifications, private messages, lists, profiles, filters, drafts, and account switching.
Why it's ranked here
This is a substantial client, not a thin feed reader. Live updates, cached timelines, synchronized drafts, configurable gestures, rich notifications, remote instance browsing, and grouped tag timelines cover serious daily use. Its modular Swift package structure also makes the source useful for studying a real SwiftUI application.
What's good
Timeline handling is unusually thoughtful: live events update posts, local caching preserves continuity, and Mastodon markers help resume reading elsewhere. The composer supports threads, images, polls, content warnings, custom emoji, drafts, language suggestions, and optional OpenAI assistance. Authentication uses Apple’s web session, while tokens remain in the keychain.
Tradeoffs
The supported platforms are all within Apple’s ecosystem, so this does not serve Android, Windows, or browser users. Building from source requires Apple developer configuration before compilation. Several features depend on outside infrastructure, including iCloud synchronization, a push notification proxy, Mastodon server capabilities, and the OpenAI API for assisted writing tools.
How to use it well
Choose it as a daily Mastodon client when you use Apple devices, follow several timelines, or manage multiple accounts. Developers can also study it as a modular SwiftUI and MVVM application. It does not replace a Mastodon server, moderation console, or client for non-Apple platforms.
Technical notes+
README.md describes a mostly MVVM SwiftUI application split into local Swift packages. Packages/Timeline/Package.swift uses Bodega for caching and SwiftUI Introspect; Packages/DesignSystem/Package.swift brings in Nuke, EmojiText, and Gifu for presentation and media concerns. Packages/Env/Package.swift uses KeychainSwift and TelemetryDeck. The supplied manifests declare Swift tools 6.2, Swift language mode 6, iOS 18, and visionOS 1; several UI-facing targets use MainActor default isolation. Test targets appear in the Env, Models, Account, Timeline, StatusKit, and NetworkClient package manifests. Packages/Models/Sources/Models/App/App.swift defines the URL scheme, default Mastodon server, OAuth scopes, App Store identifier, and keychain group.
Observed
- License
- GNU Affero General Public License version 3
- Primary language
- Swift, with the interface built in SwiftUI
- Distribution
- Available through Apple’s App Store and buildable from source with Apple team and bundle configuration
- Interface
- Native graphical Mastodon client
- Platform support
- iOS, iPadOS, macOS, and visionOS
- Architecture
- Modular local Swift packages with mostly MVVM application structure
- Protocol integration
- Uses Mastodon streaming events, marker synchronization, server-side filters, and push notification routing
Read from README.md, Packages/Env/Package.swift, Packages/Lists/Package.swift, Packages/Models/Package.swift, Packages/Account/Package.swift, Packages/Explore/Package.swift, Packages/MediaUI/Package.swift, Packages/Timeline/Package.swift, Packages/StatusKit/Package.swift, Packages/AppAccount/Package.swift, Packages/DesignSystem/Package.swift, Packages/Conversations/Package.swift, Packages/NetworkClient/Package.swift, Packages/Notifications/Package.swift, Packages/Models/Sources/Models/App/App.swift.
What it can do
Browse and scroll through Mastodon social media feeds
User's Mastodon account credentials → Scrollable timeline of posts and updates
Display images, videos, and other media content
Media files attached to Mastodon posts → Rendered media with optimized viewing experience
Manage multiple Mastodon accounts simultaneously
Multiple Mastodon account credentials → Unified interface with account switching capabilities
Post content to Mastodon
Text, images, or media content from user → Published post on Mastodon social network
Interact with Mastodon posts
User actions on posts (likes, shares, replies) → Social interactions recorded on Mastodon platform
Tags
Tech Stack
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.