/probe-ios

OONI Probe iOS

Primary LanguageObjective-CGNU General Public License v3.0GPL-3.0

OONI Probe iOS

OONI Probe iOS

chat on Slack open issues Emulator Tests Status follow on Twitter

Get it on Google Play

OONI Probe is free and open source software designed to measure internet censorship and other forms of network interference.

Click here to report a bug

Other supported platforms: Android, Desktop, CLI

Developer information

If you are interested in building the app yourself, read on.

To download and install the measurement-kit library we use CocoaPods.

To install cocoapod use

sudo gem install cocoapods # brew install cocoapods on macOS

Then use the command:

pod install

This command will install the latest stable binary measurement-kit library and its dependencies and install the frameworks inside the Xcode Workspace.

Then open the xcode workspace (not the xcode project!) located in ooniprobe.xcworkspace and click on run to build it.

How to complile a specific version of oonimkall for an Xcode project.

The most important dependency is oonimkall. This dependency contains the network measurement engine. Its sources are at ooni/probe-cli. We fetch the oonimkall framework directly from ooni/probe-cli releases.

You can use a specific version of oonimkall it in your project by changing the release to which it points to in the Podfile.

Then type pod install and open .xcworkspace file (beware not to open the .xcodeproj file instead, because that alone won't compile).

Managing translations

To manage translations check out our translation repo and follow the instructions there.

Contributing

  • Write some code

  • Open a pull request

  • Have fun!

Fastlane

We use fastlane for creating automatically app screenshots in the various languages we support.

You first need to have some depedencies installed. On macOS:

To install fastlane:

# Using RubyGems
sudo gem install fastlane -NV

# Alternatively using Homebrew
brew cask install fastlane

Then:

brew install libpng jpeg imagemagick

You will then be able to automate screenshot creation with:

fastlane screenshots

Learn more on the fastlane docs: https://docs.fastlane.tools/getting-started/ios/screenshots