Did you ever listen to a show and loved it so much that you wished you could keep it forever?
Podcasts started as an open directory of shows and TLIO is meant as a celebration of that. Download all episodes of your favorite podcasts before their public feed is taken private or stops working.
🌟 Star this repo!
Wanna try my Alpha out? Just follow this link on your iPhone or iPad (TestFlight app from Apple required).
For up-to-date news, follow me on social media: Twitter / Mastodon
- Get podcast feed URL from an Apple Podcasts link
- Get episode list
- Download episodes
- Store downloaded episodes in a ZIP file
- Upload the zipped file to iCloud Drive (other cloud providers - e. g., Google Drive - supported through their Share Sheet extension)
- Get podcast feed URL from third-party players' share link (Castro, Overcast and Pocket Casts supported)
- Give specific Get Link instructions based on the podcast player the archiver uses
- Show download progress for each episode
- Upload the zipped file to Google Drive
- Deleting podcasts from the archive
- Let the user cancel the whole download with a single click
- Persist the archive between runs nicely
- Show user full history of exports and downloads
- Keep a big download going in the background
- Let the user check for new episodes after adding a podcast to the archive
Here's this project's backlog: https://trello.com/b/RvZ82ZLx
- 🇺🇸 English
- 🇧🇷 Brazilian Portuguese (native)
- 🇨🇦 Canadian French (not perfect, open to contributions :)
- 🇲🇽 Spanish (very basic at the moment)
To use a different language, either:
- Change the simulator language in Settings or;
- In Xcode, go to
TheLibraryIsOpen (target name at the top) > Edit Scheme... > Run (sidebar) > Options > App Language
.
- iOS 15.0+
- Xcode 13+
- Clone the repo and open TheLibraryIsOpen.xcodeproj on Xcode.
- Wait for Xcode to download all dependencies (Swift packages).
- Use
⌘ + B
to build and⌘ + R
to run the app on the Simulator.
- Use any of Xcode's iOS simulators.
- In Settings, go to
General > Language & Region
and set iPhone Language toEnglish
and Region toUnited States
. - Delete the app from the sim to delete any data that might have been left behind from a previous run.
- In Xcode, press
⌘ + U
to run all tests (or^ + ⌥ + ⌘ + U
to run just the test where the text cursor is).
- The current main flow (from tapping Add Podcast to viewing the podcast episodes) has a visual bug in the Get Episodes and Podcast Preview screens. To fix it, go to Settings and turn the Skip Link Tutorial option on.
- Unit tests
test_getEpisodes_whenDoesNotHaveLocalCache_shouldReturnCorrectEpisodeCount
andtest_getEpisodes_whenHasLocalCache_shouldReturnCorrectEpisodeCount
are known to be broken and will be fixed in a later date.
Rafael C. Schmitt – @mitt_rafael@toot.wales
Distributed under the MIT license. See LICENSE
for more information.