Skip to content
Vinicius Fortuna edited this page Jun 16, 2016 · 1 revision

uProxy can be built on iOS by using CCA, similarly to uProxy on Android. You can only run uProxy for iOS on OS X with Xcode and the iOS SDK installed.

Environment Setup

  • Install Xcode 6.0 or higher
  • Once Xcode is installed, several Command Line Tools need to be enabled for CCA to run. From the Xcode menu, select Preferences, then the Downloads tab. From the Components panel, press the Install button next to the Command Line Tools listing if it's there. Next select the Locations tab and select a version of xcode from the Command Line Tools select box.
  • Install the Android SDK. The easiest way to get it is as part of Android Studio.
  • sudo npm install -g cca
  • npm install xcode (npm install locally)

Note: In order for uProxy to work on an iOS device right now, crypto must be disabled in the global settings for both the getter and the sharer.

Running on an iOS emulator

  • sudo npm install -g ios-sim
  • grunt build_ios
  • cd build/dev/uproxy/ios
  • cca run ios --emulator

Running on an iOS device

  • In order to run an app on your iOS device, you need to have an Apple Developer Account and an iOS Development Certificate. Once you have these set up you can continue with the following steps.
  • Attach a device to your Mac through a USB
  • sudo npm install -g --unsafe-perm ios-deploy
  • grunt build_ios
  • cd build/dev/uproxy/ios/
  • cca run ios --device

Open uProxy in Xcode

  • grunt build_ios
  • open build/dev/uproxy/ios/platforms/ios/uProxy.xcodeproj/
  • When prompted with the question "Convert to Latest Swift Syntax?" choose "Cancel"

Because we use cordova-plugin-iosrtc to implement the WebRTC protocol, there are a few Build Settings you may need to update when running uProxy from Xcode:

  • Within the project Build Settings set "Enable Bitcode" to "No"
  • Within the project Build Settings set "Objective-C Bridging Header" to "uProxy/Plugins/cordova-plugin-iosrtc/cordova-plugin-iosrtc-Bridging-Header.h"
  • Within the project Build Settings add an entry to the "Runpath Search Paths" setting with value "@executable_path/Frameworks"
  • Now you can update uProxy and run it with xcode from either an emulator or device