Build and run an iPlug2 iOS app in the iOS Simulator
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: run-ios-simulator description: Build and run an iPlug2 iOS app in the iOS Simulator
Run iOS App in Simulator
Use this skill when the user wants to run an iPlug2 iOS project in the iOS Simulator.
Workflow
-
Identify the project:
- If not specified, look for
.xcworkspacefiles in the repo root - Ask user to choose if multiple projects exist
- If not specified, look for
-
Check available simulators and get UDID:
xcrun simctl list devices available | grep -E "iPhone|iPad"Extract the UDID from the output (the value in parentheses, e.g.,
9E866BC3-9E64-4608-B4D0-D20F1DE3E980)Or programmatically:
xcrun simctl list devices available -j | jq -r '.devices[] | .[] | select(.name=="[DeviceName]") | .udid' -
Build for Simulator:
xcodebuild -workspace [Project]/[Project].xcworkspace \ -scheme "iOS-APP with AUv3" \ -configuration Debug \ -destination 'platform=iOS Simulator,name=[DeviceName]' \ build -
Find the built app:
find ~/Library/Developer/Xcode/DerivedData -name "[Project].app" -path "*Debug-iphonesimulator*" -type d 2>/dev/null | head -1 -
Boot simulator and install (use UDID, not "booted"):
open -a Simulator xcrun simctl boot [UDID] 2>/dev/null || true xcrun simctl install [UDID] "[path/to/Project.app]"Using the UDID ensures the correct simulator is targeted even when multiple are running.
-
Launch the app (use UDID):
# Get bundle ID from Info.plist /usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" "[path/to/Project.app]/Info.plist" xcrun simctl launch [UDID] [bundle.identifier]
Notes
- No code signing required for Simulator builds
- Always use UDID to target a specific simulator, not
booted - Default device: iPhone 17 Pro (or latest available)
- The AUv3 plugin is embedded in the app and will be available to host apps in the Simulator
- Use
xcrun simctl list devices availableto see all device options - If
jqis not installed, extract UDID manually fromxcrun simctl list devices availableoutput
Example
For TemplateProject on iPhone 17 Pro:
# Get the UDID for iPhone 17 Pro
UDID=$(xcrun simctl list devices available -j | jq -r '.devices[] | .[] | select(.name=="iPhone 17 Pro") | .udid')
# Build
xcodebuild -workspace TemplateProject/TemplateProject.xcworkspace \
-scheme "iOS-APP with AUv3" -configuration Debug \
-destination "platform=iOS Simulator,id=$UDID" build
# Install and run using UDID
open -a Simulator
xcrun simctl boot $UDID 2>/dev/null || true
xcrun simctl install $UDID ~/Library/Developer/Xcode/DerivedData/TemplateProject-*/Build/Products/Debug-iphonesimulator/TemplateProject.app
xcrun simctl launch $UDID com.AcmeInc.TemplateProject
More by iPlug2
View allBuild an iPlug2 plugin project using CMake with Ninja, Xcode, or Visual Studio generators
Validate iPlug2 plugin builds using format-specific validators (auval, pluginval, vstvalidator, clap-validator) (project)
Create a new iPlug2 plugin project by duplicating an example template
Build an iPlug2 plugin project for different formats and platforms using xcodebuild or Visual Studio