Git unable to identify project.pbxproj - ios

Whenever i commit and push project.xcodeproj file, git not able to identify project.pbxproj because it is not showing on remote branch.
If i do some changes in project like add a new file or change project settings etc. but still git unable to identify any changes in project.xcodeproj.
Please help me out.

Finally i got the solution,
I move in project.xcodeproj bundle and forcefully add project.pbxproj file by using below command
git add -f project.pbxproj

Because the project.pbxproj file is packed and embedded in the project.xcodeproj bundle.
You change it , and git add it.
Git not able to identify project.pbxproj because it is not showing on
remote branch.
I think you need some Plugin to open file in Github, like fugitive.vim .

Related

Xcode: Delete files but still tracked by git

I delete files from my project that I no longer want. But when I want to commit, git keeps tracking them as "new file: project / myFile.swift"
How can I do to delete files permanently in Xcode? so they don't show up in git when I want to commit ?
is it possible to fix this without using git ignore?
Delete files from Xcode
Instead of clicking Remove Reference, click Move to Trash.
Removing the reference only removes the file from Xcode project but it does not remove it from the project directory.

How to add Xcode project with cocopods to github

I followed this link to add project to GitHub. I could successfully create the repository using these instructions.
But unable to add an Xcode project with pods(.xcworkspace) to GitHub.
I am aware that we shoud add only podfile to reduce the load. But Not sure how to achive this.
After few hours of trial error found the below solution to be working. If anyone have better soultion please suggest.
Open your git hub web, create a new repository with a readme and .gitignore file.
Clone the repo to your machine.Open terminal.
cd your_directory
git clone your_repo_url
copy and paste your existing project folder to this directory("your directory")- make sure you have deleted the local git from this folder Refer this link
open gitignore file and uncommnet the below line.(# Add this line if you want to avoid checking in source code from the Xcode workspace)
*.xcworkspace
In terminal run command git status
This will list out new changes you have done in the folder.
run command git add --all
run commit -m "commit message"
git push
Make sure you have removed large files from your project, files like video audio etc.
While you check out this repository to another folder, make sure you run pod install and create xcworkspace.

Xcode Version 11.4.1 (11E503a) hangs upon Source Control > Create Git Repositories

My Xcode is keep hanging/freezes each time I'm trying to create repository for a new project. After clicking Source Control > Create Git Repositories > "Create", both buttons "Cancel" and "Create" become disable and I seems not be able to close the pop up window.
The only solution so far is to force close Xcode and re-open project. Note: upon doing that I can see repo being successfully created.
Wondering if anyone else is experiencing same issue?
I can't solve it either. But I came with semi manual solution.
So, after Xcode hanging/freezing, just force Xcode app terminating
Open Terminal app, if terminal current directory is not your project directory, then navigate to project directory (command is like "cd Documents/Developer/YourProject")
In your project directory there must be .git directory, by default it's hidden, from Finder you can check is it there or not by pressing 'Command' + 'shift' + '.' keys (⌘ shift .) this keys combination will unhide .git folder
in the terminal use 3 git commands one by one:
git init
git add .
git commit -m "first init"
And finally you can open Xcode and do other stuff related to git version control system. For example push it to GitHub.

Back to Default Git or gitignore settings on XCode project

Because me and my team started playing with the files that were included and ignored on the XCode Commit panel, our project has become very hard to manage on git. Since we added some libraries that we installed through cocoapods into git and uploaded them with the project, we have consistently gotten errors with files that don't show up on the user that pushed it, or other that show as missing for the user that made the pull.
To solve this, I want to take the most up-to-date branch, and reset git or the gitignore file in order to reupload to another origin from scratch, and hopefully have an easier time with our collaboration.
I haven't found a way to do so easily and safely. Is there a way to do so?
Thanks in advance.
If you want to go back to a standard gitignore file for your Xcode project, go to gitignore.io and enter Xcode in the search field. That will generate a standard gitignore file for Xcode projects.
Open up your existing gitignore file in a text editor. Replace the contents with the contents of the file gitignore.io created for you. Commit the gitignore file and push it to your remote repository. Now your team will be working with a standard gitignore file.

Xcode: issue "file xxx.png is missing from working copy" at project building

After deleting/adding some png files to project, i have got messages when building project.
"file ProjectPath\aaa\xxx.png is missing from working copy."
All these files are in the project, and the application is running. However, these messages are annoying. Looked .plist file, but there is no mention of these files.
What should I do to remove these messages?
The warning will disappear as soon as you commit your changes (Xcode 8).
It seems that this problem may have different causes, but it's often in relation with source control software.
In my case, I solved it by going to Git, and adding the files again. I mean running the following command:
git add .
You can also disable source control by unchecking
Xcode -> Preferences -> Source Control -> Enable Source Control
if you're managing it via command line or any other app.
In XCode -> SoureControl:
Update + Refresh Status did it for me.
In my case, the file was missing from the source control.
To fix, I had to discard this file (be careful only discard the missing file not all your project):
Xcode->Source Control->commit
Right Click the missing file
Choose Discard Changes
Disable Source Control, clean build folder (Alt+Shift+Cmd+K), then Enable Source Control again.
Xcode -> Preferences -> Source Control -> Enable Source Control
In my case, Xcode had somehow found old .svn directories that referenced the missing files. I had to go up a level above my project folder to find those .svn files. Once deleted, I restarted Xcode and everything was fine.
I had a similar issue with a handful of files that had long since been deleted from my Xcode project while I was still using Xcode 7.
My solution was to:
Create files with the names Xcode was complaining about (they don't need any content)
Add the files to my Xcode project (in Xcode right click on my main project directory, click Add files to my_project_name and select the files that were just created
Select the newly added files and delete them - select move to trash.
This got rid of the warnings for me.
To add onto Alexander Vasenin's answer...
First I Committed and Pushed my changes
Xcode Main Menu > Source Control > Commit
Then I Discarded All Changes to get rid of the errors
Xcode Main Menu > Source Control > Discard All Changes
After that, the errors stating "file xxx.png is missing from working copy" disappeared.
This is occurred when you delete file on Xcode, but didnt tell svn server about it.
Go to command line tool, and delete file directly.
svn delete missingFile.m
and commit it
svn commit -m "Deleting file"
note that if you delete .svn folder, the warning is disappear but you will lost communication with svn server.
I worked it out.
just open your third-party SVN tool, find the miss files, Revert;
that's all.
I had same problem and solved it by add git .
Open Command Line Tool
cd "project folder path"
git add .
Later,restart Xcode project and open your project again.
Show on target->build phases -> copy Bundle Resources.
and
clean build folder command+shift+alt+k
I had to manually go into Terminal and remove the files with git rm ProjectPath\aaa\xxx.png and then commit. After that everything worked fine.
Got this for every project after moving on to XCode 8. This solved it:
With Option Key pressed, Product (in title menu) -> Clean Build Folder.
In my case, I had wrong data from my old projects in the simulator. Solved by reset content and settings in the simulator:
Simulator -> Reset content and settings...
For me the following worked:
Since I do not and did never use Git, I created a new project (XCode 8, I could not see the usual "use Git" or however the checkmark was labeled). Then I bluntly deleted all the files in this new project; went to the old messed up project, copied everything in the project folder, came back to the newly created project, pasted the old stuff, opened that - all the warnings about files that have not been existing for months are gone. Fingers crossed.
I had the same issue and solved it by simply dragging the specified files from finder into the project navigator (ensuring that "copy files" is selected in the dialog) and committing the files.
These warnings are not build warnings, they are about your SVN repository.
It is correct that the directories shown no longer exist, CocoaPods stores the headers in Pods/Headers/{Private,Public} now. You have to update your working copy to reflect those changes.
In my case I drag & dropped a number of files on my Xcode project window to add them. It made copies into my source directory but didn't put them where I wanted them to go (it put them at the root of my directory, I wanted them in a sub-directory). Without thinking I just grabbed them in the Finder and moved them to the directory I wanted them in. After going back into the project window it of course could not find them so I deleted them in the window and re added them. After compiling I started getting these errors.
I thought, as some mention above that it was a git issue but when I ran "git ls-tree --full-tree -r HEAD" I didn't see the files at all??
Anyway to fix it all I did was use the "Add File..." menu command to add each of the files to the default location, do a clean build, and then delete them from the project window (using move to trash) and it got rid of all the errors.
I had the warnings, and also could not commit changes under XCode (using svn). All I had to do was restart XCode and the problem went away.
This works for me:
Xcode -> ("option + click") Product -> Clean Build Folder...
Than restart xCode
In my case it was a problem with git and a case-insensitive file system.
I had inadvertently submitted the same file twice, using file paths that differed only in case:
MyProject/Resources/foo.png
MyProject/resources/foo.png
Xcode was complaining about one of the missing files.
Fixed by deleting the offending files, and re-adding.
cd MyProject
mv Resources/foo.png /tmp
git rm Resources/foo.png
git rm resources/foo.png
git commit
mv /tmp/foo.png Resources
git add Resources/foo.png
git commit
This is definitely related to source control. I renamed and moved a couple of non-committed plist files and got this error. I am using svn. I was able to fix this via Source Control - Commit by removing old referenced files.

Resources