We are excited to engage the community in development!
We are looking for a Senior Cross-Platform engineer to help shape our mobile apps. We embrace diverse perspectives, and seek out passionate, self-motivated people, committed to our shared vision of raising the standard of trust online. Visit our careers page to find out more!
We only have one submodule at the moment, but because of that you will need to bring it in to the project in order to build and run it:
Run git submodule update --init --recursive
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:
- Run
cp Configuration/DuckDuckGoDeveloper.xcconfig Configuration/ExternalDeveloper.xcconfig
- Edit
Configuration/ExternalDeveloper.xcconfig
and change the values of all fields - Clean and rebuild the project
We use Carthage for dependency management. If you don't have Carthage installed refer to Installing Carthage.
Run carthage bootstrap --platform iOS
before opening the project in Xcode
You can also run the unit tests to do the above and ensure everything seems in order: ./run_tests.sh
We use Proxima Nova fonts which are proprietary and cannot be committed to source control, see fonts.
We have Custom Instruments tool to help visualize and track events that happen during runtime.
In order to run it:
- Build a Debug version and install it on Simulator/Device.
- Select Instruments target and run it on a Mac. 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.
- Select 'DDG Trace' template or setup a custom one by importing 'DDG Timeline' instrument from Library .
- Start recording.
See Instruments Developer Help for reference how to create custom instruments.
Please refer to contributing.
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".
DuckDuckGo is distributed under the Apache 2.0 license.