Skip to content

feat: sibling engine frameworks (0.10.13-1-SNAPSHOT) — device code-signing fix#8

Open
iamstuffed wants to merge 1 commit into
mainfrom
feat/sibling-frameworks-0.10.13-1
Open

feat: sibling engine frameworks (0.10.13-1-SNAPSHOT) — device code-signing fix#8
iamstuffed wants to merge 1 commit into
mainfrom
feat/sibling-frameworks-0.10.13-1

Conversation

@iamstuffed

Copy link
Copy Markdown
Collaborator

Ship the inference-engine libraries as their own top-level frameworks (their own binaryTargets: inference_engine, inference_engine_llamacpp_backend, ie_zip) listed in every product that needs them, instead of dylibs nested inside LeapSDK.framework/Frameworks. SPM embeds + code-signs each with the consumer's identity on device, fixing the on-device Library not loaded: @rpath/libinference_engine.dylib ... code signature invalid rejection (Xcode "Embed & Sign" never re-signs nested dylibs; the simulator masked it). Same inference engine as 0.10.13-SNAPSHOT.

  • Update Package.swift to v0.10.13-1-SNAPSHOT, add the three engine binaryTargets, and list them in the LeapSDK, LeapModelDownloader, and LeapUI products.
  • LeapOpenAIClient and LeapUi frameworks are unchanged (they never referenced the engine); their checksums match 0.10.13-SNAPSHOT.
  • Release v0.10.13-1-SNAPSHOT carries all seven xcframework zips. Consumer swift package resolve verified (all checksums match).

Companion to the CI/Gradle restructure in Liquid4All/leap-android-sdk#281, which makes future builds emit this layout natively.

The engine libraries are now their own top-level binaryTargets (inference_engine,
inference_engine_llamacpp_backend, ie_zip) listed in every product that needs them,
instead of dylibs nested inside LeapSDK.framework/Frameworks. SPM embeds + code-signs
each with the consumer identity on device, fixing the on-device 'code signature invalid'
rejection that Xcode's Embed & Sign never resolves for nested dylibs. See leap-android-sdk#281.
Copilot AI review requested due to automatic review settings July 6, 2026 17:25

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Swift Package Manager manifest to distribute the inference-engine runtime as separate sibling binary frameworks, ensuring SPM embeds and code-signs them with the consuming app’s identity (fixing on-device “code signature invalid” failures caused by nested dylibs inside LeapSDK.framework/Frameworks).

Changes:

  • Introduces a shared releaseBase for binary target URLs and updates the release tag to v0.10.13-1-SNAPSHOT.
  • Adds three new binary targets (inference_engine, inference_engine_llamacpp_backend, ie_zip) and includes them in the LeapSDK, LeapModelDownloader, and LeapUI products.
  • Updates checksums for the LeapSDK and LeapModelDownloader zips to match the new release artifacts while keeping unchanged targets’ checksums intact.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

2 participants