Access Pods project directory in post install hook - cocoapods

In my podfile I am using a post install hook in my podfile to add build phase scripts to the Pods project targets and build each of the targets. The problem I am having is I that am using
system "xcodebuild -target #{target.name} -sdk iphonesimulator"
which is building the current Pods project as I am in the Pods directory. So what I need is to change to the directory of the Pods project being generated (I assume it is stored in a temp directory and then copied to the final Pods directory after the post install hook). So is there a way to access the directory of the project which I am referencing below so that I can run xcodebuild in that directory?
post_install do | installer |
installer.project <-- need the directory of this file
end
Thanks,
Liam.

You might be trying to replicate this plugin: cocoapods-native-integration. But otherwise, you should be able to access the xcodeproj path via target.user_project_path seen here

Related

XCode does not create pod dependencies for React Native Project

Project config:
Xcode # 13.4.1 (13F100)
cocoapods # 1.11.3
React Native # 0.64.0
iOS target # 11.0
I can't build this mobile project and XCode says there's file missing.
fatal error: module map file '/Users/myself/Library/Developer/Xcode/DerivedData/myproject/Products/Debug-iphonesimulator/NextLevelSessionExporter/NextLevelSessionExporter.modulemap' not found
When I run pod install, says its has run without errors, but checking into Xcode/DerivedData/myproject/Build/Products/Debug-iphonesimulator and it does not show all the dependencies folder as it should.
I tried
Removing ~/.cocoapods folder
Deleting ios/Pods/ folder and Podfile.lock
Deleting DerivedData folder completely
No progress so far.
Any guidance will be welcome.
Follow the below steps:
Delete cocoapods folder, ios/Pods/ folder and Podfile.lock file
Deleting DerivedData folder
delete node_modules folder
Run command pod install or pod repo update
Hope it will help you!

How to fix 'ReactCommon/CallInvoker.h file not found' after manual upgrade from v0.61.5 to v0.63.3

I had to manually upgrade react-native, because nix react-native upgrade failed.
After following the Upgrade Helper for v.0.61.5 -> v0.63.3, ive cleaned my build folder and tried to run the application, only to get a failed build
the error is:
Lexical or Preprocessor Issue: 'ReactCommon/CallInvoker.h' file not
found ->
NativeToJsBridge.h
why is this happening? comment for additional environment/file information
Go to the ios/ directory in your project.
Delete Podfile.lock and Pods/ directory, then run pod install --repo-update.

Where is the Cocoa Pods Podfile kept?

I need to add to a Cocoa Pods Podfile to install SwiftLint, but install docs and forums 'gloss' over the detail of where it's located.
Open terminal and in the root of your project directory run...
pod init
That will create the pod file and all the other parts of the project that are needed.
If you can’t do that... the pod file lives in the root directory of your project.

Swift - Unable to open file in target Xcode 10

I am trying to run Aplication which I have downloaded from GitHub.
When I run get error unable to open file in target, I have Xcode 10.
I already searched for solution and get this one.
I had the same problem, but in Xcode 6.1.1 - what fixed it for me was to change the configuration file setting to None for the two Pods-related targets, then run pod install again.
The configuration file setting is found by selecting the project (not the target) and then the Info tab.
But cant find configuration file location.
Here is the error picture:
https://i.stack.imgur.com/Ql3M5.png
In File -> Project setting -> select Legacy Build System
Make sure you have opened .xcworkspace file and pod installed properly.
A solution I found to work for me was
Inside the project root directory
root
|- <ProjectName>
|- <ProjectName>.xcodeproj
|- <ProjectName>.xcworkspace
|- <ProjectName>Tests
|- Podfile
|- Podfile.lock
|- Pods
Delete the following files. Ensure you have copied the contents of Podfile.
Podfile
Podfile.lock
Pods Folder
Open your .xcodeproj using Xcode or using terminal command
open <ProjectName>.xcodeproj
Inside Xcode, locate the "Pods" folder which should contain something along the lines of...
Pods
|- Pods-<ProjectName>.debug.xconfig
|- Pods-<ProjectName>.release.xconfig
Delete those references and select "move to trash" when prompted.
Close Xcode
Now run the following:
pod init && pod install
Open your Podfile and paste in your previously copied old Podfile that was deleted earlier.
run the following command:
pod install
In terminal open Xcode again with the following command
open <ProjectName>.xcworkspace
Note: that I opened the xcworkspace file NOT the xcodeproj file.
At this point for me I was able to compile my code as normal without having to change back to the Legacy Build System.
Reinstall the pods to get everything cleaned up:
pod deintegrate
pod cache clean --all
pod install
This happened due to change the Project Name or Miss the Pods from Your Project
if the Pods are Miss Then Following Method
open the Project and Command + Shift + K
Close the Project
Open Terminal got to Your Xcode Project Directory cd /your-Xcode-project
if coca pods are already installed so skip this Point if not sudo gem install cocoa pods run this Command on terminal
pod install
If Above Method not Working so its Project name Issue then Go with following Method
First, open your Pod File and change the target
target 'your Xcode project name' do
run the Following Commands from Terminal
go to Your directory from terminal
pod deintegrate
pod clean
pod install
Done now open your xcWorkSpace file
For me it works, update the version of CocoaPods and reinstall the pods
sudo gem install cocoapods
Run following commands after you have downloaded Xcode project from GitHub:
cd /your-xcode-project
pod install
This worked on Xcode 10.2.
I had this issue too with project I cloned from GitLab. Your error looks extremely similar to mine. I solved it by running this in Terminal:
cd path/to/your/project
pod install
When I checked project folder in Finder, there was a Podfile. But same project viewed in Xcode had nothing under 'Pods' module. From this I figured out the pods are not installed (or installed properly?) and installing them solved this error.
If there is some Pods or .xcworkspace file, it might be worth doing pod deintegrate before installation - just to be sure :)
I was facing the same error opening an old project in a new macbook with a recent installation of Xcode and no cocoa pods or anything related on it.
My way to fix this was following some of the steps en the issues #1727 of alamofire and change some things. Open the terminal and cd project where the pod file is.
So, this is what worked for me:
sudo gem install cocoa pods
pod repo remove master
pod setup
pod repo update
pod install
Then just, clean build folder and build the project.
Quit Xcode
Open Terminal
Change to directory (where podfile is present)
pod install
I was trying to do pod install after removing unwanted pod(steps 2,3 & 4), but it still was not working. Quitting Xcode (steps 1, 2, 3 & 5) worked.
If you suddenly start seeing this issue on an existing project, before you try anything else, try
pod update
Make sure your pod build settings looks good
Clean build folder
Retry building
1-
in xcode
menu --> project --> clean build files
2-
close project
3-
in terminal
cd
4-
in terminal
pod update
5-
re-open
project..xcworkspace file
6-
clean, build
good luck
delete file name "Podfile.lock" and try pod install again.
Just stumbled into the issue recently myself. It seems it's a bug in CocoaPods.
Possible fix: gem install cocoapods --pre
I tried below and error went away !!
project name - SwiftExample
Went to Pods -> Info -> Configurations -> Debug
Change to None for Pods-SwiftExample
Code compiles even after setting it back to original.
I can see many solutions already given there. But I believe the easiest way to resolve this problem is
Open the project directory in Terminal
Delete .xcworkspace file
Run pod install
That's it. The newly created .xcworkspace file will work without any problem.
Open your project file (project.pbxproj) and check of 'Pods' is added to the path before the 'Target Support Files' folder. Remove that and i got it to build fine.

Issues with adding a pod file to my Xcode project

I've been trying to create a pod file for my project in my directory using the terminal, but I'm running into the issue shown below, any suggestions?
I tried restarting my Mac and even tried to add one to a different project but to no avail. Also couldn't seem to find any other instances of this occurring.
Here's the terminal output:
Matts-Mac-mini:~ sarabytestudios$ cd /Users/sarabytestudios/Desktop/Blurr\Messenger/Blurr\ Messenger.xcodeproj
Matts-Mac-mini:Blurr Messenger.xcodeproj sarabytestudios$ pod init
[!] No xcode project found, please specify one
Matts-Mac-mini:Blurr Messenger.xcodeproj sarabytestudios$
You have to create your PodFile in the same directory as your Blurr Messenger.xcodeproj.
In your case should be in /Users/sarabytestudios/Desktop/Blurr\Messenger/.
In that directory, create a file called PodFile where you must declare the cocoapods you want to include in your project (you can do it by hand or call pod init). The you must type pod install.
After that, you must open the new generated file called Blurr Messenger.xcworkspace.
1) Run 'pod init' command inside the project directory(directory containing YourProject.xcodeproj file)(This will create a Podfile, a YourProject.xcworkspace file, Podfile.lock file and a Pods folder)
2) Run 'pod install' command inside the same directory.
3)Open your project using YourProject.xcworkspace file and NOT the YourProject.xcodeproj file(otherwise build fails).

Resources