yonaskolb / yonaskolb/XcodeGen

How to declare a Carthage built XCFramework dependency?

Open
#1,006 5 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
8.8k
Forks
908
Avg merge
17d 14h
Merged PRs (30d)
2

Description

I'm preparing my project for the upcoming Carthage release, which will build dependencies as XCFrameworks. How do I properly indicate a dependency on an XCFramework in my project.yml project spec?

Second question: Is there a way to disable the carthage copy files script being automatically added:
If any applications contain carthage dependencies within itself or any dependent targets, a carthage copy files script is automatically added to the application containing all the relevant frameworks. A FRAMEWORK_SEARCH_PATHS setting is also automatically added

For context, in the upcoming carthage release, they indicate that you'll no longer need to include a run script to call carthage copy-frameworks, and including this would actually introduce breaking changes to the currently carthage update --use-xcframeworks flow.

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

Start by tracing how project.yml dependency declarations are parsed and how the generated Carthage copy-frameworks script is added. Verify the expected XCFramework declaration against the upcoming Carthage flow, then confirm the result in generated Xcode projects with and without the automatic script.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
build-system, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.