Skip to content

Conversation

@mokagio
Copy link
Contributor

@mokagio mokagio commented Dec 31, 2025

What?

Why?

How?

Testing Instructions

Accessibility Testing Instructions

Screenshots or screencast

@mokagio mokagio force-pushed the mokagio/ship-resources-as-xcframework branch from 9a85ac2 to a922952 Compare December 31, 2025 06:36
@mokagio mokagio force-pushed the mokagio/ship-resources-as-xcframework branch from 71a0dc2 to 6cbc42a Compare January 8, 2026 06:17
Otherwise, we get

error: 'gutenbergkit': invalid type for binary product 'GutenbergKit'; products referencing only binary targets must be executable or automatic library products
mokagio and others added 8 commits January 9, 2026 08:09
When GutenbergKitResources is a binary target (XCFramework), Swift fails
with "module was built from a non-package interface" because it treats
both targets as same-package but the XCFramework was built for distribution.

Setting packageAccess: false makes GutenbergKit act as an external client,
bypassing the same-package module loading restriction.

See: https://developer.apple.com/documentation/packagedescription/target/packageaccess

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
The `packageAccess: false` setting required for XCFramework import is
incompatible with Swift's `package` access modifier. When packageAccess
is disabled, the compiler doesn't pass -package-name, causing `package`
declarations to be treated as fileprivate.

This is a necessary tradeoff to support XCFramework distribution.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Update the build script to name the zip archive as:
GutenbergKitResources-<commit_sha>.xcframework.zip

This matches the URL format expected in Package.swift for versioned
XCFramework distribution.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Move checksum computation from Makefile into build_xcframework.sh
  to keep SHA knowledge in one place (DRY)
- Replace emoji output with green colored text
- Move color definitions to top of script

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
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