On this page · jump to a step
relayard connects available native Xcode preview tools to ChatGPT, so a SwiftUI change can be followed by a local render and image inspection.You need a renderable preview in the project, the required tools and image access permission.
Start with one clear screen goal
Add an empty state to a list or refine the spacing and hierarchy of a detail view. Provide the target file, the business logic to preserve and the visual acceptance criteria. Ask Pro to read the current implementation before editing and rendering.
Refine the SwiftUI screen in [view / file]. Goal: [spacing, hierarchy, empty state or accessibility requirement]. Inspect the existing code and preserve business logic and design conventions. Make the scoped change, then render using an available native Preview tool. Inspect the actual returned image before assessing the visual goal. If there is only a path or no image, report visual verification as incomplete. Confirm the binding, permissions and actual tools first. Preserve original errors; never invent a pass. Report changes, verified results and unfinished work. Do not automatically commit or publish.
Review three different results
- Code changes: confirm the intended view changed and existing business logic was preserved.
- Build state: obtain a terminal state and actual logs. An accepted request is not a passing build.
- Visual result: receive and inspect the actual image, establish its connection to this operation, then assess spacing, hierarchy or the empty state.
What if only an image path comes back?
A path is not image content. Check output directory permissions and the result return path. Preserve the operation ID and error, and do not report visual verification as complete without an image. Authorize only the output directory needed.
Does a preview prove the app works in Simulator?
No. Running, screenshots and interactions in Simulator need separate local pairing, a device and the exposed capabilities. Verify complex interactions, persistence and device differences separately when the task requires them.
Documentation updated: 2026-10-08