Skip to content

Support iOS 15 devices#14

Open
RasulOs wants to merge 1 commit into
mainfrom
ios-15-support
Open

Support iOS 15 devices#14
RasulOs wants to merge 1 commit into
mainfrom
ios-15-support

Conversation

@RasulOs

@RasulOs RasulOs commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Lower the iOS deployment target from 16.0 to 15.0 so older devices (e.g. iPhone 7, capped at iOS 15.8.x) can run the portal.
  • Guard XCUIDevice.hasHardwareButton (iOS 16+) behind an availability check — the only iOS 16+ API in the codebase.
  • Dedupe the scheme/test plan: Droidrun Server was listed 4x and a droidrun-ios-portalTests target that no longer exists in the project was still referenced.
  • Remove the hard-coded DEVELOPMENT_TEAM so contributors use their own local signing settings, as the README already instructs.
  • Document the iOS 15.0 minimum in the README prerequisites.

Supersedes #12 — thanks @vnby for the report, the device validation on iOS 15.8.7, and the scheme/test plan cleanup, which this PR adopts as-is.

Why not the dependency downgrade from #12

Building main at deployment target 15.0 with FlyingFox 0.22.0 untouched produces exactly one compile error: the hasHardwareButton availability. FlyingFox declares iOS 13+ through 0.22.0, so the 0.16.0 pin, the swift-syntax 509 downgrade, and the run()start() revert (start() is deprecated in 0.22) are unnecessary. The action/camera hardware keys (4/5) are also kept — their existing #available(iOS 17/18) guards compile fine at target 15, and on iOS 15 they correctly throw unsupportedKey before any press is attempted.

Validation

  • xcodebuild build-for-testing -destination generic/platform=iOS (Xcode 26.5, signing disabled): ** TEST BUILD SUCCEEDED ** with FlyingFox resolved at 0.22.0.
  • Same for generic/platform=iOS Simulator.
  • Verified the pbxproj diff is limited to the two project-level deployment-target settings and the team removal; Package.resolved is unchanged.

Note from #12 for anyone running very old physical devices: Xcode 26.5 appears to have an on-device test-planning regression there; Xcode 26.2 worked.

🤖 Generated with Claude Code

- lower iOS deployment target from 16.0 to 15.0
- guard XCUIDevice.hasHardwareButton behind iOS 16 availability
- dedupe the test plan/scheme test entries and drop the dangling
  droidrun-ios-portalTests target reference
- remove the hard-coded DEVELOPMENT_TEAM so contributors use local signing
- document the iOS 15.0 minimum in the README

Keeps FlyingFox at 0.22.0, which builds fine for iOS 15, and keeps the
action/camera hardware keys with their existing availability guards.

Co-Authored-By: Alvin <alvin_sfb@yahoo.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant