CNA-VGAP-008: Android and iOS have no device evidence at this snapshot: no Android workflow, one iOS simulator frame, and lifecycle and packaged-content loading untested on a device
Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.
Android has no preset or workflow, iOS evidence is a device final-link plus a one-frame simulator launch, lifecycle is tested only with scripted host events, and no test loads packaged content on a device.
- Identifier
CNA-VGAP-008- Category
- Verification gap
- Subsystem
- Platforms
- Status
- Open
- Verified against
- CNA
009d40f5(009d40f5dd085c4e674d3479675fac84b12b3e0a) - Evidence basis
- Source-verified: read at TARGET, not executed
- Tests touching this area
- Yes: see Current tests
- Affected contract
- Android and iOS as CNA targets (Game lifecycle, ContentManager with a relative root, TitleLocation)
Expected behaviour
A supported mobile target has at least one recorded device or emulator run of the snapshot covering startup, lifecycle transitions and content loading.
Actual behaviour at TARGET
No workflow or preset targets Android; devices-build.md records the APK and emulator runs of July 2026, with no retained artifacts. apple-ci.yml final-links an iOS device bundle and launches a smoke application for one frame in the simulator; no physical-device run exists, and ApplePlatform.cmake refuses tvOS, watchOS and visionOS. GameTest.MobileLifecycleEventsSuspendResumeAndTerminateTheLoop in GameTests.cpp scripts lifecycle events on the host platform; no device drives background, foreground, low memory or process recreation. apple_smoke.cpp loads no content, and nothing resolves an Apple bundle's Resources directory for ContentManager beyond TitleLocation's platform base path, which ContentManager does not consult (CNA-BUG-041).
Source locations
docs/devices-build.md— Android APK and emulator records of an earlier revision.github/workflows/apple-ci.yml— ios-build device final-link and one-frame simulator launchcmake/ApplePlatform.cmake— tvOS/watchOS/visionOS refusalmodules/runtime/tests/Microsoft/Xna/Framework/GameTests.cpp— GameTest.MobileLifecycleEventsSuspendResumeAndTerminateTheLooptests/apple/apple_smoke.cpp— the iOS smoke application (no content)modules/runtime/src/TitleLocation.cpp— TitleLocation::getPathProperty via the platform base pathmodules/devices/examples/demo_devices/android/com.openeggbert.cna.demodevices/app/jni/CMakeLists.txt— forces CNA_BUILD_TESTS/CNA_BUILD_EXAMPLES OFFmodules/devices/examples/demo_devices/android/com.openeggbert.cna.demodevices/app/build.gradle— ndkVersion, minSdkVersion, abiFiltersCMakePresets.json— no Android preset.github/workflows/devices-tests.yml— host-side Android sensor suites only
Evidence
Checked by reading at 009d40f5; not executed.
Duplicates in part CNA-VGAP-008 (Android compile-only evidence, verified-B10); the packaged-content half is the defect CNA-BUG-041 (verified-B3). apple-ci.yml also pins a sharp-runtime revision the snapshot cannot configure against (see the Known Issues entry on pinned sharp-runtime revisions).
Independently observed as a separate finding (merged): The Devices demo's Gradle/NDK project (NDK 30.0.14904198, minSdk 24, arm64-v8a) is the only Android build definition; it sets CNA_BUILD_TESTS and CNA_BUILD_EXAMPLES OFF, and no CMake preset or workflow targets Android.
Independent re-verification: Checked by reading at 009d40f5; not executed. The packaged-content half is the defect CNA-BUG-041. apple-ci.yml also pins a sharp-runtime revision the snapshot cannot configure against (see the Known Issues entry on pinned sharp-runtime revisions). Independently observed as a separate finding (merged): The Devices demo's Gradle/NDK project (NDK 30.0.14904198, minSdk 24, arm64-v8a) is the only Android build definition; it sets CNA_BUILD_TESTS and CNA_BUILD_EXAMPLES OFF, and no CMake preset or workflow targets Android.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
The portable lifecycle test above and the iOS simulator smoke launch.
Regression test
An Android emulator job and an iOS simulator job that start a game, cycle background/foreground, and load an .xnb, a .cnb and a loose asset from the package.
Blast radius
Every mobile-specific path: lifecycle, orientation, packaged assets, sensors on hardware.
Workaround
No workaround is known.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- User guide
- Platforms: Android · Platforms: iOS
- Known issues
- Verification gap index