Ian Goldberg 2 недель назад
Родитель
Сommit
c80d54c5e1
1 измененных файлов с 26 добавлено и 3 удалено
  1. 26 3
      README.md

+ 26 - 3
README.md

@@ -64,7 +64,7 @@ system should be fine.  You will need installed on the host:
     have them.
 
 To execute the OONI iOS benchmarks (the "iOS" column in Figure 3 in the
-paper), you will need a Mac host with Xcode installed, and an iOS device
+paper), you will need a Mac host with Xcode and rustup installed, and an iOS device
 on which you can install apps you compile yourself.
 
 ## Building the artifact
@@ -122,8 +122,31 @@ milliseconds (means and stddevs).
 
 ## Running the OONI iOS benchmarks
 
-To run the OONI iOS benchmarks (the "iOS" column in Table 3), build the iOS app using the instructions in [the `ios/README.md` file in the OONI repository](https://github.com/ooni/userauth/blob/artifact-v0.4/ios/README.md).
-You would typically run these instructions to build the iOS app on a Mac host with Xcode installed, not in a docker.
+To run the OONI iOS benchmarks (the "iOS" column in Table 3), do the following on a Mac host with Xcode and rustup installed, not in a docker.
+
+If you built the docker image in the [Building the artifact](#building-the-artifact) section above, then you will have an `application-ooni` directory.  Otherwise (for example, if you do not have docker on your Mac host), you can clone the dependency repositories with:
+
+```bash
+Scripts/clone-repos
+```
+
+In either case, once you have the `application-ooni` directory:
+
+```bash
+cd application-ooni
+rustup target add aarch64-apple-ios aarch64-apple-ios-sim x86_64-apple-ios
+./ios/build-ffi.sh
+```
+
+This writes the file `ios/OoniAuthBindings/OoniAuthFFI.xcframework`.
+
+Open `ios/OoniAuthApp.xcodeproj` in Xcode, select the `OoniAuthApp` target, build and then run, selecting your iOS device as the destination.
+
+If the build fails with `xcodebuild ... requires Xcode` or a missing iOS SDK:
+
+```bash
+sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
+```
 
 ## Using `sigma-rs` in your own code