Update README
Signed-off-by: Andrej Mihajlov <and@mullvad.net>
This commit is contained in:
parent
6099975b71
commit
ef7de2500f
48
README.md
48
README.md
|
@ -32,6 +32,54 @@ $ open ./WireGuard/WireGuard.xcodeproj
|
||||||
|
|
||||||
- Flip switches, press buttons, and make whirling noises until Xcode builds it.
|
- Flip switches, press buttons, and make whirling noises until Xcode builds it.
|
||||||
|
|
||||||
|
## WireGuardKit integration
|
||||||
|
|
||||||
|
1. Open your Xcode project and add the Swift package with the following URL:
|
||||||
|
|
||||||
|
```
|
||||||
|
https://git.zx2c4.com/wireguard-apple
|
||||||
|
```
|
||||||
|
|
||||||
|
Choose `am/swiftpm` branch in the "Rules" section.
|
||||||
|
|
||||||
|
2. `WireGuardKit` links against `wireguard-go-bridge` library, but it cannot build it automatically
|
||||||
|
due to Swift package manager limitations. So it needs a little help from a developer.
|
||||||
|
Please follow the instructions below to create a build target(s) for `wireguard-go-bridge`.
|
||||||
|
|
||||||
|
- In Xcode, click File -> New -> Target. Switch to "Other" tab and choose "External Build
|
||||||
|
System".
|
||||||
|
- Type in `WireGuardGoBridge<PLATFORM>` under the "Product name", replacing the `<PLATFORM>`
|
||||||
|
placeholder with the name of the platform. For example, when targeting macOS use `macOS`, or
|
||||||
|
when targeting iOS use `iOS`.
|
||||||
|
Make sure the build tool is set to: `/usr/bin/make` (default).
|
||||||
|
- In the appeared "Info" tab of a newly created target, type in the "Directory" path under
|
||||||
|
the "External Build Tool Configuration":
|
||||||
|
|
||||||
|
```
|
||||||
|
$BUILD_DIR/../../SourcePackages/checkouts/wireguard-apple/wireguard-go-bridge
|
||||||
|
```
|
||||||
|
|
||||||
|
- Switch to "Build Settings" and find `SDKROOT`.
|
||||||
|
Type in `macosx` if you target macOS, or type in `iphoneos` if you target iOS.
|
||||||
|
|
||||||
|
3. Go to Xcode project settings and locate your network extension target and switch to
|
||||||
|
"Build Phases" tab.
|
||||||
|
|
||||||
|
- Locate "Dependencies" section and hit "+" to add `WireGuardGoBridge<PLATFORM>` replacing
|
||||||
|
the `<PLATFORM>` placeholder with the name of platform matching the network extension
|
||||||
|
deployment target (i.e macOS or iOS).
|
||||||
|
|
||||||
|
- Locate the "Link with binary libraries" section and hit "+" to add `WireGuardKit`.
|
||||||
|
|
||||||
|
4. In Xcode project settings, locate your main bundle app and switch to "Build Phases" tab.
|
||||||
|
Locate the "Link with binary libraries" section and hit "+" to add `WireGuardKit`.
|
||||||
|
|
||||||
|
5. iOS only: Locate Bitcode settings under your application target, Build settings -> Enable Bitcode,
|
||||||
|
change the corresponding value to "No".
|
||||||
|
|
||||||
|
Note that if you ship your app for both iOS and macOS, make sure to repeat the steps 2-4 twice,
|
||||||
|
once per platform.
|
||||||
|
|
||||||
## MIT License
|
## MIT License
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
|
Loading…
Reference in New Issue