Enrollment
Use automatic loopback registration in iOS Simulator or Mac Catalyst and scan one generic CLI host QR on a physical device.
iOS Simulator and Mac Catalyst register automatically with a running local CLI
host. Do not call .connect(.auto(...)) after initialization.
For a physical iPhone or iPad, run ansight pairing issue --qr, then launch the
SDK scanner from a developer-only surface:
try AnsightRuntime.shared.initializeAndActivateAnsightSdk()
let result = await AnsightRuntime.shared.connect(
.qrCode(title: "Scan Ansight Enrollment QR")
)
The generic invite is not tied to a pre-registered app. The SDK supplies its real bundle ID, stores a random installation ID and registration privately, and reconnects on later launches.
Add NSCameraUsageDescription when the app invokes the SDK camera scanner. A
physical iPhone also needs Appleās Local Network privacy description to reach
the developer host. Ansight does not require Bluetooth, location, contacts, photos, or
Bonjour discovery.
The client uses Network.framework for its clear-text ws:// development
connection, so no ATS clear-text exception is needed.
Cellular Policy
QR enrollment, saved-profile reconnect, and explicit payload connections reject cellular network paths by default. If a trusted development workflow intentionally uses mobile data or a personal hotspot, opt in with .withCellularHostConnections() and account for mobile-data use. The transport remains clear-text and development-only.
Unattended Test Provisioning
For an approved physical-device test runner, build options with .withUnattendedProvisioning() and set ANSIGHT_ENROLLMENT_PAYLOAD to a fresh one-use invite before launching the process. The runtime consumes it before trying remembered profiles and stores the successful installation registration privately.
This is disabled by default. Treat the environment value as a bearer secret: use it once, never log it, and never place it in a scheme shared with distributable builds.