what is the base for "pod install" command? - ios

when npm install command runs, It installs all the packages mentioned in the package.json.
when pod install command is run, which is the base file to install all required pods?
Is there any file in iOS like package.json that decides which pods have to be installed?

The Podfile itself. It's a ruby file looking something like this:
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'ProjectName' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
pod 'Alamofire', '5.6.2'
end

Related

can't install realm with CocoaPods

I did pod init and wrote RealmSwift in Podfile.
I'm using
Swift5, Xcode 11.3.1, cocoaPod 1.9.1, ruby 2.3.0
# Uncomment the next line to define a global platform for your project
platform :ios, '13.0'
target 'project' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for project
pod 'RealmSwift'
target 'projectTests' do
inherit! :search_paths
# Pods for testing
end
target 'projectUITests' do
# Pods for testing
end
end
I got JSON parserError like this
JSON::ParserError - A JSON text must at least contain two octets!
What should I do to fix the ParseError?
And I could install SwiftDate. I can't install only RealmSwift.
follow these
rm -rf "${HOME}/Library/Caches/CocoaPods"
rm -rf "pwd/Pods/"
pod update
Please backup the respective directories before running "rm" commands
If not work, delete Podfile.lock and run rm commands then run pod init and pod install

Please specify a platform for this target in your Podfile?

I want to config Firebase Firestore. I followed all the steps, but at the last step, I got the error link below I mention.
After Executing this pod install command below error I got
[!] Automatically assigning platform ios with version 11.4 on
target testing_gowtham because no platform was specified. Please
specify a platform for this target in your Podfile. See
https://guides.cocoapods.org/syntax/podfile.html#platform.
My podfile:
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'testing_gowtham' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for testing_gowtham
target 'testing_gowthamTests' do
inherit! :search_paths
# Pods for testing
end
target 'testing_gowthamUITests' do
inherit! :search_paths
# Pods for testing
end
pod 'Firebase/Core'
pod 'Firebase/Firestore'
end
I saw this https://guides.cocoapods.org/syntax/podfile.html#platform but I did not find which line I need to change .
How to solve this issue?
Replace your whole pod file text with below text and then check.
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'testing_gowtham' do
use_frameworks!
pod 'Firebase/Core'
pod 'Firebase/Firestore'
end
(or) solution 2
platform :ios, '9.0' is working...I simply removed # this
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
target 'testing_gowtham' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for testing_gowtham
pod 'Firebase/Core'
pod 'Firebase/Firestore'
end
In your Podfile ->
Uncomment platform and set ios : 10.0
platform :ios, '10.0'
this will work.
If the above error occurs when you install pod 'PusherSwift' and pod 'AlamofireImage' you have to remove # symbol from
# platform :ios, '9.0'.
Then write the command pod install in your terminal.
When you run the project again the error will appear according to 'pusher swift'.you have to click unblock option. Then the problem is successfully solved.
Delete Podfile.lock file and run pod install.
I got this issue by changing the target iOS version and developing application on more devices.
Worked for me, but be careful - it will replace all, let's say, locked (cached) versions of libraries, that you are using. Check yourself that you fully understand what Podfile.lock file does here --> https://guides.cocoapods.org/using/using-cocoapods.html
Updated answer for 2022.
This is due to your minimum deployment target being less than iOS 10. According to the Firebase ios setup documentation, your project must target ios platform versions iOS 10 or later:
command $ flutter clean
open the Podfile in the directory ios/Podfile
uncomment the line platform :ios, '9.0' and change 9.0 to 10.0
# Uncomment this line to define a global platform for your project
platform :ios, '10.0'
save the file
$ flutter run
For Apple Silicon M1 chips:
Edit ./ios/Podfile
platform :ios, '11.4' or whatever version
Install ffi arch -x86_64 sudo gem install ffi
Reinstall pods
flutter clean
cd ios
arch -x86_64 pod install
cd ..
flutter run
You shouldn't remove everything inside Podfile, just Uncomment this line:
platform :ios, '9.0'
from ios/Podfile
The simplest answer is uncomment second line of Podfile and change the iOS version to 10 like this. Note that the very next following Xcode build will take a bit more time than usual. I don't know why...
platform :ios, '10.0'
In Flutter project, I Also faced with this issue. Fixed by updating flutter and cocoa pods to the latest version.
Solution:-
flutter clean
rm -Rf ios/Pods
rm -Rf ios/.symlinks
rm -Rf ios/Flutter/Flutter.framework
rm -Rf ios/Flutter/Flutter.podspec
cd ios
pod install
cd ..
flutter build ios
In side the Podfile
Specifying the platform version on your plaform
Remove the # platform :ios, '9.0'
# platform :ios, '9.0' ( comment note)
Write it like these
platform :ios, '13.0'
platform :ios, '9.0' is working...I simply removed # this
In my case it was because of an old project which I didn't run for like 6 months.
I just created a new Flutter project using this command
flutter create -i swift -a kotlin project_name
And moved the ios folder to my project, run it and it works!
I have got this error many times while running flutter firebase project.
Simple solution is:
Replace:
# platform :ios, '9.0' with platform :ios, '9.0'
Actually # make it commented so we are just uncommenting it.
pod update and pod install again
cd iOS
run the following -
pod deintegrate --verbose
sudo gem pristine ffi --version 1.14.2
sudo arch -x86_64 gem install ffi
arch -x86_64 pod install
You have to remove # symbol from
cd ios
open podfile
and remove # symbol and save this file
#platform :ios, '9.0'.
Then write the command pod install in your terminal.
To solve this :
open your pod file in Andriod Studio --> ios--> Podfile then you will see at the top of the file a commented out example:
platform :ios, '9.0'
uncomment this line and re-run the app to see if it works. If it's still not working then change the version to match your minimum requirement. I've set mine to iOS 12 as one of my dependencies required this.

In react-native App when creating pod file the target is empty

In my react-native app I want to integrate cocoapod,after
sudo gem install cocoapods. When I create the pod file is using pod init command ,then the pod file is missing the target .
Below is the pod file code.
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target ' ' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for
end
Due to this when installing pod framework ,its not working.

Cocoapods install error- Unable to find a specification for pod

I am trying to install two pods to my Xcode project from terminal. I initially had installed a pod called PRAugmentedReality, and it worked fine. Then I tried adding the pod BFTransmitter, and started getting the following error message:
[!] Unable to find a specification for 'PRAugmentedReality'
If I remove the PRAugmentedReality pod and install with just BFTransmitter, it also works fine. So basically I am able to install either on their own, but not together.
My podfile looks like this:
#source for BFTransmitter
source 'https://bitbucket.org/bridgefy/bridgefypods.git'
target 'FWF' do
pod 'BFTransmitter'
pod 'PRAugmentedReality'
target 'FWFTests' do
inherit! :search_paths
end
end
I have tried repo remove master pod setup and then pod install, still no luck.
just add source to install both pods together check my podFile and add sourced before your target as I did
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
source 'https://github.com/CocoaPods/Specs.git'
source 'https://bitbucket.org/bridgefy/bridgefypods.git'
target 'pod' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
pod 'BFTransmitter'
pod 'PRAugmentedReality'
# Pods for pod
end
Result
I encounter the same problem in my project.
When I was editing pod file, I changed pod 'SCSoftKycSolutionSdkSource' to pod 'MyprojectName'.
I fixed the below, issue fixed.
pod 'SCSoftKycSolutionSdkSource'

How to create a CocoaPod with swift?

I create a swift cocoa touch framework according to create cocoapod with siwft
and it works fine, But there is another problem, my framework will dependency on other framework, such as SwiftyJSON.
And I try add
s.dependency "SwiftyJSON", "~> 2.3"
into the .podspec file.
But when I try to build my 'Example', still error happens :
'No such module SwiftyJSON'
Open your terminal and goto to your folder project. Then follow this step. Type this command in your terminal.
open -a TextEdit Podfile
Then copy this pod 'SwiftyJSON', :git =>'https://github.com/SwiftyJSON/SwiftyJSON.git'
put into Podfile. Then save it. And type this command in your terminal.
pod install
Hope it will help you.
First you should install cocoapods package in your mac
check this tutorial to do this How to install cocoapods?
Then you can install any cocoapods for any project by the following steps
open terminal
navigate to the root path for the project, example
cd /Users/mac/Desktop/cocoatest
then type
pod init
(the will generate file "Podfile" ) open it
the content for this file will be something like this:
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'cocotest' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for cocotest
end
uncomment this line # platform :ios, '9.0'
and then add you cocoapods under this line
# Pods for cocotest
like
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'cocotest' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for cocotest
pod "SwiftyJSON", "~> 2.3"
end
then save the file
after that type pod install in terminal and it will create file with
xcworkspace extension open it and that is your project

Resources