These apps depend on TunnelKit.
The app contains a Network Tunneling Protocol Client and allows its users to create a VPN tunnel if you are able to connect to an EduVPN or Let's Connect enabled server.
Due to the usage of Network Extensions, you can not fully test this app on a Simulator.
The infrastructure for Network Extension (NE) providers is simply not present on the simulator because, conceptually, it lives ‘below’ the kernel, and the simulator is layered on the OS X kernel.
- Clone repository
- Configure an XCConfig. Check Configuring Section for more info.
- Open included xcworkspace with Xcode (In the terminal just type:
xed .
) - Build
The build proces takes the number of commits on the current branch as the build number with git rev-list HEAD --count
. The version string is configured in AppVersion.xcconfig.
The exact behavior is defined in the script set_build_number.sh.
Dependencies are managed with CocoaPods. But this repository is set up in such a way that you do not need CocoaPods to build this project, only when updating dependencies. Dependencies are defined in a Podfile, exact versions are 'locked' in Podfile.lock. All dependencies defined in the Podfile are committed to this repository.
Edit config-template.json in directory. Edit Developer.xcconfig-template in directory.
Either copy the default template:
$ cp EduVPN/Config/config-template.json EduVPN/Config/config.json
$ cp EduVPN/Config/Developer.xcconfig-template EduVPN/Config/Developer.xcconfig
Or copy the letsconnect template:
$ cp EduVPN/Config/config-letsconnect.json EduVPN/Config/config.json
$ cp EduVPN/Config/Developer.xcconfig.letsconnect-template EduVPN/Config/Developer.xcconfig
Or the EduVPN template:
$ cp EduVPN/Config/config-eduvpn.json EduVPN/Config/config.json
$ cp EduVPN/Config/Developer.xcconfig.eduvpn-template EduVPN/Config/Developer.xcconfig
Edit app_name, development_team, app_ID, client_ID, REDIRECT_URL.
Be aware The app can be configured in thee distinct modes:
- Predefined, single provider.
- Discovery enabled.
- Only custom.
Be aware When updating the Assets.xcassets, make sure to actually update the relevant .xcassets structures within EduVPN/Config
Add a predefined_provider
key with a provier
Add a discovery
key with content.
Do not add a predefined_provider
or a discovery
key.
Please see build.sh. (Work in progress.)