Skip to content

dharb/iOS

This branch is 3031 commits behind duckduckgo/iOS:main.

Folders and files

NameName
Last commit message
Last commit date
May 6, 2021
Mar 18, 2021
Sep 24, 2021
Oct 11, 2021
Oct 11, 2021
Oct 11, 2021
Sep 9, 2021
Apr 20, 2021
Dec 3, 2019
Jun 21, 2021
Dec 2, 2020
Dec 2, 2020
Aug 23, 2018
May 25, 2020
Sep 17, 2021
Sep 13, 2021
Mar 29, 2019
Dec 3, 2019
Jul 1, 2021
Jul 19, 2021
Mar 21, 2020
Jun 29, 2021
Oct 13, 2020
Feb 1, 2019
Mar 30, 2021
Oct 31, 2017
May 4, 2018
Mar 30, 2021
Aug 14, 2020
Sep 24, 2021
Sep 24, 2021
Nov 8, 2018
Dec 1, 2019
Oct 15, 2020
Nov 23, 2020
Oct 15, 2020
Oct 2, 2019
Sep 10, 2020
Oct 2, 2019
Sep 10, 2020
Mar 21, 2018
Oct 30, 2020

Repository files navigation

DuckDuckGo iOS

We are excited to engage the community in development!

We are hiring!

DuckDuckGo is growing fast and we continue to expand our fully distributed team. We embrace diverse perspectives, and seek out passionate, self-motivated people, committed to our shared vision of raising the standard of trust online. If you are a senior software engineer capable in either iOS or Android, visit our careers page to find out more about our openings!

Building

Submodules

We use submodules, so you will need to bring them into the project in order to build and run it:

Run git submodule update --init --recursive

Developer details

If you're not part of the DuckDuckGo team, you should provide your Apple developer account id, app id, and group id prefix in an ExternalDeveloper.xcconfig file. To do that:

  1. Run cp Configuration/DuckDuckGoDeveloper.xcconfig Configuration/ExternalDeveloper.xcconfig
  2. Edit Configuration/ExternalDeveloper.xcconfig and change the values of all fields
  3. Clean and rebuild the project

Dependencies

We use Swift Package Manager for dependency management, which shouldn't require any additional set up.

SwiftLint

We use SwifLint for enforcing Swift style and conventions, so you'll need to install it.

Fonts

We use Proxima Nova fonts which are proprietary and cannot be committed to source control, see fonts.

Debugging

Instruments

We have Custom Instruments tool to help visualize and track events that happen during runtime.

In order to run it:

  1. Build a Debug version and install it on Simulator/Device.
  2. Select Instruments target and run it on a Mac. A New instance of Instruments app will be run that has a grayed out icon indicating that it works in debug mode with custom instruments attached.
  3. Select 'DDG Trace' template or set up a custom one by importing 'DDG Timeline' instrument from Library.
  4. Start recording.

See Instruments Developer Help for reference how to create custom instruments.

Terminology

We have taken steps to update our terminology and remove words with problematic racial connotations, most notably the change to main branches, allow lists, and blocklists. Closed issues or PRs may contain deprecated terminology that should not be used going forward.

Contribute

Please refer to contributing.

Discuss

Contact us at https://duckduckgo.com/feedback if you have feedback, questions or want to chat. You can also use the feedback form embedded within our Mobile App - to do so please navigate to Settings and select "Send Feedback".

License

DuckDuckGo is distributed under the Apache 2.0 license.

Packages

No packages published

Languages

  • Swift 97.0%
  • JavaScript 2.6%
  • Shell 0.2%
  • Objective-C 0.1%
  • Objective-C++ 0.1%
  • HTML 0.0%