Application setup

Create application project

First of all, you need to create an Xcode iOS/macOS application project.

Install application SDK

Once application is created, you should link application SDK and prepare target. We're providing SDK packed as xcframework, which means it can be used both for iOS and macOS apps.

Manual

  1. Copy VPNApplicationSDK.xcframework file to some place inside your project folder on disk.

  2. Go to Project -> App Target -> General and drag copied framework to Frameworks, Libraries and Embedded Content section.

  3. Make sure framework is embed (you can check this option near framework name in the same section).

  4. Link NetworkExtension system framework to your app target.

  5. Go to Project -> App Target -> Build Settings and:

  • Set Enable Bitcode to NO;

  • Add -ObjC to Other Linker Flags.

  1. Add OpenSSL package via SPM (https://github.com/krzyzanowskim/OpenSSL.git) and link it to the Application target.

Setup App ID

Next you need to perform all needed setup on Apple developer portal.

Setup on developer portal

Go to Apple developer portal->Certificates, Identifiers & Profiles->Identifiers and add new identifier for your app (or use an existing ID if you already have one). You should enable next capabilities:

  • Personal VPN

Turn on capabilities in project

Go back to Project -> App Target -> Signing and Capabilities and add the following capabilities:

  • Personal VPN

  • App Groups

For macOS targets, enable Keychain Sharing capability with your Group ID

Integration Checklist & Troubleshooting

Checklist that should help you to verify correct integration:

  • VPNApplicationSDK.framework is added to the Application target.

  • Enable Bitcode is set to "No" and -ObjC is present in "Other linker flags" for Application target.

  • Personal VPN (General > Capabilities) is enabled for Application target and App ID on developer portal.

Last updated