Pull unrecognized host app bundle IDs from Google Analytics via gog, diff them against the mapping tables and add URL scheme mappings
中文简介正在准备中。当前显示原文说明。
Run unit tests, UI tests, or specific test cases for VivaDicta using xcodebuild command-line tool
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Use this skill when you need to run unit tests, UI tests, or specific test cases for the VivaDicta iOS app using xcodebuild command-line tool.
logs-start and logs-stop for capturing logs during test executionaxe-simulator-control for automating simulator interactions during UI testsscreenshot for capturing screenshots during test failuresxcodebuild test command (not XcodeBuildMCP)xcsift (or xcbeautify) for readable formatting./VivaDicta.xcodeproj/project.xcworkspaceVivaDictaRun All Tests if:
→ Continue with Path A: Run All Tests (step 2A)
Run Specific Test if:
→ Continue with Path B: Run Specific Test (steps 2B-3B)
Run Test Class if:
→ Continue with Path C: Run Test Class (steps 2C-3C)
Run with Log Capture if:
→ Continue with Path D: Run with Log Capture (steps 2D-4D)
# Run all tests in the VivaDicta scheme
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test 2>&1 | xcsift
# Alternative: Save test results to file
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test 2>&1 | tee test_results.txt 2>&1 | xcsift
Available parameters:
-scheme: Xcode scheme to build and test (VivaDicta)-configuration: Build configuration (Debug or Release)-workspace: Path to workspace file-destination: Simulator or device to run tests ontest: The xcodebuild action to run testsNotes:
xcsift formats the output for better readability (alternatively xcbeautify)tee allows saving output to file while still displaying it-parallel-testing-enabled NO)You need three pieces of information:
VivaDictaTests or VivaDictaUITests# Example test identifier format:
# VivaDictaTests/TranscriptionManagerTests/testWhisperKitTranscription
# ^target ^class ^method
Finding test names:
# List all test classes and methods
xcodebuild -scheme VivaDicta \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test -dry-run 2>&1 | grep "Test Case" 2>&1 | xcsift
# Or search in test files
find . -name "*Tests.swift" -exec grep -H "func test" {} \;
# Run a single test method
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test -only-testing:VivaDictaTests/TranscriptionManagerTests/testWhisperKitTranscription 2>&1 | xcsift
# Run multiple specific tests
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test \
-only-testing:VivaDictaTests/TranscriptionManagerTests/testWhisperKitTranscription \
-only-testing:VivaDictaTests/TranscriptionManagerTests/testParakeetTranscription 2>&1 | xcsift
Parameters:
-only-testing:<Target>/<Class>/<Method> - Specifies exact test to run-only-testing flags to run specific testsNotes:
# Find test classes in the project
find . -name "*Tests.swift" | sed 's/.*\///' | sed 's/.swift//'
# Example output:
# TranscriptionManagerTests
# WhisperKitServiceTests
# AIServiceTests
# Run all tests in a specific test class
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test -only-testing:VivaDictaTests/TranscriptionManagerTests 2>&1 | xcsift
# Run multiple test classes
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test \
-only-testing:VivaDictaTests/TranscriptionManagerTests \
-only-testing:VivaDictaTests/AIServiceTests 2>&1 | xcsift
Notes:
-only-testing:<Target>/<Class>Start log capture using the logs-start skill. With no argument it captures the simulator, which is what these tests run against.
This will:
logs/sim-YYYYMMDD-HHMMSS.log# Run tests while logs are being captured
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test 2>&1 | xcsift
Stop capture with the logs-stop skill.
Useful follow-up filters:
logs-stop errorslogs-stop warningsManual analysis remains the same:
grep -i "error\\|fail\\|crash" logs/sim-*.log
grep "test" logs/sim-*.log
# Run specific test you're working on
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test -only-testing:VivaDictaTests/MyFeatureTests/testNewFeature 2>&1 | xcsift
# Run all tests and save results
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test 2>&1 | tee logs/test_results_$(date +%Y%m%d_%H%M%S).txt 2>&1 | xcsift
# Check exit code
echo "Test exit code: $?"
# List available simulators
xcrun simctl list devices available
# Run on specific simulator
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=17.5' \
test 2>&1 | xcsift
# After a test run fails, rerun only failed tests
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test -only-testing:VivaDictaTests/FailedTestClass/testThatFailed 2>&1 | xcsift
# Enable parallel testing (default)
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test -parallel-testing-enabled YES 2>&1 | xcsift
# Disable parallel testing (for debugging race conditions)
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test -parallel-testing-enabled NO 2>&1 | xcsift
# Run tests with code coverage enabled
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test -enableCodeCoverage YES 2>&1 | xcsift
# View coverage report location
# DerivedData/<project>/Logs/Test/*.xcresult
# 1. Run tests and note which test fails
xcodebuild -scheme VivaDicta \
-configuration Debug \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max,OS=26.4' \
test -only-testing:VivaDictaTests/UITests/testLoginFlow 2>&1 | xcsift
# 2. If test fails, capture screenshot using xcrun simctl
xcrun simctl io booted screenshot logs/test_failure_$(date +%Y%m%d_%H%M%S).png
"Testing failed" with no clear error:
xcrun simctl list | grep Bootedxcodebuild -listxcodebuild clean then retry"Unable to boot device" error:
xcrun simctl shutdown all then retryxcrun simctl list devicesTests hang or timeout:
-parallel-testing-enabled NO"Test target not found" error:
xcodebuild -listxcsift not found:
brew install xcsift (or use xcbeautify as alternative: brew install xcbeautify)2>&1 | xcsift from command)Specific test not found:
test prefixfunc test...() not private-dry-run to see all available testsSimulator wrong OS version:
xcrun simctl list runtimesUse xcsift for readable output:
xcsift for formatted output (project standard)brew install xcsift (or xcbeautify as alternative)Run specific tests during development:
-only-testing for TDD workflowSave test results for analysis:
tee to save output while viewing itlogs/ directory (gitignored)Combine with log capture for debugging:
Use consistent simulator:
Clean build when tests behave unexpectedly:
xcodebuild clean -scheme VivaDicta \
-workspace ./VivaDicta.xcodeproj/project.xcworkspace
Check exit codes in scripts:
xcodebuild ... test 2>&1 | xcsift
if [ $? -ne 0 ]; then
echo "Tests failed!"
exit 1
fi
Organize test output:
mkdir -p logs/test-results
xcodebuild ... test 2>&1 | tee logs/test-results/run_$(date +%Y%m%d_%H%M%S).txt 2>&1 | xcsift
Use test plans for different configurations:
-testPlan <name> flagMonitor test execution time:
-result-bundle-path to save detailed results.xcresult bundles for performance insights还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Pull unrecognized host app bundle IDs from Google Analytics via gog, diff them against the mapping tables and add URL scheme mappings
中文简介正在准备中。当前显示原文说明。
Print the path to VivaDicta's app container directory in the iOS Simulator
中文简介正在准备中。当前显示原文说明。
Print the path to VivaDicta's App Group container directory in the iOS Simulator
中文简介正在准备中。当前显示原文说明。
Run an offline ASO audit on canonical App Store metadata under `./metadata` and surface keyword gaps using Astro MCP. Use after pulling metadata with `asc metadata pull`.
中文简介正在准备中。当前显示原文说明。
Pull current keyword rankings from Astro MCP, compare against the previous rankings check, and save a new rankings file to the vault. Use to measure ASO impact after metadata changes.
中文简介正在准备中。当前显示原文说明。
Automatically translate and sync App Store metadata (description, keywords, what's new, subtitle) to multiple languages using LLM translation and asc CLI. Use when asked to localize an app's App Store listing, translate app descriptions, or add new languages to App Store Connect.
中文简介正在准备中。当前显示原文说明。