I have a folder containing some files and sub-folders. If I rename the folder using the eclipse 'refactor'->'rename' command you would expect the folder to be renamed but that is not what happens.
A new folder is created with the new name and containing all the files while the existing folder does not go away, instead it contains all the sub-folders.
This is weird and really annoying - is there a way around this?
I got this one finally. There is a tickbox that says rename subpackages you need to have this selected or else you get the weird behaviour above.
Related
I am trying to exclude some .swift and .storyboard files from my project (Xcode9) for release build using EXCLUDED_SOURCE_FILE_NAMES.
But its not working for me.
Is it possible to give any folder name to exclude it completely?
How to give multiple files and folder name?
It is not working if I give path like ../ForlderName/*.
Folder is at the same level as my project.
Is it possible to exclude sub-folders files as well?
I am able to exclude if my hierarchy is
MyProject Folder
|_
MyProject Folder
|_FolderToBeExcluded
If I gave FolderToBeExcluded/* it is working but file in FolderToBeExcluded's subfolders are not getting excluded.
If my heirachy is like this (ie folder to be excluded and project folder both at same level)
FolderToBeExcluded
MyProject Folder
|_
MyProject Folder
If I give ../FolderToBeExcluded/
or $(SRCROOT)/../FolderToBeExcluded/
both are not working
If I give directly any one of the file name which is to be excluded it is getting exclude without giving full path.
Is it the limitation of EXCLUDED_SOURCE_FILE_NAMES?
If I gave FolderToBeExcluded/* it is working but file in FolderToBeExcluded's subfolders are not getting excluded.
The reason subfolders are not excluded is because of the /*. That tells it to look for files in FolderToBeExcluded. If you just give FolderToBeExcluded (no slash after) then it will exclude all files in that folder and all subfolders. At least that is what I found.
An important gotcha I ran into today is that you can't exclude files within a folder reference, but you can exclude an entire referenced folder.
When you add a folder to Xcode it will ask you if you want to create a group or create a folder reference. If you choose the second option, then you'll need to be aware that you can't exclude files within the folder, but you can exclude the entire folder.
For me it worked if I define the value of EXCLUDED_SOURCE_FILE_NAMES like this:
$(SRCROOT)/../FolderToBeExcluded/*.*
I am using Xcode 9.4.1
This seems to be the only solution:
Use groups without folders for every subfolder in excluded directory
Exclude ${PROJECT_DIR}/{Path to Excluded Folder}/* in EXCLUDED_SOURCE_FILE_NAMES settings
This is not the first time that happens. Yesterday I code the whole day. In the end of the day I saved everything and close Eclipse.
Today, I open Eclipse and all of my classes are gone. My folder of classes is inside of "gen (Generated Java Files" folder. Is that the problem?
I know how to restore the files..but they come with errors and I have to correct the entire classes - they are about 10. What am I doing wrong?
Im not sure but try with creating a folder workspace on your C: directory and save them there
Try following: ( This may be helpful)
Copying the .class files to a separate folder. (So won't loose them)
Try to find backup using time capsule or any other way.
Either able to find backup for all or fail.
After this Decompile java class files : Decompile Java Files
When I made my project, I've added many files just by link, without copying them into the project folder. But now, I'd like to have a pack that include all the necessary files into the project folder.
How can I make all those external files being copied into the project folder without having to check them one by one ?
Simply
Delete all the files from your project.
Geather all the files you want to copy.
Drag them all together to your project again, and now check the "Copy item to the destination folder"
I believe this is the fastest way to do this.
In my xcode project i have created a folder manually named "MyClasses" to place the newly added files/classes to this folder.
Now i have nearly 30 classes in this folder.
when i renamed this folder , all the files in this folder are gets Erased.
Now i need to rename the folder to "ViewControllerClasses".
But i lost 30 .h, .m, xib files. [lucky i have a copy & and zip file]
How to rename the folder with out corrupting the files.
Renamed it to myviewcontrollerclasswes
When i renamed
Two Solutions
Method_1. Try Manual editing:
« Drag your MedChart.xcodeproj to TextWrangler (or any text editor)
« Use find button to find "FolderName" (Your folder name)
« Replace all with new name.
« In some project you may notice header search path problem...goto header search path and replace with new name.
Method_2. Use Xcode to choose base folder:
Rename folder in finder then use Xcode to choose same folder.
NOTE as of 2017:
Now Xcode 9 synchronises the folder and the project hierarchy automatically.
NOTE as of 2013:
Duplicate and rename Xcode project & associated folders
The "folders" what you see in XCode under your project file are not real folders in the file system, only virtual folders administered in the .xcodeproj file. You can organize your files in the project folder independently from their location in the file system. Some prefers to map the file system folder structure inside the project folder structure, some others store all source files in one big folder in the file system and organize them only in the project folders: it's rather a question of preference.
However if you rename/move physically the files in the file system, you will have to delete and re-add them to your project since XCode will not know where to find them. Pay attention not to delete them physically only remove them from XCode project, then re-add them and reorganize as you want.
One more thing to note: if you are using version control system you will have to inform also its client (svn or git most likely) that you have renamed/moved your files. If you want to keep file revision history it will be a good idea to issue the copy/move command explicitly to the version control otherwise it will treat your files as deleted from the old location and added as new in the new location.
In case anyone is still having trouble with this:
Select the folder or file in the left-side bar of XCode corresponding to the folder you want to rename (for me I renamed the folder containing all my files so I selected the topmost folder)
On the right-side bar, below where it says 'Location', click the folder icon.
In the file explorer that opens up rename the existing folder to whatever name you'd like it to be, then afterwards select it and press 'Ok'.
XCode should update the file locations accordingly.
Keep in mind that if you rename something which contains a file that is hard-coded as a certain path in your build settings, XCode will throw an error. You'll have to manually change those paths in your build settings.
This worked for me, hope it works for you too.
You should just run a search and replace on the project file (if you are working with version control and with other developers you will have seen this file a lot without a doubt), it's the project.pbxproj file located inside the xxxxxxxx.xcodeproj file.
Just right click (Control + Click) on the file and select "Show Package Contents" to find the xcodeproj file.
I still find it easier than all these methods to simply create a new folder in your file navigator and then drag your files from the other folder into it. Sometimes the simplest way is the best way. It literally takes me 10 seconds and I don't need to leave Xcode.
I have just started making a test app , here is what happened.
I copied some files in to my project.
deleted them, as reference only.
I tried to add them again,
and i get the following error
" randomfile.h couldn't be copied to TestApp because an item with same name already exists "
randomfile.h is the file i am trying to add and TestApp is the project name.
How can i add the same file again?
Un-select the "Copy items into destination if needed" checkbox. Are you adding the file from and to the same folder? If it's from a different folder, then you need to rename or delete the one that you had before.
It worked, but i don't understand why this happened, can you explain
in detail?
You deleted the items by reference only, that means that you only deleted the projects reference to it, essentially, removing it from the project, but not deleting it from disk. So the file is still on your hard drive in your project files directory. Trying to copy another instance of it will be like trying to copy 2 files with the same name into the same directory, thus you get the "because an item with same name already exists" error
However, this doesn't work if you delete folders. Here are steps to reproduce:
Add a folder called "images".
In that folder, add a folder called "test".
Put a couple of files in the test folder.
Delete the test folder. Select "move to trash" (as opposed to delete references).
Try to add a "test" folder into the images folder by dragging in from finder.
Error by OP appears - xcode does not delete folders (or subfolders) when you select the move to trash option, even when you have that folder selected. You have to manually remove the folders from finder.
Go to project directory to find and delete the file that has the same name as the one you were trying to copy to project