Carthage: Dependency "XYZ" has no shared framework schemes

Created on 20 Mar 2018  ·  24Comments  ·  Source: Carthage/Carthage

  • carthage install method: homebrew
  • carthage version: 0.29.0
  • xcodebuild -version: Xcode 9.2 Build version 9C40b
  • Are you using --no-build? No
  • Are you using --no-use-binaries? No
  • Are you using --use-submodules? No
  • Are you using --cache-builds? No
  • Are you using --new-resolver? No

Cartfile
No (Do you need a cartfile for exporting a framework?)

Carthage Output

Dependency "XYZ" has no shared framework schemes

Actual outcome
Carthage did not build.

  • The same worked when i used
    xcodebuild -scheme Framework -project ProjectName.xcodeproj/ build
  • Scheme is shared and in git, I have verified that.

Expected outcome
Carthage should build

question

All 24 comments

Can you post a link to the framework you a trying to build or provide a sample project?

I am afraid I cannot share the framework at this point. It's private. I have a shared "Framework" schema which builds and generates the .framework files. I want to release this pre built frameworks via Carthage. Any help would be appreciated

If it helps what I also see is the log file is completely blank

@NarayananKannan allright.

What carthage command are you using?

carthage build --no-skip-current
in the same folder where my .xcodeproj is

@NarayananKannan I just verifying by building Alamofire and everything works for me. If you can set up a project that reproduces the problem, zip it and upload it somewhere I'll be happy to take a look.

Alright, I will try to do that. Meanwhile can you point to an article how I could package(archive) my built binaries using carthage? Maybe I am missing something in the setup

There is not much else to do than sharing the scheme you want carthage to build https://github.com/Carthage/Carthage#supporting-carthage-for-your-framework

I'm going to close this issue since there is no activity. Please feel free to follow up here anyways.

I have found the issue, I used aggregator target which I assume Cathage does not detect. However xcodebuild -scheme detects and builds the framework.

We're having this issue in this framework: https://github.com/Xiaoye220/EmptyDataSet-Swift

@tmspzz

I assume it worked at some point.. I'm using the latest version of carthage

I just checked out the library and verified that the scheme is marked as shared.

I have the same issue with the current carthage version with my framework Source: https://github.com/Blackjacx/Source

@Blackjacx Could you please share steps to reproduce the issue so I can look into it?

Of course:

First get all dependencies by loading and executing this shell script (don't worry - it doesn't doo anything bad ;-) ):

bash <(curl -s https://raw.githubusercontent.com/Blackjacx/Scripts/master/frameworks/bootstrap.sh)

Then run the carthage archive sub command as described in the docs:

carthage build --archive

The result gives the following error:

carthage build --archive
*** xcodebuild output can be found in /var/folders/t8/q_2gl3_151xbjb6mlylc9dfm0000gn/T/carthage-xcodebuild.bo2Tog.log
*** Skipped building Source due to the error:
Dependency "Source" has no shared framework schemes
Dependency "Source" has no shared framework schemes

My carthage verison is 0.34.0

You can checkout the project ad verify that the schemes are shared.

@Blackjacx It looks like the scheme is being added to the workspace but Carthage only knows how to find schemes inside of the project. To resolve this issue you need to go to "Manage Schemes..." and choose the project as the container for the scheme, like so:

Screen Shot 2020-02-18 at 9 26 06 AM

Uuuups. I'm sorry but thanks so much for detecting this and reporting back 👍

@DavidBrunow :- I just had same issue, I am developing demo for the carthage.
You can find my source code here,
https://github.com/ios-sagar-chavan/CarthDemo

When I update my carthage it gives me following error.
I checked the schema as directed by you, but no success.

carthage update
* Fetching CarthDemo
Checking out CarthDemo at "v1.0"
xcodebuild output can be found in /var/folders/x5/1wsv9nms0ng55_jxnmnp2r9h0000gn/T/carthage-xcodebuild.IThceX.log
*
Skipped building CarthDemo due to the error:
Dependency "CarthDemo" has no shared framework schemes

If you believe this to be an error, please file an issue with the maintainers at https://github.com/ios-sagar-chavan/CarthDemo/issues/new

Can you please help me in this.

Thanks.

@ios-sagar-chavan can you check if the trick suggested in the comment from @DavidBrunow works for you. It did the trick for me.

@Blackjacx :- I already tried the same trick, but didnt help.

@ios-sagar-chavan The tag you are pointing to in the Cartfile (v1.0) was added before the project had an Xcode project file. If you change the Cartfile to point to master, like below, it works:

github "ios-sagar-chavan/CarthDemo" "master"

You need to add a different tag or delete the existing tag and tag the project from the latest commit on master.

@DavidBrunow :- Kudos... J

That worked buddy...
I deleted the tag and added the new and followed the same.
Worked well.

Thanks man. Cheers...

Same issue. No workspaces.
Carthage: 0.34.0

Peculiar fact: it fails first time and works second time on both local machine and GitHub Actions:

  ➜  carthage bootstrap --platform iOS --cache-builds
  *** Checking out adyen-3ds2-ios at "2.1.0-rc.5"
  *** xcodebuild output can be found in /var/folders/t6/1jj0blvx7h5c3y470wnxlkv00000z9/T/carthage-xcodebuild.LoWf0K.log
  *** Invalid cache found for adyen-3ds2-ios, rebuilding with all downstream dependencies
  *** Skipped building XYZ due to the error:
  Dependency "adyen-3ds2-ios" has no shared framework schemes

  If you believe this to be an error, please file an issue with the maintainers at https://github.com/adyen/adyen-3ds2-ios/issues/new

  ➜  carthage bootstrap --platform iOS --cache-builds
  *** Checking out adyen-3ds2-ios at "2.1.0-rc.5"
  *** xcodebuild output can be found in /var/folders/t6/1jj0blvx7h5c3y470wnxlkv00000z9/T/carthage-xcodebuild.WXE0pp.log
  *** Valid cache found for adyen-3ds2-ios, skipping build

I know this is old but stumbled across the same issue and found out that in my case even though the scheme was marked as shared in xcode, it hadn't created the shared file.. Changing the schemes around a bit made xcode create the file and the build was good to go. Maybe even deselecting and reselecting shared would do the trick.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

faustperic picture faustperic  ·  3Comments

justinmakaila picture justinmakaila  ·  4Comments

shift00 picture shift00  ·  3Comments

pmhood picture pmhood  ·  3Comments

abbeyjackson picture abbeyjackson  ·  3Comments