Pocket Casts is the world's most powerful podcast platform, an app by listeners, for listeners.
Welcome to Picket Cats. It's like Pocket Casts, but with a lot of stuff removed. It's not meant to be a statement, or really an app for anyone except me. I intend to keep removing things I don't use as a fun side project just to see how few features I actually need in a podcasting app.
Things removed so far:
- Google Cast
- Firebase
- Tracks
- Sentry/Zendesk integration
- Siri integration
- Watch app
- CarPlay support
- Notification support
- All Cocoapods
- Material Bottom Sheets
- Multi select
- Trim Silence
If you don't already have it, you need to install Bundler:
gem install bundler
Next you'll need to install all the dependencies needed for CocoaPods and FastLane using this script:
make install_dependencies
If you're an external contributor run make external_contributor
. After that you should be able to build and run the project.
We use SwiftLint to is spaced and formatted the same way and follows the same general conventions. We have a script that will run it over the whole project.
Once the required dependencies are installed via bundle exec pod install
, you can run:
make format
You should do this before making a pull request.
Open the .xcworkspace file, select the Pocket Casts project and the Simulator Device you want to run on, and hit the play button.
You can learn more about localization at docs/Localization.md
The app uses Google Protocol Buffers to define our server objects.
To update server objects you'll need to install the protobuf command line tool as well as the Swift Protobuf translators. This can be done via Homebrew with:
brew install protobuf
brew install swift-protobuf
To update the protobuf files you can then run:
Replace the {API_PATH}
with the full path to the pocketcasts-api/api/modules/protobuf/src/main/proto
folder
make update_proto API_PATH={API_PATH}