algolia / algoliasearch-client-swift

⚡️ A fully-featured and blazing-fast Swift API client to interact with Algolia.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Carthage: "algoliasearch-client-swift" has no shared framework schemes

przemek-jablonski opened this issue · comments

Describe the bug 🐛
Currently it is impossible for me to install Algolia as project dependency through Carthage. During carthage update there is prompt about "algoliasearch-client-swift" has no shared framework schemes and then the build is cancelled.

To Reproduce 🔍

  1. Add InstantSearch dependency line to carthage (github "algolia/algoliasearch-client-swift" ~> 8.0.0).
  2. Run carthage update
  3. Framework build is skipped.

Expected behavior 💭
Framework is built and ready to use as a .framework file.

Screenshots 🖥

> carthage.sh update --platform iOS
...
*** Checking out swift-log at "1.4.0"
*** Checking out algoliasearch-client-swift at "8.5.0"
...
*** Building scheme "swift-log-Package" in swift-log.xcodeproj
*** Skipped building algoliasearch-client-swift due to the error:
Dependency "algoliasearch-client-swift" has no shared framework schemes for any of the platforms: iOS

Environment:

  • OS: macOS Catalina 10.15.7
  • XCode: 12.0.1
  • Carthage: 0.36.1

Additional info:
Changing carthage command (update -> boostrap) doesn't work, the same goes with changing carthage update with carthage.sh update (bash script for compatibility with XCode 12). Changing platform (-- platform iOS vs -) doesn't help either.

Hi @sharaquss,

This happens due to missing .xcodeproj files in the frameworks sources folders as both SwiftLog and AlgoliaSearchClient are pure SPM projects.

You can generate them manually using swift package generate-xcodeproj command in each source folder.
There is prebuild script which does it for you. Its usage described in the Install -> Carthage section of the readme.
However, theere is missing algoliasearch-client-swift package in this script (will be fixed in the linked PR), so you can generate .xcodeproj for it manually and then launch carthage build.

I hope this answers your question