You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pocket Casts is the world's most powerful podcast platform, an app by listeners, for listeners.
Setup
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 fastlane using this script:
make install_dependencies
External contributors
If you're an external contributor run make external_contributor. After that you should be able to build and run the project.
Swift Formatting
We use SwiftLint to ensure code 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.
Running
Open the .xcodeproj file, select the Pocket Casts project and the Simulator Device you want to run on, and hit the play button.
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}
Debugging
Logs
Logs can be found in the app as a view and shared from there through the system sheet or mail:
Profile > Help & Feedback > ⋯ > Logs
When debugging analytics, the tracksLogging feature flag will enable logging for these events.
Export Files
An export can be created with the database, settings plist, and logs for debugging purposes:
Profile > Help & Feedback > ⋯ > Export Database - the export will include all log files and settings
Profile > Settings > Developer > Export Bundle
These exports can also be imported to the app, replacing the database and settings with the ones from the file. This will prompt the user before replacement.
Open the file with Pocket Casts directly from Files
Drag and drop the file on the Simulator
Profile > Settings > Developer > Import Bundle
Crash Log Symbolication
All releases include dSYMs inside of the xcarchive file.
These can be used along with the MacSymbolicator app to symbolicate any crash logs.