docs(mobile/4): iOS build requires Xcode 26 (iOS 26 SDK) - #450
Conversation
The v4 native renderer builds against iOS 26 SDK APIs (e.g. `tabViewBottomAccessory` in `NativeRootTabsRenderer`), so compiling with Xcode 16 / the iOS 18 SDK fails with "has no member 'tabViewBottomAccessory'". Update the iOS environment-setup requirements to Xcode 26 (which itself requires macOS 15.6+), and explain why.
Build log excerpt (reproduces the Xcode 16 failure)Environment: Xcode 16.4 (Build 16F6), macOS 15.5, Apple silicon · The active SDK is iOS 18.5 (the newest Xcode 16.4 ships), and that's where the compile dies: xcodebuild output (key lines; full log is ~1900 lines of build-system noise)
(Full raw log withheld — it's ~272 KB of a private repo's build output; happy to share more specific sections if useful.) |
|
Good find! I think we should actually make it so that |
|
@simonhamp that would be preferred, I just pulled out my only iPad and it's too old to update to iOS 26 so it would be ideal if I'd still be able to build for it. |
Clarified requirements for Xcode version and macOS compatibility in the environment setup documentation.
Apple require apps to be built on Xcode 26 as of April 2026 So I think the doc update here still stands. Our existing |

What
Updates the Mobile v4 → Getting Started → Environment Setup iOS requirements from Xcode 16.0 or later to Xcode 26 or later (and notes the implied macOS 15.6+).
Why
Building a fresh v4 app on Xcode 16.4 (iOS 18.5 SDK) fails to compile in NativePHP's own renderer:
tabViewBottomAccessoryis an iOS 26-only SwiftUI API. Because the symbol must exist in the SDK at compile time, an#availableguard can't rescue an older SDK — the iOS 26 SDK (shipped with Xcode 26) is required. Xcode 26 in turn requires macOS 15.6+.Reproduced with
nativephp/mobile4.0.1 /nativephp/mobile-ui0.3.0 viaphp artisan native:run ios.Note for maintainers
I documented this as the current requirement, but if the intent is to keep supporting Xcode 16, the alternative is to gate the iOS 26 API in the renderer (compile-time SDK check) rather than change the docs — happy to adjust this PR either way.
Changes
resources/views/docs/mobile/4/getting-started/environment-setup.md: iOS requirements → Xcode 26 / macOS 15.6+, with a one-line rationale.