Search code examples
iosobjective-cswiftcarthage

No shared framework schemes


I'm trying to convert an open source project that I do not own to use Carthage so I can include it as a dependency. I added a new scheme and have made that scheme Shared. I checked it in to my local git repo of the source. This is in my Cartfile:

git "file:///Users/crystaltwix/Projects/plcrashreporter" "shared-scheme"

When I try to run

carthage update --platform iOS

I do see that Carthage checks out plcrashreporter with the correct git hash, but the error I get is

*** Skipped building plcrashreporter due to the error:
Dependency "plcrashreporter" has no shared framework schemes for any of the platforms: iOS

Is there something else that needs to be done in order to have a framework be available through Carthage?


Solution

  • I did integrate the plcrashreporter framework with Carthage, but since the project is quite obsolete, I had to fork a pull request which is this one:

    https://github.com/plausiblelabs/plcrashreporter/pull/9

    as you can see, there are many commits there (#34), some related specifically to Carthage, some others for cleanup and fixing the targets.

    You can find the repo here:

    https://github.com/feelform/plcrashreporter

    My test (you may find it here) has the following:

    Cartfile: github "feelform/plcrashreporter"

    In build settings, Run Script:

    /bin/sh: /usr/local/bin/carthage copy-frameworks

    Input files: $(SRCROOT)/Carthage/Build/iOS/CrashReporter.framework

    Output files:$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/CrashReporter.framework