Availability audits should distinguish SDK introduction, deployment target and runtime capability. A guard can be syntactically present and still protect the wrong boundary.
- 1API introduction
- 2Deployment target
- 3Runtime readiness
- 4Fallback
Work through the example
Prompt: Show the availability assumption and the fallback behavior for each newly introduced API.
One practical example
Use the prompt above on one small, named part of your app. Before accepting an edit, ask the agent to point to the source or configuration that supports its answer. If it cannot locate that context, resolve the missing input before expanding the task.
In the diagram, each arrow represents a handoff you can inspect. Keep the intermediate result rather than jumping directly to the final claim. For example, a reported finding should retain its location, and an executed check should retain its outcome. This gives the next attempt a concrete starting point and makes a misleading completion message easier to challenge.
Apply it to your project
Prompt: Show the availability assumption and the fallback behavior for each newly introduced API. Then compare the resulting diff with the original request. If it changed a neighboring concern, ask why that change was necessary. Save the result only after the relevant check has run, and record any part that remains unverified.
Evidence and limits
Text-based guard checks cannot model every control-flow path.
This is an educational guide. Its presence in the series does not certify a completed client-specific lab. The series evidence record separates executed checks from exercises and blocked environments.
Inspect the source used in this lesson.
Related reading
- How should I review availability guards when moving a Swift app toward iOS 27?
A measured guard-review example that separates SDK availability, runtime readiness, and static-analysis limits.