ffe9e7a714
* Add setting to control share button default behavior This adds a setting to control the behavior of the share button on the status row actions view. Currently, it always shares the link to the post as well as the post text. In iOS 16.4, Apple added iMessage unfurling for Mastodon URLs. When sharing posts from Ice Cubes via iMessage, this leads to the recipient seeing two copies of the post: one from the unfurled link and one from Ice Cubes including the post text. Users will now have the option to exclude the post text from their sharing. This is easier than tapping the 3-dots button on the post (which is kind of small) and then expanding the Share menu in the context menu, which is the other way to access this functionality at the moment. The default value for the new option will be "Link and Text", which is the current behavior - so we won't change the behavior on existing users. * Add new strings to other language localizations |
||
---|---|---|
.github | ||
ci_scripts | ||
IceCubesActionExtension | ||
IceCubesApp | ||
IceCubesApp.xcodeproj | ||
IceCubesNotifications | ||
IceCubesShareExtension | ||
Images | ||
Packages | ||
.gitignore | ||
.swiftformat | ||
IceCubesApp-release.xcconfig | ||
IceCubesApp.xcconfig.template | ||
LICENSE | ||
PRIVACY.MD | ||
README.md | ||
TERMS.MD |
IceCubesApp
IceCubesApp is an open source application for accessing the decentralized social network Mastodon! It's built entirely in SwiftUI, making it fast, lightweight, and easy to use.
You can connect to any Mastodon instance and browse your timeline, interact with other users, and post updates and media.
The project is split into different Swift Packages to make it easier to manage and maintain the codebase. Each package is focused on a specific aspect of the application, such as the UI, network communication, or data models. This modular approach allows for easier collaboration and ensures that the code is organized and easy to understand.
It's a great starting point for learning SwiftUI. The app covers many of the basic concepts of SwiftUI, such as building layouts, working with data, and handling user interaction. By exploring the code, you can gain a solid understanding of how to use SwiftUI in your daily life. Plus, the open source nature of IceCubesApp means that you can see how real-world applications are built and get a sense of best practices for using SwiftUI.
The architecture is straightforward MVVM for most parts, no redux on this one ;)
Please note that IceCubesApp is currently in an early stage of development and as such, there are many features that are still missing. While the app is functional and can be used to browse and interact with Mastodon, there are still many features that are planned for the future.
Thanks!
Building the project
To build the project, you need to clone the repo and create a copy of the included .xcconfig
file to create your config before you can compile the project. Otherwise, you will get an error.
Here are the steps:
- Clone the repo
- In the same folder that contains the
IceCubesApp.xcconfig.template
, run this command:
cp IceCubesApp.xcconfig.template IceCubesApp.xcconfig
- Fill in the
DEVELOPMENT_TEAM
andBUNDLE_ID_PREFIX
values. The first should have your Apple Team ID (which you can find by logging into the Apple Developer Portal). The latter is your domain in reverse notation or whatever you use as the prefix for your projects. - Save your changes, and then you should be able to compile the project without any issues.