skiptools / skiptools/skip-android-bridge
Platform declaration mismatch: package declares iOS 16 but transitive dependency swift-android-native requires iOS 17
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 4
- Forks
- 9
- Avg merge
- 41m
- Merged PRs (30d)
- 1
Description
Bug
skip-android-bridge declares platforms: [.iOS(.v16), ...] in its Package.swift, but it depends on swift-android-native which declares platforms: [.iOS(.v17), ...].
Versions
skip-android-bridge: 0.6.1swift-android-native: 1.4.x (required from: "1.4.1")
Reproduction
Add skip-fuse-ui to Xcode project (Version 16.2 <16C5032a>). Xcode shows the following error during package resolution:
The package product 'AndroidNative' requires minimum platform version 17.0
for the iOS platform, but this target supports 16.0
Root cause
In skip-android-bridge/Package.swift:
platforms: [.iOS(.v16), ...] // ← declares iOS 16
dependencies: [
.package(url: "https://source.skip.tools/swift-android-native.git", from: "1.4.1")
]
targets: [
.target(name: "SkipAndroidBridge", dependencies: [
// AndroidNative is conditioned on Android, but Xcode validates
// transitive platform requirements regardless of conditions
.product(name: "AndroidNative", package: "swift-android-native",
condition: .when(platforms: [.android])),
])
]
swift-android-native declares platforms: [.iOS(.v17), ...], which is incompatible with skip-android-bridge's declared iOS 16 minimum.
Expected behaviour
skip-android-bridge should update its platform declaration to [.iOS(.v17), ...] to match the actual minimum imposed by its dependency on swift-android-native.
Workaround
None available from the consumer side — the mismatch is internal to the Skip package graph.
---
This is filed against `skip-android-bridge` because that's where the wrong platform declaration lives — it claims iOS 16 but can't actually support it given its
`swift-android-native` dependency.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Open skip-android-bridge/Package.swift and compare its iOS platform declaration with the swift-android-native dependency requirement. Update the declared minimum to iOS 17, then resolve the package through the skip-fuse-ui Xcode setup to confirm the platform mismatch is gone.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- build-system, mobile
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 90/100