Build Guidance
To use the Dev Loop, a build is required on every code change. The binary is the app — see Dev Loop: Hot reload and rebuild configuration for the full breakdown. To capture sanitizer findings, upload a simulator build compiled with the corresponding sanitizer enabled. See iOS runtime diagnostics for supported diagnostics and how to view findings.Build via the Revyl CLI
Prerequisites
- Revyl CLI installed and authenticated (
revyl auth login)
Setup
Initialize the project using the Revyl CLI:Run Build
Run a build using:revyl build --profile development --platform ios
This runs the selected recipe in the cloud. If your profile has a different
name, pass it explicitly; no profile is active/default. See
Configuration.
Advanced Configuration
Revyl makes a best effort to determine the build commands to be used. If the build does not complete successfully modify the build commands manually in the config.yaml file.Build via XCode UI
Select Simulator
In Xcode toolbar:- Choose your app scheme
- Select any iOS Simulator (e.g., iPhone 15 Pro)
Build
- Clean: Product → Clean Build Folder (⌘+Shift+K)
- Build: Product → Build (⌘+B)
- Wait for success
Locate Build
Product → Show Build Folder in Finder Navigate to:Debug-iphonesimulator, NOT Debug-iphoneos.
Test Before Upload
- Open iOS Simulator
- Drag
YourApp.apponto simulator window - Launch from home screen
- Verify it works
Upload to Revyl
See Ways to Add Builds to upload the build to Revyl.Auto-Detect Build from DerivedData
If you build in Xcode normally (Cmd+B),revyl dev automatically finds the most recent simulator .app from DerivedData:
~/Library/Developer/Xcode/DerivedData/ for the most recently modified .app matching your project. Test runner bundles (*Tests.app) are excluded automatically.
Troubleshooting
Signing Errors
Signing Errors
Simulator builds don’t require an Apple distribution certificate or
provisioning profile. Let Xcode apply its default local signature so the
app retains entitlements used by services such as Keychain. Don’t set
Code Signing Identity to “Don’t Code Sign” or pass
CODE_SIGNING_ALLOWED=NO.Architecture Issues
Architecture Issues
Revyl’s simulators run
arm64, so your simulator build must include an
arm64 slice:- Select your target → Build Settings
- Find Architectures and verify
Standard Architectures - $(ARCHS_STANDARD) - Find Excluded Architectures and make sure
arm64is not excluded forAny iOS Simulator SDK, in your target or in your Pods project
lipo -archs YourApp.app/YourApp; the output must
include arm64.App Won't Install
App Won't Install
- Drag the
.appfile directly (not a folder) - Restart iOS Simulator
- Check simulator iOS version matches deployment target
Build Folder Missing
Build Folder Missing
Manual path: