Skip to content

feat: Remove xcode projects from all kits#646

Closed
denischilik wants to merge 9 commits intoworkstation/9.0-Releasefrom
feat/remove-xcode-projects-from-all-kits
Closed

feat: Remove xcode projects from all kits#646
denischilik wants to merge 9 commits intoworkstation/9.0-Releasefrom
feat/remove-xcode-projects-from-all-kits

Conversation

@denischilik
Copy link
Copy Markdown
Contributor

@denischilik denischilik commented Mar 2, 2026

Background

  • As a team we decided to not support distribution as .xcframework

What Has Changed

  • Remove all xcodeprojects which were used to generate frameworks
  • Remove plist files related to xcode projects
  • Remove jobs related to xcodeproj files

Screenshots/Video

  • {Include any screenshots or video demonstrating the new feature or fix, if applicable}

Checklist

  • I have performed a self-review of my own code.
  • I have made corresponding changes to the documentation.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have tested this locally.

Additional Notes

  • {Any additional information or context relevant to this PR}

Reference Issue (For employees only. Ignore if you are an outside contributor)

@denischilik denischilik changed the base branch from main to workstation/9.0-Release March 2, 2026 18:35
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 2, 2026

📦 SDK Size Impact Report

Measures how much the SDK adds to an app's size (with-SDK minus without-SDK).

Metric Target Branch This PR Change
App Bundle Impact 1.66 MB 1.66 MB +N/A
Executable Impact 896 bytes 896 bytes +N/A
XCFramework Size 5.47 MB 5.47 MB +N/A

➡️ SDK size impact change is minimal.

Raw measurements

Target branch (workstation/9.0-Release):

{"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1788,"with_sdk_executable_size_bytes":76360,"sdk_impact_kb":1704,"sdk_executable_impact_bytes":896,"xcframework_size_kb":5604}

This PR:

{"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1788,"with_sdk_executable_size_bytes":76360,"sdk_impact_kb":1704,"sdk_executable_impact_bytes":896,"xcframework_size_kb":5604}

@denischilik denischilik force-pushed the feat/remove-xcode-projects-from-all-kits branch from 37844c6 to f9fa309 Compare March 2, 2026 18:45
@denischilik denischilik marked this pull request as ready for review March 2, 2026 19:27
@denischilik denischilik requested a review from a team as a code owner March 2, 2026 19:27
Copy link
Copy Markdown
Contributor

@nickolas-dimitrakas nickolas-dimitrakas left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Copy Markdown
Collaborator

@BrandonStalnaker BrandonStalnaker left a comment

Choose a reason for hiding this comment

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

Looks good in general. Basically we're just relying on the example app builds to detect build issues.

There's a one thing I'd appreciate if we could add.
Somewhere in the README, CONTRIBUTING, etc. should detail how to build and test kits locally. I'm also curious if the matrix.json still needs scheme fields?

Copy link
Copy Markdown
Collaborator

@jamesnrokt jamesnrokt left a comment

Choose a reason for hiding this comment

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

Before approving this I'd need to see how you're replacing the xcframework logic

@denischilik
Copy link
Copy Markdown
Contributor Author

Before approving this I'd need to see how you're replacing the xcframework logic

Just to clarify — which part of the xcframework logic are you referring to? Kits have not been distributed as binaries, so I want to make sure I understand what you expect to be replaced.

@nickolas-dimitrakas
Copy link
Copy Markdown
Contributor

Looks good in general. Basically we're just relying on the example app builds to detect build issues.

There's a one thing I'd appreciate if we could add. Somewhere in the README, CONTRIBUTING, etc. should detail how to build and test kits locally. I'm also curious if the matrix.json still needs scheme fields?

@BrandonStalnaker The way I understood it is that we will be building and testing directly from the Package.swift and the schemes would still be needed.

@denischilik
Copy link
Copy Markdown
Contributor Author

Looks good in general. Basically we're just relying on the example app builds to detect build issues.
There's a one thing I'd appreciate if we could add. Somewhere in the README, CONTRIBUTING, etc. should detail how to build and test kits locally. I'm also curious if the matrix.json still needs scheme fields?

@BrandonStalnaker The way I understood it is that we will be building and testing directly from the Package.swift and the schemes would still be needed.

We don't need schemas in matrix.json because we can directly get them from Package.swift of each kit.

@jamesnrokt
Copy link
Copy Markdown
Collaborator

Before approving this I'd need to see how you're replacing the xcframework logic

Just to clarify — which part of the xcframework logic are you referring to? Kits have not been distributed as binaries, so I want to make sure I understand what you expect to be replaced.

In this PR you removed the XCFramework creation from .github/workflows/release-ecosystem-from-main.yml which created binaries to attach to Github releases.

What's the plan to reinstate creation of XCFrameworks for partners that don't want the compilation overhead of SPM or prefer working with XCFrameworks

@deniskocs
Copy link
Copy Markdown

Before approving this I'd need to see how you're replacing the xcframework logic

Just to clarify — which part of the xcframework logic are you referring to? Kits have not been distributed as binaries, so I want to make sure I understand what you expect to be replaced.

In this PR you removed the XCFramework creation from .github/workflows/release-ecosystem-from-main.yml which created binaries to attach to Github releases.

What's the plan to reinstate creation of XCFrameworks for partners that don't want the compilation overhead of SPM or prefer working with XCFrameworks

We are not planning to reinstate XCFramework generation as part of the standard release workflow. This PR removes the Xcode projects and related CI jobs because the team decided not to support distributing kits as .xcframework binaries.

Per the kit simplification design, the default partner-facing distribution for iOS is via SPM and CocoaPods, and XCFramework generation is considered unnecessary for kits. If a partner specifically needs XCFrameworks, we can provide them on request rather than building and attaching them to every GitHub release.

@denischilik denischilik closed this Mar 5, 2026
@denischilik
Copy link
Copy Markdown
Contributor Author

Decided to close it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants