Swiftpack.co - brave/brave-ios as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by brave.
brave/brave-ios v1.57
Brave iOS Browser
⭐️ 1,563
🕓 2 weeks ago
iOS macOS
.package(url: "https://github.com/brave/brave-ios.git", from: "v1.57")


Brave for iOS 🦁

Download on the App Store.

This branch (development)

This branch is for mainline development that will ship in the next release.

This branch currently supports iOS 15+, and is written in Swift 5.

Please make sure you aim your pull requests in the right direction.

For bug fixes and features for the upcoming release, please see the associated GitHub milestones (e.g. 2.1.3).

Getting involved

We encourage you to participate in this open source project. We love Pull Requests, Bug Reports, ideas, (security) code reviews or any kind of positive contribution.

Want to contribute but don't know where to start? Here is a list of Good First Issues.

Building the code

  1. Install the latest Xcode developer tools from Apple. (Xcode 14.0 and up required).
  2. Install Xcode Command Line Tools
    xcode-select --install
  3. Make sure npm is installed, node version 16 is recommended
  4. Install SwiftLint (0.50.0 or higher):
    brew update
    brew install swiftlint
  5. Clone the repository:
    git clone https://github.com/brave/brave-ios.git
  6. Pull in the project dependencies:
    cd brave-ios
    sh ./bootstrap.sh --ci
  7. Add a symlink to npm (M1 Macs)
    sudo ln -s $(which npm) /usr/local/bin/npm
    sudo ln -s $(which node) /usr/local/bin/node
  8. Open App/Client.xcodeproj in Xcode.
  9. Build the Debug scheme in Xcode.

Working with BraveCore

Many features in iOS (sync, ads, wallet, etc.) are powered by shared code in brave-core. Instructions on building and updating this code can be found here

Contributor guidelines

Creating a pull request

  • All pull requests must be associated with a specific GitHub issue.
  • If a bug corresponding to the fix does not yet exist, please file it.
  • Please use the following formats in your PR titles:
      Fix/Ref #<issueId>: <description>.
      Fix #102: Added Face ID usage description to plist.
      Ref #102: Fixed type on Face ID usage description.
  • Add any additional information regarding the PR in the description.
  • In the unlikely and rare situation that a PR fixing multiple, related issues separate issue numbers with a comma:
      Fix #159, Fix #160: Removed whitepsace for + button on right-side panel.
  • PRs will be squashed and merged, so it is important to keep PRs focused on specific tasks.

Swift style


  • New code should not contain any trailing whitespace.
  • We recommend enabling the "Automatically trim trailing whitespace" and keeping "Including whitespace-only lines" deselected in Xcode (under Text Editing).


  • Each commit should have a single clear purpose. If a commit contains multiple unrelated changes, those changes should be split into separate commits.
  • If a commit requires another commit to build properly, those commits should be squashed.
  • Follow-up commits for any review comments should be squashed. Do not include "Fixed PR comments", merge commits, or other "temporary" commits in pull requests.

In most cases Pull Request commits will remain intact with a merge commit on the targeted branch.

Code Signing

  1. After running the bootstrap.sh script in the setup instructions navigate to:
  2. Add your Apple Team ID in this file:

Team IDs look identical to provisioning profile UUIDs, so make sure this is the correct one.

The entire Local directory is included in the .gitignore, so these changes are not tracked by source control. This allows code signing without making tracked changes. Updating this file will only sign the Debug target for local builds.

Finding Team IDs

The easiest known way to find your team ID is to log into your Apple Developer account. After logging in, the team ID is currently shown at the end of the URL:
https://developer.apple.com/account/<TEAM ID>

Use this string literal in the above, DevTeam.xcconfig file to code sign


This repository is a fork of Firefox iOS Browser


Stars: 1563
Last commit: 15 minutes ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

1.50 (
19 weeks ago

In this release we:

  • Added widgets for Brave News.
  • Added the ability to add custom filter ad-blocking lists (located in the Settings menu, under Brave Shields & Privacy).
  • Added support for the Wireguard VPN protocol for VPN users.
  • Changed Playlist defaults so the feature will remember the last played position of files within a playlist.

Have questions, comments, or suggestions for future releases? Visit the Brave Community (https://community.brave.com/) to let us know. And, as ever, thanks for using Brave!

List of closed issue in this milestone can be found here

Release Notes


  • Added support for opening ipns:// scheme URL from other apps. (#7227)
  • Added domain resolution support for Unstoppable Domains. (#7089)
  • Added support for IPFS Navigation in omnibox. (#7013)
  • Added checksum validation of addresses on the "Send" screen in Brave Wallet. (#7136)


  • Added Brave News Widgets feature for home screen and lock screen. (#7168)
  • Added capability to add custom filter lists. (#6841)
  • Added support for scriptlets using uBlock Origin format. (#7194)
  • Added "Never Saved" section in Logins & Passwords Page when syncing passwords. (#6991)
  • Blocked Playlist from appearing in menu and URL bar when using Brave Talk. (#7213)
  • Enhanced Brave VPN to use WireGuard protocol by default. (#6646)
  • Improved caching for VPN SKU credentials. (#7196)
  • Improved load time for adblock filter lists. (#7147)
  • Improved storage management when re-launching the browser. (#7114)
  • Fixed crash with adblock engine/cosmetic filters. (#6254)
  • Fixed crash for Playlist when entering picture-in-picture mode. (#7347)
  • Fixed issue causing Playlist to play a short chime instead of the actual video that was added. (#7345)
  • Fixed flickering or low resolution favicon in Playlist and on New Tab Page. (#7271)
  • Fixed images/thumbnails not displaying on sites such as Mastodon and Airbnb when Brave Shields is enabled. (#7215)
  • Fixed padding for items under "Saved Logins" section in Password Manager when syncing. (#7197)
  • Fixed white gradient appearing on the URL bar in private mode. (#7132)
  • Fixed favicon size on lock screen widget. (#7124)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics