how to setup podspec to depend on other local pod - swift

I have 2 frameworks implemented using swift: A and B which depends on A.
There is a podspec setup for A which works fine.
Currently I am setting up the podspec for B, by defining
spec.dependency 'A', '~> 0.0.1'
Also A pod is included in Podfile of B framework.
pod 'A', '~> 0.0.1'
After running
pod spec lint B.podspec --verbose
shows the following error:
None of your spec sources contain a spec satisfying the dependency: `A (~> 0.0.1)`.
You have either:
- out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
- mistyped the name or version.
I have tried whatever was suggested, no changes.
How can I fix the issue?

Related

Flutter CocoaPods could not find compatible versions for pod OneSignalXCFramework

on running pod install there is appearing following error
[!] CocoaPods could not find compatible versions for pod "OneSignalXCFramework":
In Podfile:
onesignal_flutter (from `.symlinks/plugins/onesignal_flutter/ios`) was resolved to 3.2.7, which depends on
OneSignalXCFramework (= 3.9.1)
None of your spec sources contain a spec satisfying the dependency: `OneSignalXCFramework (= 3.9.1)`.
You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
* mistyped the name or version.
* not added the source repo that hosts the Podspec to your Podfile.
try running the following command
cd ios/
pod repo update
rm -rf Podfile.lock Pods
pod install

swift Firestore 'absl/numeric/int128_have_intrinsic.inc' file not found

I just recently installed an extension to Firebase called Trigger Email which uses a Cloud Firestore Collection. I was trying to Firestore to my iOS project to use it, and got the following error:
'absl/numeric/int128_have_intrinsic.inc' file not found
Error in Xcode
Here are the contents of my podfile as well:
platform :ios, '10.0'
target 'FRC Lookout' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for FRC Lookout
pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/Auth'
pod 'FirebaseUI/Auth'
pod 'FirebaseUI/Google'
pod 'Firebase/Database'
pod 'Firebase/Firestore'
pod 'FirebaseFirestoreSwift'
pod 'MMDrawerController', '~> 0.5.7'
pod 'SwiftyJSON', '~> 4.0'
pod 'Alamofire'
pod 'SVProgressHUD'
pod 'SpreadsheetView'
pod 'CollapsibleTableSectionViewController', '~> 2.0.1'
pod 'JTAppleCalendar', '~> 7.0'
pod 'PageControls'
pod 'SwiftKeychainWrapper'
end
It also looks like the file does exist, but either the wrong path or something.
Any help would be much appreciated.
I got it to work finally after doing a
pod deintegrate
then redoing my
pod install
So I have the same issue as you are having. Well different Pods of course. Did some research...
I've notice when updating or installing Pods, there was a message that says there is an update for CocoaPods. (Just now it's 1.8.4)
So I ran the command > gem install cocoapods
after everything was updated, my project can compile!
I hope this can work for ya and same with everyone else...
For me the other answer did not work. There's also another piece to the puzzle as with the Version 6.13.0 - November 14, 2019 release we see this note
Removed Firestore's dependency on the Protobuf CocoaPod. If you're
manually tracking dependencies, you may be able to remove it from your
build (note, however, that other Firebase components may still require
it).
Added a dependency on the abseil CocoaPod. If you're manually tracking
dependencies, you need to add it to your build.
So even after updating etc, I had the same error as the OP. To correct that, I removed CocoaPods from my project by quitting XCode and then using the cocoapods app. File->Remove Cocoapods from a project.
I then dropped into terminal an updated cocoapods manually
sudo gem install cocoapods
and then navigated to the project folder and then
pod install
to reinstall updated pods in the project. Then when running the project the OP's error was resolved but I was left with
Framework not found Protobuf
so there was some reference to protobuf hanging around. In the project I went to
Target->Build Settings
and using the find field, search for Protobuf which should find it in the Other Linker Flags.
In the Other Linker Flags option, you may see a highlighted section in the middle of that line. Double click to open those frameworks in a popup window and scroll down the list until you find
-framework
"protobuf"
Select those two lines, hit the minus sign at the bottom of that popup window to delete that link, clean and rebuild.
That worked for me.
Deleted the pod files from the project and all files related to pods. Then installed once more in the same project folder and compiled. This worked for me. Used pods with its version number
Ex:
pod 'Firebase/Core', '6.1.0'
pod 'Firebase/Auth', '6.1.0'
pod 'Firebase/Firestore', '6.1.0'
pod 'Firebase/Storage', '6.1.0'
pod 'Firebase/Functions', '6.1.0'
The way to fix this error is to go into your podfile and remove firebase firestore. Then check that you have completed setting up your database on the firebase website. After removing firebase firestore run pod install. This will remove Firebase Firestore. Then go back in to your podfile and re-add Firebase Firestore. This worked for me!
This is caused by a cocoapods environment bug.
To fix it, completely uninstall and reinstall cocoapods.
1)
gem uninstall cocoapods
gem uninstall cocoapods-deintegrate
gem uninstall cocoapods-downloader
2)
sudo gem install cocoapods
3)
pod install
As some others have mentioned the correct answer is to use an updated version of cocoapods.
To check the version of cocoapods use pod --version.
If you see 1.5.0 you need to be on a higher version such as 1.8.4.
sudo gem install cocoapods -v 1.8.4
If after installation you are still not seeing an updated version when you do pod --version then you could be running the wrong pod file.
You'd need to correct that in your ~/.bash_profile.
You can type pod env to see more info about the pod file.
The executable pod that I use is in ~/.rbenv/versions/2.4.1/bin/pod.
Side note. If you have openssl errors you can use one of the following commands.
Use version 1.0.0 (most likely will need this)
brew uninstall --ignore-dependencies openssl
brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
Upgrade to the latest
brew uninstall --ignore-dependencies openssl
brew install openssl

Trouble on installing pods

I'm trying to install this pod 'YBTextPicker' through the my Cocoapods Podfile instead of dragging and dropping the project into Xcode. However, I got the following error after running pod install command:
[!] Unable to find a specification for 'YBTextPicker'.
What am I doing wrong? This is my podfile:
platform :ios, '9.0'
use_frameworks!
target 'ViewLib' do
pod 'SkyFloatingLabelTextField', '~> 3.0'
pod 'TPKeyboardAvoiding', '~> 1.3.1'
pod 'BEMCheckBox'
pod 'EPSignature', :git => 'https://github.com/MC1Tecnologia/EPSignature.git'
pod 'YBTextPicker', :git => 'https://github.com/YahyaBagia/YBTextPicker.git'
pod 'Charts', '~> 3.1.1'
end
Here is the framework URL if you want to check it out.
That's because YBTextPicker doesn't exists as a pod. You can't just add any git project to your podfile; they need to have a podspec (and, if you want to install them without specifying a git path, their podspec needs to be added to the master Cocoapods repo.)
You can fork the branch and create your own pod. But that is a bit of work.
https://cocoapods.org/

Use artifactory with realm cocoapods (submodules required)

I'm using Artifactory backed Cocoapods. I have the artifactory plugin installed and I have a cocoapods-remote spec repo properly configured in my ~/.cocoapods/repos and ~/.cocoapods/repos-art directories.
I am running into a problem when trying to install the RealmSwift pod.
Podfile:
plugin 'cocoapods-art', :sources => [
'cocoapods-remote'
]
target 'App' do
use_frameworks!
pod 'RealmSwift'
end
Running (pod version: 1.3.1):
pod install
Resulting cocoapods error message:
Installing Realm (2.10.2)
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup
core is not a symlink. Deleting...
Downloading dependency: sync 1.10.8
ERROR: One of realm's submodules is missing!
If you're using Realm and/or RealmSwift from a git branch, please add
'submodules: true' to their entries in your Podfile.
I can get around this problem by substituting pod 'RealmSwift' with:
pod 'RealmSwift', git: 'https://github.com/realm/realm-cocoa.git', submodules: true, tag: 'v2.X.Y'
Is there another work around? This seems like there's something wrong with a symlink? Is there a way to configure Artifactory such that this updated configuration in the Podfile is no longer required?

Any ideas how to install 'ReachabilitySwift' for swift 3?

I have tried to install :
pod 'ReachabilitySwift', '~> 3'
into my Podfile, but I get this error:
[!] Unable to satisfy the following requirements:
ReachabilitySwift (~> 3) required by Podfile
None of your spec sources contain a spec satisfying the dependency: ReachabilitySwift (~> 3).
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.
Any ideas how can I install it , I also tried manually, but it didn't work too.
P.S I am using CocoaPods
after updating:
CocoaPods 1.1.0.rc.2 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 https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.1.0.rc.2
Analyzing dependencies
Pre-downloading: SwiftyJSON from https://github.com/BaiduHiDeviOS/SwiftyJSON.git, branch swift3
Downloading dependencies
Installing ReachabilitySwift 3 (was 2.3.3)
Using SVProgressHUD (2.0.3)
Installing SwiftyJSON 2.3.2 (was 2.3.2)
Generating Pods project
Integrating client project
Pod installation complete! There are 3 dependencies from the Podfile and 3 total
pods installed.
[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.
Ivans-Air-2:popo IvanDosevDimitrov$
Just run sudo gem install cocoapods and then pod updateafter that.