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.
Related
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.
I am attempting to use the MetaWear cocoapod to connect to BLE sensors from my IOS application. Before adding this pod, I created a basic Single View Application in Xcode. I tried to compile and run it on my iPhone, and it showed up as expected.
Having done this, I did a pod init, and updated my Podfile to look as follows, as recommended in the above MetaWear cocoapod link:
platform :ios, '12.2'
target 'myProj' do
use_frameworks!
pod 'MetaWear', '~> 3.2'
end
Once I run "pod install", I get the following output:
Analyzing dependencies
Downloading dependencies
Using Bolts-Swift (1.4.0)
Using MetaWear (3.2.0)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 2 total pods installed.
I then open my Xcode project ( myApp.xcworkspace ), and when I try to re-build the project, I keep getting this error:
Could not build Objective-C module 'BoltsSwift'
This is also shown in the following image:
As a result, I was under the impression that maybe I should downgrade the BoltsSwift version, but specifying something lower than 1.4, seems to be ignored. For example, I added this pod:
pod 'Bolts-Swift', '~> 1.3'
And my output after running pod install, still yielded "Using Bolts-Swift (1.4.0)". So I am not too sure how to get rid of this compilation failure. Maybe downgrading BoltsSwift is not the correct course of action. What can I try? (I am using Xcode Version 10.2.1 (10E1001))
Ok, turns out that by default, XCode set my Swift compilation to 5.0 for the BoltsSwift and MetaWear pod. I changed it to Swift 4, and I was able to build.
Updating the pods compilation level might also be a good idea, as described here :
How to set the Legacy Swift Version for each Pod in Podfile Xcode 9.0 Swift 3.2 / Swift 4.0
My app's deployment target is currently set to 9.2 in Xcode. I believe 9.0 should be minimum.
However when trying to update to AudioKit 4.5.2 (from 4.4) - I'm getting the following error in Terminal...
⇒ pod install
Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "AudioKit":
In Podfile:
AudioKit (~> 4.5.2)
Specs satisfying the `AudioKit (~> 4.5.2)` dependency were found,
but they required a higher minimum deployment target.
What should I do? Many thanks.
The answer to your question has already been given to you.
Specs satisfying the AudioKit (~> 4.5.2) dependency were found, but
they required a higher minimum deployment target.
This literally means you're trying to update to v4.5.2 but that specific version requires a higher minimum deployment target, should be higher than your iOS 9.2.
What should I do? Many thanks.
You have multiple options:
Target iOS 10 (or at least the v4.5.2's deployment target), if that's okay with your manager or team lead, or you.
Explicitly target AudioKit's lower version, like what you've mentioned, in your podfile, like so: pod 'AudioKit', '4.4'.
UPDATE:
I made a sample Xcode project and discovered that they haven't released v4.5.2 for their cocoapods, well, as far as I know. So this should be in your podfile insted:
pod 'AudioKit', '~> 4.0'
and make sure that you also have this line in your podfile, targeting your iOS version:
platform :ios, '10.0'
I hope this helps!
I am implementing log in with Microsoft in my swift project and using MSAL for this. https://github.com/AzureAD/microsoft-authentication-library-for-objc
This is my pod file.
target 'TestMSL' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for TestMSL
pod 'MSAL', :git => 'https://github.com/AzureAD/microsoft-authentication-library-for-objc', :tag => '0.1.3'
end
For pod install it gives me error like CocoaPods could not find compatible versions for pod "MSAL"
Here strange is if i change my deployment target to 10 then pod installation works well.
Please help me how can i solve this. I want minimum deployment target 9.0.
Here is the answer from the microsoft authority on github
Current iOS deployment target supported by MSAL is 9.3. They haven't tested MSAL on iOS 9.0, so it's not officially supported.
Also, we'll be shortly dropping iOS 9.3 support around the time when iOS 12 gets released.
Original Answer
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.