Skip to content

Conversation

@ladvoc
Copy link
Contributor

@ladvoc ladvoc commented Oct 16, 2025

No description provided.

@ladvoc ladvoc force-pushed the ladvoc/uniffi-trial branch from 48449a0 to 41bd64c Compare October 31, 2025 23:59
pub struct Claims {
pub exp: u64,
pub iss: String,
pub nbf: u64,
Copy link

@pblazej pblazej Nov 3, 2025

Choose a reason for hiding this comment

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

[nitpick] can we use SystemTime instead?

@ladvoc ladvoc force-pushed the ladvoc/uniffi-trial branch from a028a03 to 3faab50 Compare November 20, 2025 05:08
@pblazej
Copy link

pblazej commented Nov 20, 2025

The cargo make thing works great for me!

I'd also commit (local) Package.swift to packages/swift if you don't mind - does not pollute the others.

cc @1egoman

@pblazej pblazej mentioned this pull request Nov 20, 2025
1 task
@pblazej pblazej requested review from 1egoman and davidliu November 20, 2025 14:29
@pblazej pblazej requested a review from cloudwebrtc November 20, 2025 14:29
@pblazej
Copy link

pblazej commented Dec 11, 2025

I'll try to complete the Swift distribution path in the meantime.

@pblazej pblazej marked this pull request as ready for review December 12, 2025 09:52
@pblazej pblazej changed the title [WIP] UniFFI trial UniFFI trial Dec 12, 2025
@pblazej
Copy link

pblazej commented Dec 12, 2025

Here's more or less everything we need for local distribution, the tricky part is:

[tasks.swift-generate-manifest.env]
SPM_URL = { value = "https://dummy.com" }
SPM_CHECKSUM = { value = "1234" }

Let's assume the following workflow:

  • create tag rust-sdks/livekit-uniffi@*
  • create a release here with the artifacts

optionally:

Alternatively, we can skip Package.swift generation for release whatsoever and just track it in the above repo (it won't change that often). It will also bypass the cocoapods legacy problem here.

@pblazej
Copy link

pblazej commented Dec 12, 2025

I made a manual pre-release here: https://github.com/livekit/livekit-uniffi-xcframework
Swift SDK support: livekit/client-sdk-swift#822

@ladvoc if you're able to finish the release pipeline here, that would be cool (artifact is OK as mentioned above).

--platforms maccatalyst \
--platforms visionos \
--platforms tvos \
--lib-type dynamic \
Copy link

Choose a reason for hiding this comment

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

And one more thing @ladvoc static release is still ~40MB whereas dylib ~1.8MB.

Dynamic one won't pass AppStore validation (we'd need to wrap it in a Framework).

90426: Invalid Swift Support. The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

I'd rather go for stripping the static one further, any ideas?

Copy link

Choose a reason for hiding this comment

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

iOS in --release profile:

Ar Archive - 47 MB

Copy link

@pblazej pblazej Dec 12, 2025

Choose a reason for hiding this comment

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

Okay, looks like DEAD_CODE_STRIPPING does the job and the bundle size increase is negligible (0.1 MB), moved back to static 729bc10

It also passes 🍏 validation 👍

I'm still open to optimization ideas 😄

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.

4 participants