Repolode
Dimillian

Dimillian/IceCubesApp

An open-source SwiftUI client for the Mastodon decentralized social network, available on iOS, macOS, iPadOS and visionOS.

Open-source alternative to:Twitter

Stars
7,103
Forks
736
Open issues
589
Last commit
24 days ago

What is it?

IceCubesApp is an open-source app for using Mastodon, the decentralized social network. It connects to any Mastodon instance and lets you browse timelines, interact with other users, and post text and media. It is built entirely in SwiftUI and runs on iOS, macOS, iPadOS and visionOS, with a sidebar-based layout on macOS and iPadOS.

Beyond the basic client features, the app adds timeline tag groups, remote local timelines for browsing other instances, a composer with threads, polls, drafts and optional AI-assisted text tools, and push notifications routed through the project's own proxy. It also supports multiple accounts, server-side filters and iCloud sync for tag groups, remote timelines and drafts.

The codebase is split into Swift Packages covering UI, networking and data models, and it follows an MVVM architecture. Building it requires copying the included xcconfig template and filling in your own Apple Team ID and bundle ID prefix.

Key features

  • 01Browse home, local, federated, and trending timelines, plus lists and followed tags.
  • 02Tag groups combine multiple hashtags into a custom timeline.
  • 03Post threads, polls, content warnings, and up to four images per post.
  • 04Push notifications grouped by activity type, with routing to the right account and post.
  • 05Multiple account support with credentials stored in the keychain.
  • 06Customizable themes, fonts, swipe gestures, and tab bar entries.

Use cases

  • Using Mastodon on an Apple device with a native, SwiftUI-based interface.
  • Managing several Mastodon accounts across different instances from one app.
  • Studying a real-world SwiftUI app organized into Swift Packages and MVVM.

Quick start

  1. 1

    Clone the repo

  2. 2

    Copy the xcconfig template (run in the folder containing IceCubesApp.xcconfig.template)

    cp IceCubesApp.xcconfig.template IceCubesApp.xcconfig
  3. 3

    Fill in DEVELOPMENT_TEAM and BUNDLE_ID_PREFIX, then compile the project in Xcode

Things to know

  • Building from source requires an Apple Developer Team ID and manual configuration of the xcconfig file.
  • Apple platforms only: iOS, macOS, iPadOS and visionOS.

In collections

Topics

FAQ

What is IceCubesApp?
An open-source SwiftUI client for the Mastodon decentralized social network, available on iOS, macOS, iPadOS and visionOS. IceCubesApp is an open-source app for using Mastodon, the decentralized social network. It connects to any Mastodon instance and lets you browse timelines, interact with other users, and post text and media. It is built entirely in SwiftUI and runs on iOS, macOS, iPadOS and visionOS, with a sidebar-based layout on macOS and iPadOS.
Is IceCubesApp free to use? What license does it have?
IceCubesApp is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is IceCubesApp still maintained?
Actively maintained. The last commit to IceCubesApp was on Oct 13, 2026.
What can I use IceCubesApp for?
Using Mastodon on an Apple device with a native, SwiftUI-based interface. Managing several Mastodon accounts across different instances from one app. Studying a real-world SwiftUI app organized into Swift Packages and MVVM.
How do I install IceCubesApp?
Clone the repo Copy the xcconfig template (run in the folder containing IceCubesApp.xcconfig.template): cp IceCubesApp.xcconfig.template IceCubesApp.xcconfig Fill in DEVELOPMENT_TEAM and BUNDLE_ID_PREFIX, then compile the project in Xcode
Where can I get IceCubesApp?
The source code and installation instructions are on GitHub: https://github.com/Dimillian/IceCubesApp

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects