Coder Social home page Coder Social logo

Comments (12)

sidstew avatar sidstew commented on June 10, 2024 2

Ok so here is what I did and it allowed me to install XpringKit!

  1. Did a 'sudo gem install cocoapods' to update cocoapods
  2. Updated my XpringKit pod to XpringKit,'~> 2.0'
  3. Tried pod install but got this error below. To resolve the issue I basically just updated my deployment target in my podfile.

[!] CocoaPods could not find compatible versions for pod "XpringKit":
In Podfile:
XpringKit (~> 2.0)

Specs satisfying the XpringKit (~> 2.0) dependency were found, but they required a higher minimum deployment target.

  1. ran pod update 'Firebase/Firestore' in terminal - this seemed to successfully install XrpingKit for me.

Updating local specs repositories

CocoaPods 1.9.1 is available.
To update use: sudo gem install cocoapods

For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.9.1

Analyzing dependencies
Downloading dependencies
Installing BigInt (5.0.0)
Installing Firebase 6.1.0 (was 6.14.0)
Installing FirebaseAnalytics 6.0.1 (was 6.1.7 and source changed to https://cdn.cocoapods.org/ from trunk)
Installing FirebaseAuth 6.1.2 (was 6.4.1 and source changed to https://cdn.cocoapods.org/ from trunk)
Installing FirebaseAuthInterop 1.1.0 (was 1.0.0 and source changed to https://cdn.cocoapods.org/ from trunk)
Installing FirebaseCore 6.0.1 (was 6.5.0 and source changed to https://cdn.cocoapods.org/ from trunk)
Installing FirebaseFirestore 1.3.1 (was 1.8.3 and source changed to https://cdn.cocoapods.org/ from trunk)
Installing FirebaseInstanceID 4.2.7 (was 4.2.8 and source changed to https://cdn.cocoapods.org/ from trunk)
Installing FirebaseStorage 3.2.1 (was 3.4.3 and source changed to https://cdn.cocoapods.org/ from trunk)
Installing GoogleAppMeasurement 6.0.1 (was 6.1.7 and source changed to https://cdn.cocoapods.org/ from trunk)
Installing SwiftGRPC (0.9.1)
Installing SwiftProtobuf (1.5.0)
Installing XpringKit (2.0.0)
Installing gRPC-C++ 0.0.8 (was 0.0.9 and source changed to https://cdn.cocoapods.org/ from trunk)
Installing gRPC-Core 1.19.0 (was 1.21.0 and source changed to https://cdn.cocoapods.org/ from trunk)
Removing FirebaseCoreDiagnostics
Removing FirebaseCoreDiagnosticsInterop
Removing GoogleDataTransport
Removing GoogleDataTransportCCTSupport
Removing abseil
Generating Pods project
Integrating client project
Pod installation complete! There are 12 dependencies from the Podfile and 28 total pods installed.

from xpringkit.

dangell7 avatar dangell7 commented on June 10, 2024

My podFile was attempting to install on 11.3 where everything else in the project was 13.2.

from xpringkit.

dangell7 avatar dangell7 commented on June 10, 2024

Sorry for all the confusion.. Still Learning

from xpringkit.

sidstew avatar sidstew commented on June 10, 2024

Hey @dangell7 - I am pretty new to this too and am getting this error as well. What did you do to resolve it? Any help would be appreciated!

Thanks!

from xpringkit.

dangell7 avatar dangell7 commented on June 10, 2024

Can you post the stack trace?

from xpringkit.

dangell7 avatar dangell7 commented on June 10, 2024

I had to lock in grpc with a separate repo

from xpringkit.

sidstew avatar sidstew commented on June 10, 2024

This is what i get when i try to pod install within my project in my terminal:

[!] CocoaPods could not find compatible versions for pod "gRPC-Core":
In snapshot (Podfile.lock):
gRPC-Core (= 1.21.0)

In Podfile:
Firebase/Firestore was resolved to 6.14.0, which depends on
FirebaseFirestore (~> 1.8.2) was resolved to 1.8.3, which depends on
gRPC-C++ (= 0.0.9) was resolved to 0.0.9, which depends on
gRPC-C++/Implementation (= 0.0.9) was resolved to 0.0.9, which depends on
gRPC-Core (= 1.21.0)

XpringKit was resolved to 1.1.3, which depends on
  SwiftGRPC was resolved to 0.4.3, which depends on
    gRPC-Core (~> 1.11.0)

My Podfile consisits of:
pod 'MBProgressHUD'
pod 'IQKeyboardManagerSwift'
pod 'SDWebImage'
pod 'Firebase/Analytics'
pod 'Firebase/Auth'
pod 'FirebaseUI/Auth'
pod 'FirebaseUI/Google'
pod 'FirebaseUI/Email'
pod 'Firebase/Firestore'
pod 'Firebase/Storage'
pod 'Protobuf'
pod 'XpringKit'

Is that what you were asking for? I apologize, this is pretty new to me. I have been reading through some gRPC documentation you provided above and have successfully completed the basic tutorial. Still trying to read more about it though. Thanks for the help I truly appreciate it!

from xpringkit.

dangell7 avatar dangell7 commented on June 10, 2024

Yeah thats it. @keefertaylor How do you want to handle this? I forked both this repo and the grpc swift and held the grpc repo it to the specific version of grpc here and again here. Then I changed this repo to use XGRPC-Swift the repo fork I created.

from xpringkit.

dangell7 avatar dangell7 commented on June 10, 2024

@sidstew whatcha building if you dont mind me asking?

from xpringkit.

keefertaylor avatar keefertaylor commented on June 10, 2024

Hey folks,

Looking at the output here:

[!] CocoaPods could not find compatible versions for pod "gRPC-Core":
In snapshot (Podfile.lock):
gRPC-Core (= 1.21.0)

In Podfile:
Firebase/Firestore was resolved to 6.14.0, which depends on
FirebaseFirestore (~> 1.8.2) was resolved to 1.8.3, which depends on
gRPC-C++ (= 0.0.9) was resolved to 0.0.9, which depends on
gRPC-C++/Implementation (= 0.0.9) was resolved to 0.0.9, which depends on
gRPC-Core (= 1.21.0)

XpringKit was resolved to 1.1.3, which depends on
  SwiftGRPC was resolved to 0.4.3, which depends on
    gRPC-Core (~> 1.11.0)

The problem is that:

  1. You're depending on Firebase/Firestore (v6.14.0) which transitively depends on gRPC-Core v1.2.0
  2. You're also depending on XpringKit (v.1.1.13) which transitively depends on gRPC-Core v1.11.0
  3. You can't bundle both gRPC-Core v1.2.0 and gRPC-Core v1.11.0 (you can't add the same framework at different versions to a single binary)

I've opened #172 to upgrade our dependencies and also lock them. Unfortunately, this still wants to bundle a gRPC core version newer than the 1.2.0 which Firebase/Firestore is trying to bundle so I think you will get the same error.

Ultimately, you're going to need to find a way to get your dependency versions to agree with each other in order to get building. I'm happy to upgrade anything in XpringKit, but not downgrade (unless you can prove that there's an extenuating circumstance).

A few notes:

  • It looks like you are using an out of date version of XpringKit. The latest version of XpringKit is 2.0.0 and you're depending on 1.1.3. You probably want to pull the latest code.
  • Also looks like you're using an out of date version of Firebase/Firestore. latest is 6.21.0 and you are installing 6.14.0.
  • I'm surprised you're pulling old versions since you haven't specified versions in your Podfile. You may want to try running pod repo update to refresh your CocoaPods repository on your machine and then run pod install again.
  • You can control the dependencies you bring in. By default you're not specifying dependency versions in your Podfile, which you probably want to do.

From the CocoaPods Documentation:

Dependencies can specify versions requirements. The use of the optimistic version indicator ~> is recommended because it provides good control over the version without being too restrictive. For example, ~> 1.0.1 is equivalent to >= 1.0.1 combined with < 1.1. Similarly, ~> 1.0 will match 1.0, 1.0.1, 1.1, but will not upgrade to 2.0.


I'd try at least updating to the latest version of each library and figuring out if they place nicely with each other. Note that #155 won't be pulled into the build until it is merged and a new release is cut. I plan to cut a 3.0.0. release after that lands.

If Firebase/Firestore is still pulling in an old version of gRPC-Core, you may want to ask that team if they can upgrade the dependency or submit a PR to do it yourself. Unfortunately, XpringKit has no control over the transitive dependencies and versions that other projects choose to use.

If there's a known good configuration here to get these two libraries to play nicely, I'm happy to hear / figure out how to get dependencies pinned correctly.


Yeah thats it. @keefertaylor How do you want to handle this? I forked both this repo and the grpc swift and held the grpc repo it to the specific version of grpc here and again here.

These commits 404 for me. Is it a private repo?

from xpringkit.

keefertaylor avatar keefertaylor commented on June 10, 2024

If you're interested in following the upgrade, #172 contains the updated libraries and #173 cuts the associated release.

from xpringkit.

sidstew avatar sidstew commented on June 10, 2024

@keefertaylor and @dangell7 thank you so much for this information! This is super helpful. I will see what I can do and will followup on this thread.
@dangell7 I'm building an iOS app that is a P2P kind of app used for educational purposes. Mostly a platform where students can post questions and tip people in XRP who assist them.

from xpringkit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.