Xcode 4.3.2: Can not add files outside the project folder - xcode4.3

I have just upgraded to XCode 4.3.2 and now my old projects are not correctly loaded. All files outside the project folder are displayed in red color. The folder structure is like this:
MyLibFiles
mylibfile.h
MyProject
MyProject.xcodeproj
anysource.h
alias of mylibfile.h
So I can't add "mylibfile.h" to the project. It's simply impossible. It's also impossible to add the file via an alias ("alias of mylibfile.h").
Currently the only way is to make a copy of "MyLibFiles" into "MyProject". But that can not be the way, it's silly.

Related

Moving Project file in Xcode Interface Builder

I have somehow managed to get the Xcode project file for "My System" in a different folder from all the other project files. Everything works but is there an easy way to get the files together in one folder (ie. either by moving "My System.xcodeproj" into the lower folder or moving all the other files up with it in the higher folder.
If I made this change, what parameters I would need to change inside Xcode.
I'm using Xcode 11.3.1 on Mojave and Objective-C (no storyboard).
I'm not sure if it is worth moving these or whether I should just leave it.
File and Folder Structure:
The arrangement shown in your screen shot of the Finder is correct: a project folder, containing the project file (xcodeproj) along with a single folder that contains the actual code files. That is the standard. Don't mess with it.
Actually you shouldn't even look at it. Look at your project through Xcode, and let Xcode worry about where the files "really" are. Under no circumstances should you touch any of these files in the Finder or you will risk breaking the project entirely.

Xcode creates a duplicate of my project's root folder with build info, how to disable that

I'm quite new in iOS development and I'm observing that next to the root folder of my project (let's say its name is 'Foo') another folder is created with a cryptic name (like 'Foo-gobovuchatrabdsdfg...'). In it some information about builds and simulator debugging is stored.
How can stop Xcode creating that folders or if not possible, how can I specify a different path for that folder?
The folder with a cryptic name is your derived data folder, which contains the files Xcode creates when it builds your project. If you don't want the derived data folder inside your project folder, change the derived date folder location to the default location. Refer to the following question to learn how to change the derived data location:
Xcode DerivedData folder

Changing directory on mac affects all files in Xcode Project

I simply wish to change the name of a folder that lies in my root project folder.
I have changed the name of a project (say from Proj1 to Proj2).
I now have a folder on my desktop that reads Proj2. Inside is Proj2.xcodeproj and a folder called Proj1 with all of my source files and resources.
I want to change that folder to be consistent and read Proj1, however if I change it every file in my xCode proj becomes red.
Is there a technique to change this folder within xCode such that I can rename the folder and keep all my files intact with the appropriate structure (such as what groups the files are in)?
It's annoying, indeed.
However, there's no way to keep files on the hard drive (SSD, ..) and group names and the project structure in Xcode in sync automatically.
You can re-assign the locations of the files in your red folders manually to fix it.
Wish Xcode would offer a feature like this since we've switched to Xcode from MW CodeWarrior, but..
After you rename the folder, open the project in Xcode and select this folder. You can choose the renamed folder in the File Inspector Pane.

How to add non-source folders to IntelliJ IDEA project

Recently set up a multi module project in IntelliJ with the following structure:
/module1
/module2
/web-module
/sql
/lib
/a few more folders
I set up module1+2 and web-module as modules in IntelliJ so those show up, but how do you make the sql and lib folder show up in the project panel? They should be included in VCS as well, but IntelliJ ignores them. How do you add folders outside modules to a project?
Screenshot of project and explorer view:
This is not a strict answer to the question, but it worked for me so I'm posting, perhaps someone will find this useful.
If you want to add an arbitrary folder to your project (even from some different location than your projects), just add it as a module. You needn't worry about the type so much e.g. I needed to add a folder with some SQL scripts, I added it as a Java module and it's nicely visible in IntelliJ even though it has no maven structure or Java sources.
This is how to do it:
File > Project Structure > Modules
Add > New Module > ... (e.g. Java Module)
In the new module settings mark the subfolders that you want to see as 'Sources'
VoilĂ ! :)
This is something that I typically see when creating a project from existing modules. All the modules will show in the project but not the other project related directories. These directories might be, configuration files, environment scripts or bundles of SQL scripts that don't fit neatly into an Intellij module type.
To show the rest of the project source files and directories, I create a parent module from the project root.
File->Project Structure->Modules
Create a new module using the + sign. The new module could be any type (I use java).
On the Next screen set the Content root and Module file location to the Project's root folder.
Select Finish
All of your other modules should now be submodules of the root, and your other project files should now show up.
Add and remove content roots
To add a new content root:
Go to File | Project Structure, or press Ctrl+Shift+Alt+S.
Select Modules under the Project Settings section.
Select the necessary module, and then open the Sources tab in the right-hand part of the dialog.
Click Add Content Root.
Specify the folder that you want to add as a new content root, and click OK.
source: https://www.jetbrains.com/help/idea/creating-and-managing-modules.html
I used File -> New -> Module from Existing Sources...
Then I simply select the folder and add it.
In Project view mode all directories (except the ignored ones from the settings) should show up. Of course the base folder for your multi-project has to be the folder above module1.
EDIT:
Your project should look like this (project view tree):
MY_PROJECT_ROOT (~/the/folder/to/your/project)
|- /module1
|- /module2
|- /web-module
And in this case, you should definitely see the other folders. I got a sample project set up where this is working.
EDIT 2:
From your screenshot, I assume you are missing the root directory (the project root is not as you expected). I added another screenshot. There should be a single root folder for your 3 modules. This one is missing at your screenshot. You have 3 separate folders with no common root folder. On MacOs, the project root is displayed in the window title. In my case it points to ~/devel/sandbox.
I guess you should try to create a new project in for that trunk folder. From the scratch. Then add the existing modules and you should be fine?!

Moving .lproj file inside Resources

I'm trying to begin localization on a project, and I've already got an English version of Localizable.strings going. I'm now trying to add French to that file, which is creating an fr.lproj folder, as I'd expect. However, it's putting it in my project root, and I'd like it inside my project's Resources directory.
Xcode seems to have no interest in letting me move the file, and if I move it in Finder, it goes red in Xcode as expected, but doesn't let me click to locate the file.
I've tried moving it in Finder, then editing project.pbxproj in a text editor to add Resources/ in front of the only line in there that mentions fr.lproj/Localizable.strings, and that has worked, but after doing that, the project's targets also turned red in Xcode, and building the app doesn't change that fact. Very odd.. any idea what could be going on, or how to get this going?
This can be a real pain. I even had XCode crash on me when trying to correct unwanted file locations. I found that the best way is to create the localized file (be it .strings or .xib) as a copy of the source language version outside of XCode, then drag and drop it into XCode. If you do this then XCode will display it correctly and your targets' Build Phases > Copy Bundle Resources settings will include it with its correct location. I don't know why your targets are displayed in red, perhaps you could look under Copy Bundle Resources in case anything is wrong there, or also select your project and click Validate Settings in case you haven't already done so.
Also, if you have been testing in the simulator beware of how XCode does not clean up the files in your app bundle--you may want to delete the app and run it again to make sure it's working with your new location.