Nativescript Plugin Specify Pod Version in Podfile - ios

I am currently working on creating a plugin that is a wrapper around an iOS SDK. I need to use an older version of the SDK but I can't figure out how to specify the pod version to download and use. I am using the Podfile in the platforms folder > iOS. It looks like this.
pod 'AccountKit', '5.0.1'
But the problem is, it's downloading and installing the newest version automatically (5.3.0), as I can tell from the console. Am I specifying the version wrong, or is this a bug? I saw examples (non-nativescript projects) that setup their podfile this way. Is it different for Nativescript?
If it means anything, I am using {N} 6.0.3 and Angular.

try this
pod 'AccountKit', '<= 5.0.1'
This will install version 5.0.1 and any lower version.
For more detailed documentations, click this.

Related

CocoaPods could not find compatible versions for pod "CordovaPlugins"

I've run into an issue with my Ionic app, noticing since Capacitor was being updated. I do have Cordova plugins installed and have followed the instructions as per the Ionic documentation when installing these into the app.
I have tried removing and updating Cocoapods, Pod install etc and nothing seems to solve this problem.
The error shows as follows:
[!] CocoaPods could not find compatible versions for pod "CordovaPlugins":
In Podfile:
CordovaPlugins (from ../capacitor-cordova-ios-plugins)
Specs satisfying the CordovaPlugins (from ../capacitor-cordova-ios-plugins) dependency were found, but they required a higher minimum deployment target.
Any ideas on how to fix this?
Thanks in advance!

Swift version required by a Pod?

I am trying to install a Pod in my IOS/iPhone project using Xcode 9.3.1.
My target app is configured to use Swift 3.3.
After adding the following line to my podfile...
pod 'Concorde'
I ran...
pod install
The pod installed normally. However, upon compilation, I receive a mess of compiler warnings and errors like "NSUrlResponse was obsoleted in Swift 3". It seems the Swift version I have (3.3) is too new.
The Swift version configured for the build target is also 3.3.
It looks like an older Swift is required for this Pod. However, is there a simple way to determine which Swift version is required for the pod?
I checked the CocoaPods.org web site and the page does not show the Swift version required for the library.
I also checked the podspec, where I expected to find that version number requirement.
You can try terminal command,
pod try "pod name"
this will clone the repo automatically for you to test the framework on the fly
there you can check out whatever you need.
Plus reading the description on GitHub helps too
Also i recommend using highly popular pods, as they tempt to be more stable.
read the reviews about the framework, and try to find other alternatives for it.
New update: You can try to preview .podspec file inside the Repo on github sometimes you can find the Swift Version of that Pod example : here

Adding Cloudinary Pod in iOS Objective C

I'm using Cocoapods for installing 3rd Party Frameworks. My project is in Objective-C Code. I'm using around 10+ Pod frameworks with Cocoapods. But now I couldn't install Cloudinary in my Project.
This is what i have given in my Podfile: pod 'Cloudinary, (~> 2.0)'
My app has deployment target as 8.0. Even cloudinary have the same minimum deployment target. As I know, Cloudinary depends on Alamofire. Even I tried with New sample project, it won't installing. When I try to installing, it throws an error like below.
Cloudinary (~> 2.0) required by Podfile Specs satisfying Cloudinary (~> 2.0) dependency were found, but they required higher minimum deployment target"
I just checked with deployment target dependency. But it matches with my project.
Anyone have come across this problem ? Any solutions ?
//UPDATE
Screenshots of Pod update after changed to
platform :ios, '9.0'
Cloudinary's SDK (v2.0.1) actually currently supports iOS 9+ (as for writing these lines), they'll need to update it (they can support iOS 8).
If you want to keep supporting iOS 8 you have several options, the easiest on your part would be using Cloudinary's swift-2.3 branch, since it supports iOS 8:
pod 'Cloudinary', :git => 'https://github.com/cloudinary/cloudinary_ios.git', :branch => 'swift-2.3'
But you'll have to remember to change it once Cloudinary updates their master branch to support iOS 8, since this branch is a temporary support brach for swift-2.3 and will probably not get any updates.
You can also remove Cloudinary from your Podfile and add Cloudinary as a submodule, then set its target to iOS 8.
Finally found out the problem why Cloudinary is not installing with CocoaPods. I have QMServices (QuickBlox) in my Podfile. I hope this framework is compatible with use_frameworks!. Cocoapods won't allow the installation of Cloudinary with this pod.
When I removed QMServices from the Podfile, Cloudinary can be installed properly with iOS 9.0.
However, I still don't know which particular dependency causes the problem in between Cloudinary and QMServices.
I hope this helps.

Does Facebook SDK support Swift 2.3/3.0?

Ok, I can't figure out what's the catch here. I follow all the instructions to configure my new project using CocoaPods to use Facebook SDK. Once I open generated project workspace, Xcode offers me to convert some source code in Pods project to Swift 2.3 or Swift 3.0.
I tried twice - with converting to Swift 3.0 and converting to Swift 2.3. Neither works and both give me on average ~120 compilation-time errors.
What's the deal here? I can't find anyone with similar problems. They seem to support Swift 2.3, but it doesn't work actually.
Xcode 8.0, Deployment target 8.0, latest FB sdk available through pods - 4.16.1
Facebook version 0.2.0 has support for Swift 3.0. Make sure you do the following before installing the latest version of Facebook SDK:
1: Get the latest version of Cocapods:
gem install cocoapods
(or if the above fails)
sudo gem install cocoapods
2: Update your local specs repo by running:
pod repo update
3: And then update your pod file and run pod update or pod install
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'
I think your probably missing step 1.

How to install GoogleAds-IMA-iOS-SDK-For-AdMob old pod version 3.0.beta.6?

Recently google decided to update this pod (GoogleAds-IMA-iOS-SDK-For-AdMob) to 3.0.beta.7 making some changes that are breaking my app that is using 3.0.beta.6. I tried to install the old version by setting specifically it in my podfile but still doesn't care and it installs the new one.
The question is:
Is there any way to install an old version of this pod?
Is google using a wrong syntax what makes cocoapods not to understand the version?
If you want to get the latest version you would use
pod 'GoogleAds-IMA-iOS-SDK-For-AdMob'
To pull in a specific version you'd want
pod 'GoogleAds-IMA-iOS-SDK-For-AdMob', '3.0.beta.6'
A bit more info about pod versioning is available at http://guides.cocoapods.org/using/the-podfile.html

Resources