OONI Probe iOS
OONI Probe is free and open source software designed to measure internet censorship and other forms of network interference.
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