{"id":20675585,"url":"https://github.com/bitwarden/ios","last_synced_at":"2026-04-01T19:03:46.438Z","repository":{"id":245320007,"uuid":"666493404","full_name":"bitwarden/ios","owner":"bitwarden","description":"Bitwarden mobile app for iOS.","archived":false,"fork":false,"pushed_at":"2025-05-12T20:15:05.000Z","size":655277,"stargazers_count":306,"open_issues_count":78,"forks_count":45,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-05-12T21:32:00.177Z","etag":null,"topics":["apple","bitwarden","ios","ipad","iphone","swift"],"latest_commit_sha":null,"homepage":"https://bitwarden.com","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitwarden.png","metadata":{"files":{"readme":"README-bwa.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"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}},"created_at":"2023-07-14T16:58:11.000Z","updated_at":"2025-05-12T20:15:08.000Z","dependencies_parsed_at":"2025-01-08T16:08:02.892Z","dependency_job_id":"a0d02083-bc20-4ab7-9408-851baeda144f","html_url":"https://github.com/bitwarden/ios","commit_stats":{"total_commits":1031,"total_committers":29,"mean_commits":35.55172413793103,"dds":0.6527643064985451,"last_synced_commit":"70003811fcd96560478a3a242bfa5a94e89e9a77"},"previous_names":["bitwarden/ios"],"tags_count":20,"template":false,"template_full_name":"bitwarden/template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwarden%2Fios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwarden%2Fios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwarden%2Fios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwarden%2Fios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitwarden","download_url":"https://codeload.github.com/bitwarden/ios/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254471058,"owners_count":22076585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["apple","bitwarden","ios","ipad","iphone","swift"],"created_at":"2024-11-16T21:09:53.321Z","updated_at":"2026-03-06T02:19:44.556Z","avatar_url":"https://github.com/bitwarden.png","language":"Swift","readme":"[![Github Workflow build on main](https://github.com/bitwarden/ios/actions/workflows/ci-bwa.yml/badge.svg?branch=main)]([https://github.com/bitwarden/authenticator-ios/actions/workflows/build.yml](https://github.com/bitwarden/ios/actions/workflows/ci-bwa.yml)?query=branch:main)\n\n# Bitwarden Authenticator iOS App\n\n\u003ca href=\"https://apps.apple.com/app/bitwarden-authenticator/id6497335175\" target=\"_blank\"\u003e\u003cimg src=\"https://imgur.com/GdGqPMY.png\" width=\"135\" height=\"40\"\u003e\u003c/a\u003e\n\nBitwarden Authenticator allows you easily store and generate two-factor authentication codes on your device. The Bitwarden Authenticator iOS application is written in Swift.\n\n\u003cimg src=\"https://raw.githubusercontent.com/bitwarden/brand/master/screenshots/authenticator-ios-codes.png\" alt=\"\" width=\"300\" height=\"650\" /\u003e\n\n## Compatibility\n\n- **Minimum iOS**: 15.0\n- **Target SDK**: 15.0\n- **Device Types Supported**: iPhone\n- **Screen Sizes Supported**: iPhone SE to iPhone 14 Pro Max\n- **Orientations Supported**: Portrait, Landscape\n\n## Setup\n\n1. Clone the repository:\n\n    ```sh\n    $ git clone https://github.com/bitwarden/authenticator-ios\n    ```\n\n2. Install [Mint](https://github.com/yonaskolb/mint):\n\n    ```sh\n    $ brew install mint\n    ```\n\n    If you're using a Mac with Apple Silicon with Mint installed via Homebrew, you may see the SwiftGen build phase fail with the following error:\n\n    `line 2: mint: command not found`\n\n    If so, or if you just prefer to install Mint without `brew`, clone the Mint repo into a temporary directory and run `make`.\n\n    ```sh\n    $ git clone https://github.com/yonaskolb/Mint.git\n    $ cd Mint\n    $ make\n    ```\n\n3. Bootstrap the project:\n\n    ```sh\n    $ Scripts/bootstrap.sh\n    ```\n\n    \u003e **Note**\n    \u003e Because `Scripts/bootstrap.sh` is how the project is generated, `bootstrap.sh` will need to be run every time the project configuration or file structure has changed (for example, when files have been added, removed or moved). It is typically best practice to run `bootstrap.sh` any time you switch branches or pull down changes.\n\n    Alternatively, you can create git hooks to automatically execute the `bootstrap.sh` script every time a git hook occurs. To use the git hook scripts already defined in the `Scripts` directory, copy the scripts to the `.git/hooks` directory.\n\n    ```sh\n    $ cp Scripts-bwa/post-merge .git/hooks/\n    $ cp Scripts-bwa/post-checkout .git/hooks/\n    ```\n\n### Run the App\n\n1. Open the project in Xcode (using\n   the version in our [xcode-version file](https://github.com/bitwarden/ios/blob/main/.xcode-version)).\n2. Run the app in the Simulator with the `Authenticator` target.\n\n### Running Tests\n\n1. In Xcode's toolbar, select the project and a connected device or simulator.\n   - The `Generic iOS Device` used for builds will not work for testing.\n\n2. In Xcode's menu bar, select `Product \u003e Test`.\n   - Test results appear in the Debug Area, which can be accessed from `View \u003e Debug Area \u003e Show Debug Area` if not already visible.\n\n### Linting\n\nThis project is linted using both SwiftLint and SwiftFormat. Both tools run in linting mode with every build of the `Authenticator` target. However, if you would like to have SwiftFormat autocorrect any issues that are discovered while linting, you can manually run the fix command `mint run swiftformat .`.\n\nAdditionally, if you would like SwiftFormat to autocorrect any issues before every commit, you can use a git hook script. To use the git hook script already defined in the `Scripts` directory, copy the script to the `.git/hooks` directory.\n\n```sh\n$ cp Scripts-bwa/pre-commit .git/hooks/\n```\n\n## Project Structure\n\n### AuthenticatorShared\n\nThis project's structure is split into separate sections to support sharing as much code between all of the targets as possible. All core functionality and the majority of UI elements can be found in the `AuthenticatorShared` framework.\n\n### GlobalTestHelpers\n\n`GlobalTestHelpers` is a directory that contains helper files used in all test targets. This directory is included in each target that is defined in the `project-bwa.yml` file.\n\n## Contribute\n\nCode contributions are welcome! Please commit any pull requests against the `main` branch. Learn more about how to contribute by reading the [Contributing Guidelines](https://contributing.bitwarden.com/contributing/). Check out the [Contributing Documentation](https://contributing.bitwarden.com/) for how to get started with your first contribution.\n\nSecurity audits and feedback are welcome. Please open an issue or email us privately if the report is sensitive in nature. You can read our security policy in the [`SECURITY.md`](SECURITY.md) file.\n","funding_links":[],"categories":["Security"],"sub_categories":["Password"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitwarden%2Fios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitwarden%2Fios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitwarden%2Fios/lists"}