skiptools / skiptools/skip-android-bridge

Platform declaration mismatch: package declares iOS 16 but transitive dependency swift-android-native requires iOS 17

Open Beginner friendly
#26 0 comments 0 reactions 0 assignees View on GitHub

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.1
  • swift-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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.