简体   繁体   中英

Carthage: no shared framework schemes for iOS platform (for my own framework)

I create a framework (called ProjectOne) built and tested it. I want to allow this framework to be used in Carthage . I edited my scheme and made the default "ProjectOne" scheme shared in XCODE . I did a carthage build and verified that the framework was build in Carthage/Build/iOS .

I then push to github and and create a release.

In another project, I'm using this framework. But, carthage reports "Dependency ProjectOne has no shared framework schemes for any of the platforms: iOS" .

I'm pretty sure I shared the scheme in ProjectOne - does anyone know why this is happening?

The folks at Carthage helped me discover the issue - Xcode was not adding the schemes to git. Make sure that .xcodeproj/xcshareddata/xcschemes is added and pushed to github.

In my case the issue was due the way I've included repo url in my cartfile. I changed it from:

github " https://...UICore.git " == 1.0.0

to

git "https://... UICore.git" "master"

For me this was missing. I played around with scheme and pushed to GitHub PiAnimation.xcodeproj/xcshareddata/xcschemes/PiAnimation.xcscheme

Click on Manage Schemes, and then un-flag and re-flag the “Shared” voice near "YourFramework". Go to terminal and now :

carthage build --no-skip-current

For me the problem was new version of Xcode. I've build project in newer Xcode version, but command line tool has been set to previous. To change it you should open Xcode -> Preferences -> Locations.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM