en un clic
ios-cn1ss-xcode-debug
// Reproduce and debug HelloCodenameOne iOS CN1SS build/test failures on a Mac using local ios-source generation plus xcodebuild logs.
// Reproduce and debug HelloCodenameOne iOS CN1SS build/test failures on a Mac using local ios-source generation plus xcodebuild logs.
Author and ship a weekly release blog post plus its daily follow-ups as a single PR. Covers the front-matter conventions, the Hugo preview loop, the cross-post linking pattern, screenshot reuse, the Mermaid shortcode, and the Shai-style content rules that came out of the 2026-05-29 release.
Build and modify Codename One cross-platform mobile apps (Java 17, Maven, ParparVM/Android/iOS/JavaScript). Use when the project contains a `common/codenameone_settings.properties`, depends on `com.codenameone:codenameone-core`, edits CSS files under `common/src/main/css/`, calls `cn1:run`, `cn1:test`, `cn1:build`, references `com.codename1.ui.*` / `com.codename1.testing.*`, or when the user asks to build a UI, write screen tests, generate screenshots, or compare to Swing/HTML.
Run Vale on docs/developer-guide using the repo's CI workflow, including style sync, JSON report generation, and HTML report conversion.
| name | ios-cn1ss-xcode-debug |
| description | Reproduce and debug HelloCodenameOne iOS CN1SS build/test failures on a Mac using local ios-source generation plus xcodebuild logs. |
Use this skill when CN1SS iOS runs fail, produce blank screenshots, or crash during build/test. This workflow is validated to compile and run locally against repository snapshots.
xcodebuild available).~/.m2.scripts/hellocodenameone so local snapshots are actually copied.xcodebuild on the generated workspace.Run from repo root unless noted.
export JAVA_HOME=/Users/shai/Library/Java/JavaVirtualMachines/azul-1.8.0_372/Contents/Home
export PATH="$JAVA_HOME/bin:$PATH"
cd maven
mvn -q -pl ios -am -DskipTests -Dmaven.javadoc.skip=true install
cd ../scripts/hellocodenameone
rm -rf ios/target/hellocodenameone-ios-1.0-SNAPSHOT-ios-source
./mvnw -q package -DskipTests -Dcodename1.platform=ios -Dcodename1.buildTarget=ios-source -o -e
cd ios/target/hellocodenameone-ios-1.0-SNAPSHOT-ios-source
xcodebuild -list -workspace HelloCodenameOne.xcworkspace
xcodebuild -workspace HelloCodenameOne.xcworkspace -scheme HelloCodenameOne -configuration Debug -sdk iphonesimulator -destination 'generic/platform=iOS Simulator' build
For full logs plus focused errors:
xcodebuild -workspace HelloCodenameOne.xcworkspace -scheme HelloCodenameOne -configuration Debug -sdk iphonesimulator -destination 'generic/platform=iOS Simulator' build > /tmp/hellocn1-xcodebuild.log 2>&1
rg -n "error:|fatal error:|undeclared function|BUILD FAILED|test host" /tmp/hellocn1-xcodebuild.log
Run the full UI test harness:
XCODE_APP=/Applications/Xcode.app \
scripts/run-ios-ui-tests.sh \
scripts/hellocodenameone/ios/target/hellocodenameone-ios-1.0-SNAPSHOT-ios-source/HelloCodenameOne.xcworkspace \
HelloCodenameOne
Post-run quick checks:
ls -1 artifacts/*.png | wc -l
shasum artifacts/*.png | sort | uniq -c | sort -nr | head
rg -n "CN1SS:ERR|CN1SS:SUITE:FINISHED" artifacts/device-runner.log
Could not find test host for HelloCodenameOneTests
HelloCodenameOne scheme directly for CN1SS troubleshooting.call to undeclared function 'virtual_com_codename1_...'
HelloCodenameOne-src/com_codename1_*.m and match call style.maven -pl ios -am) and regenerate ios-source.ios-source after reinstall.Build succeeds but screenshots are blank or repetitive
CN1SS:INFO:test=... png_bytes=...CN1SS:ERR:...Cn1ssDeviceRunnerHelper.emitCurrentFormScreenshot path).Scheme file not found for env injection ... xcschemes/*.xcscheme
artifacts/device-runner.log and decoded screenshots directly.scripts/hellocodenameone/ios/target/hellocodenameone-ios-1.0-SNAPSHOT-ios-source/tmp/hellocn1-xcodebuild.logartifacts/device-runner.logartifacts/*.png~/Library/Developer/Xcode/DerivedData/HelloCodenameOne-*scripts/hellocodenameone/ios/pom.xml includes Objective-C files from src/main/objectivec as resources; headers should only include imports that are available in generated project context.NSLog, extra CN1SS/CN1SHOT channels, timeout tweaks) are useful for triage but should be removed once root cause is proven.maven/ios is not enough if generated ios-source is stale.scripts/hellocodenameone/ios/target/...-ios-source before regeneration when validating port/native changes.xcrun simctl shutdown <udid>xcrun simctl erase <udid>simctl log show for app process markers to confirm which code path actually executed.