Right way to add Charts with cocoapods - ios

Charts suggested us to install them with cocoapods without specifying release tag:
pod 'Charts'
and this is means that we are working with the master / trunk branch, right?
So what is about potential risks of the inability of the existing Application with the last changes in Charts? How can I add Charts with specifying the concrete version?
P.S. specifying tag neither
pod 'Charts', '4.0.1'
nor
pod 'Charts', :git => 'https://github.com/danielgindi/Charts.git', :tag => '4.0.1'
doesn't help, and brings us the error:
% pod update
...
Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "Charts":
In Podfile:
Charts (= 4.0.1)
None of your spec sources contain a spec satisfying the dependency: `Charts (= 4.0.1)`.
You have either:
* mistyped the name or version.
* not added the source repo that hosts the Podspec to your Podfile.

Looking in GitHub, it appears that their tags have a "v" at the front of the version number. I would change your versioned attempt to be:
pod 'Charts', :git => 'https://github.com/danielgindi/Charts.git', :tag => 'v4.0.1'
Note I've changed 4.0.1 to v4.0.1 to match the tag name on GitHub.

With help of Scott Thompson, I've found that
pod 'Charts', '3.6.0'
is worked and there are no error at build time! So, I think this is the right solution.

Related

Flutter: CocoaPods could not find compatible versions for pod "Firebase"

I have been working on update for a Flutter app that uses Firebase Firestore, once I finished the updated and starting to build it for IOS, I got the following error message which cause the build operation to fail:
[!] CocoaPods could not find compatible versions for pod "Firebase/Auth":
In snapshot (Podfile.lock):
Firebase/Auth (= 9.3.0)
In Podfile:
firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) was resolved to 3.3.12, which depends on Firebase/Auth (= 8.14.0)
Note: The error message in the question says Firebase/Auth package but it also happened with other Firebase packages.
So what should I do to get over this problem?
i had the same error but the correct answer didnt work for me so i deleted the Pod.lock file and applied this steps.
so this The Solution worked for me:
Cocoa Pods Installation in M1
sudo gem install cocoapods
sudo gem install ffi
arch -x86_64 sudo gem install cocoapods -n /usr/local/bin
sudo gem install cocoapods -n /usr/local/bin
Install ffi
sudo arch -x86_64 gem install ffi
#update repo
arch -x86_64 pod install --repo-update
Flutter iOS builds
flutter clean
flutter build ios
my answer is based on this answer
Since you mentioned that you are using Firebase Firestore in your app, then you case might be the same of mine.
In the official docs of Firebase Firestore for Flutter, you will notice an Optional step that tells you to add a line in the Podfile to improve iOS & macOS build times by including the pre-compiled framework, like this one:
target 'Runner' do
...
# This is the mentioned line
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '8.15.0'
...
end
The solution for me was to update the tag number in the link in the line with the latest one from the repository on GitHub. Which repo? the one in the line.
At the dropdown that lets you select the branch you will find a tab for selecting a tag, just tap it and check the latest version number and use it in the line, e.g. The latest version for the time of this answer is 9.3.0, so the line would be:
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '9.3.0'
If it did not work, then you may totally ignore this optional step and remove this line from the Podfile. The build operation would take longer than before but it is better than a build failure.
What worked for me was running pod repo update from the XCode app directory ("ios/app" for capacitor apps) and then the pod install command.
If you are using such a line in your podfile
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '10.3.0'
then you need to check the repo's latest version from here to keep your pub.dev firebase packages compatible :
pre-compiled framework version

pod installation failed with react native 0.44

I was working on a react native project with the local database. I used this https://github.com/andpor/react-native-sqlite-storage for local database access. It was working fine with RN 0.41.
But now when I upgrade my RN version to 0.44 I am getting following errors with pod install.
Unable to satisfy the following requirements:
- `Yoga (= 0.44.0.React)` required by `React/Core (0.44.0)`
None of your spec sources contain a spec satisfying the dependency: `Yoga (= 0.44.0.React)`.
You have either:
* out-of-date source repos which you can update with `pod repo update`.
* mistyped the name or version.
* not added the source repo that hosts the Podspec to your Podfile.
Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default.
This is my podfile:
target 'ProjectName' do
pod 'React', :path => '../node_modules/react-native' <br>
pod 'react-native-sqlite-storage', :path => '../node_modules/react-native-sqlite-storage'
end
I have tried lots of things but not able to solve this error. I created a new react project but and it was not working in that too
pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

Alamofire not working after upgrading (Swift/Xcode 8)

My earlier version of swift was in 2.2.
I have updated Alamofire using different options like
pod 'Alamofire', '~> 4.0'
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :tag => '3.5.0'
Whenever I open the workspace, it asks to convert to latest, I opted for swift 2.3. But the Xcode shows the errors below:
Header 'Alamofire-Swift.h' not found
Could not build Objective-C module 'Alamofire'
and inside Alamofire
Cannot convert value of type 'SecTrustResultType' to expected argument type 'UInt32'
I have deleted the files under the folders ~/Library/Developer/Xcode/DerivedData and build again . Same errors display.
What may be the wrong thing I did ?
As per Alamofire documentation it will work only with :
CocoaPods 1.1.0+ is required to build Alamofire 4.0.0+.
I followed following steps and it's working fine :
Open your terminal -
sudo gem update --system
sudo gem install -n /usr/local/bin cocoapods --pre (It will install prerelease version 1.1.0.rc.3 because final version not came yet)
pod setup
pod repo update
remove all pods of your project and install it again ( Comment pod names by # -> Do pod update and again by removing # -> Do pod update )

trying to create a bare-bones CocoaPods to share a few models but pod update doesn't seem to work

EDIT #1
it looks like this worked:
pod update JTModels
I have two projects and want to share some models between them. I have created a sample project located here:
https://github.com/trestles/JTModels
and I have a sample project that has the following Podfile:
platform :ios, '7.0'
pod 'JTModels', :git => 'https://github.com/trestles/JTModels.git'
the problem is that I bumped the Version number in my podspec to 0.0.5 but when I run pod update in my sample, it stayes at 0.0.4. Deleting out the Podfile.lock works but, to best of my knowledge, is not how this should be handled.
Mon Jan 26$ pod update
Update all pods
Analyzing dependencies
CocoaPods 0.36.0.beta.1 is available.
To update use: `sudo gem install cocoapods --pre`
[!] This is a test version we'd love you to try.
For more information see http://blog.cocoapods.org
and the CHANGELOG for this version http://git.io/BaH8pQ.
Pre-downloading: `JTModels` from `https://github.com/trestles/JTModels.git`, commit `12ad2cc2912d69baed6898e11b78d54c52102ba5`
Downloading dependencies
Installing JTModels 0.0.2 (was 0.0.2)
Generating Pods project
Integrating client project
Mon Jan 26$ less Podfile
What am I doing wrong? I have tried pod outdated but same result.

Using pods with conflicting AFNetworking dependencies

I'm trying to use two pods--JGAFImageCache and ADNKit--that specify different versions of AFNetworking. Here's my Podfile:
platform :ios, '7.0'
pod 'AFNetworking'
pod 'ADNKit'
pod 'JGAFImageCache'
pod 'DerpKit'
pod 'SVProgressHUD'
pod 'SSKeychain'
pod 'iOS7Colors', '~> 2.0.0'
When running pod install, I get this message:
[!] ADNKit (1.3.1) tries to activate AFNetworking (~> 1.3.0)', but already activated version2.0.0-RC3' by Podfile, AFNetworking (2.0.0-RC3), AFNetworking/Core (2.0.0-RC3), AFNetworking/Core (2.0.0-RC3), AFNetworking/Core (2.0.0-RC3), and AFNetworking/Core (2.0.0-RC3).
Removing AFNetworking and relying on v1.3.0 in ADNKit results in this:
[!] JGAFImageCache (1.1.0) tries to activate AFNetworking (~> 1.2.0)', but already activated version1.3.3' by ADNKit (1.3.1).
I'd be happy working with v1.3.1; I don't need the latest version of AFNetworking.
How do I get JGAFImageCache and ADNKit to stop fighting over which version of AFNetworking to use?
Obviously, your best bet is to file an issue with those developers to use up to date dependencies. The problem is that those pods rely on AFNetworking's API to not change, so there could be issues if you try to use a later version and some of the API has been removed.
Another approach would be to fork those repos and then change the dependencies within the podfiles yourself so that they are both using the same dependency. Then you'd just point your app's podfile to install them from your forked repo. This could break something, so you'll have to check for yourself and it's obviously not a good long term solution.
pod 'ADNKit', :git => 'https://github.com/yourUsername/ADNKit.git'

Resources