{"id":15039252,"url":"https://github.com/automattic/pocket-casts-ios","last_synced_at":"2026-06-08T21:00:49.554Z","repository":{"id":60782578,"uuid":"512754250","full_name":"Automattic/pocket-casts-ios","owner":"Automattic","description":"Pocket Casts iOS app 🎧","archived":false,"fork":false,"pushed_at":"2026-06-05T03:07:18.000Z","size":171463,"stargazers_count":1792,"open_issues_count":324,"forks_count":183,"subscribers_count":18,"default_branch":"trunk","last_synced_at":"2026-06-05T07:03:29.010Z","etag":null,"topics":["hacktoberfest","pocket-casts"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Automattic.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2022-07-11T12:49:45.000Z","updated_at":"2026-06-05T03:07:22.000Z","dependencies_parsed_at":"2023-09-21T18:53:16.484Z","dependency_job_id":"d59c11c6-9e70-402b-854f-51575c86d72d","html_url":"https://github.com/Automattic/pocket-casts-ios","commit_stats":{"total_commits":9120,"total_committers":40,"mean_commits":228.0,"dds":0.6303728070175438,"last_synced_commit":"3c539d4f4bcbeb280066a4800b21f74b3e605551"},"previous_names":[],"tags_count":476,"template":false,"template_full_name":null,"purl":"pkg:github/Automattic/pocket-casts-ios","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fpocket-casts-ios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fpocket-casts-ios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fpocket-casts-ios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fpocket-casts-ios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Automattic","download_url":"https://codeload.github.com/Automattic/pocket-casts-ios/tar.gz/refs/heads/trunk","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fpocket-casts-ios/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34080026,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","pocket-casts"],"created_at":"2024-09-24T20:42:06.202Z","updated_at":"2026-06-08T21:00:49.533Z","avatar_url":"https://github.com/Automattic.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003c!-- Pocket Casts brand image --\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/308331/194037473-41ad7eba-8602-4be5-be73-49e3c0c48c12.svg#gh-light-mode-only\" /\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/308331/194041226-4c6d8181-cafa-4ea8-8735-1d8106f5e5f6.svg#gh-dark-mode-only\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003c!-- Badge: \"build: {trunk CI status}\" --\u003e\n    \u003ca href=\"https://buildkite.com/automattic/pocket-casts-ios\"\u003e\u003cimg src=\"https://badge.buildkite.com/6c995de3d1584006341cc4dfda1312619f375385f5c0319dfe.svg?branch=trunk\" /\u003e\u003c/a\u003e\n    \u003c!-- Badge: \"license: MPL\" --\u003e\n    \u003ca href=\"https://github.com/Automattic/pocket-casts-ios/blob/trunk/LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MPL-black\" /\u003e\u003c/a\u003e\n    \u003c!-- Badge: \"platform: ios|watchos\" --\u003e\n    \u003cimg src=\"https://img.shields.io/badge/platform-ios%20%7C%20watchos-lightgrey\" /\u003e\n    \u003c!-- Badge: \"Xcode: {version}+\" --\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Xcode-v26.1.1%2B-informational\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    Pocket Casts is the world's most powerful podcast platform, an app by listeners, for listeners.\n\u003c/p\u003e\n\n## Setup\n\nIf you don't already have it, you need to install Bundler:\n\n`gem install bundler`\n\nNext you'll need to install all the dependencies needed for [_fastlane_](https://docs.fastlane.tools/) using this script:\n\n`make install_dependencies`\n\n## External contributors\n\nIf you're an external contributor run `make external_contributor`. After that you should be able to build and run the project.\n\n## Swift Formatting\n\nWe use [SwiftLint](https://github.com/realm/SwiftLint) to ensure code is spaced and formatted the same way and follows the same [general conventions](https://github.com/Automattic/swiftlint-config). We have a script that will run it over the whole project.\n\nOnce the required dependencies are installed via `bundle exec pod install`, you can run:\n\n`make format`\n\nYou should do this before making a pull request.\n\n## Running\n\nOpen the `.xcodeproj` file, select the Pocket Casts project and the Simulator Device you want to run on, and hit the play button.\n\n## Localization\n\nYou can learn more about localization at [docs/Localization.md](./docs/localization.md)\n\n## Protocol Buffers\n\nThe app uses [Google Protocol Buffers](https://developers.google.com/protocol-buffers) to define our server objects.\n\nTo update server objects you'll need to install the protobuf command line tool as well as the [Swift Protobuf](https://github.com/apple/swift-protobuf) translators. This can be done via Homebrew with:\n\n```\nbrew install protobuf\nbrew install swift-protobuf\n```\n\nTo update the protobuf files you can then run:\n\nReplace the `{API_PATH}` with the full path to the `pocketcasts-api/api/modules/protobuf/src/main/proto` folder\n\n```\nmake update_proto API_PATH={API_PATH}\n```\n\n## Debugging\n\n### Logs\n\nLogs can be found in the app as a view and shared from there through the system sheet or mail:\n* Profile \u003e Help \u0026 Feedback \u003e ⋯ \u003e Logs\n\nWhen debugging analytics, the `tracksLogging` feature flag will enable logging for these events.\n\n### Export Files\n\nAn export can be created with the database, settings plist, and logs for debugging purposes:\n* Profile \u003e Help \u0026 Feedback \u003e ⋯ \u003e Export Database - the export will include all log files and settings\n* Profile \u003e Settings \u003e Developer \u003e Export Bundle\n\nThese 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.\n* Open the file with Pocket Casts directly from Files\n* Drag and drop the file on the Simulator\n* Profile \u003e Settings \u003e Developer \u003e Import Bundle\n\n### Crash Log Symbolication\n\nAll [releases](https://github.com/Automattic/pocket-casts-ios/releases) include dSYMs inside of the `xcarchive` file.\n\nThese can be used along with the [MacSymbolicator](https://github.com/inket/MacSymbolicator) app to symbolicate any crash logs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautomattic%2Fpocket-casts-ios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautomattic%2Fpocket-casts-ios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautomattic%2Fpocket-casts-ios/lists"}