views:

3365

answers:

2

Is there a way to have directories within an .app?

At the moment if I add a file into Xcode, regardless of what Group hierarchy it is in, the file always lands in a flat filesystem within my application bundle.

Just as an update, I discovered the command:

/Developer/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp

which allows me to add files into the application without having to deal with Xcode. I used pbxcp because I have many different directories and Xcode makes it painful to do so.

+11  A: 

Under the target for your application, you have to add a Copy Files phase. Then you can specify a sub-directory within the app bundle that you want the file copied to. There will be a bunch of default directories for specific things (like resources and frameworks and such), but you can choose any directory you want. When your application bundle is built, the files you specify will be copied to the location within your bundle.

Jason Coco
Side note - of the default root places to put files, you probably want to choose "executable" so your subdirectory ends up in the root of your application bundle - then you can look for that subdirectory where you would normally look for other files and then find the file you need within.
Kendall Helmstetter Gelner
I don't understand. Does this mean replacing the existing Copy Bundle? (what's the point)How do I control which files goes with which copy bundle, or can I only have on (and in fact on sub-directory)?Isn't it possible to make a copy bundle that syncs a file hierarchy?
Johan Carlsson
+20  A: 

If you just want to copy existing files into your application bundle's Resources folder (which on iPhone is just the inside of the .app bundle), do the following:

  • Drag the folder you want copied into the Files and Folders listing of your xcode project.
  • From the sheet that pops up asking you if you want to add the files to a target, change the radio button to "Create folder references for any added folders'.

The folder you dragged in and all of its contents will be copied verbatim during building.

smeger
This works prefect!I get a hierarchy of blue folders in my project hierarchy and the folders gets added to my Copy Bundle Resources.First try I missed the "Create folder references for any added folders", but after revisit the instructions (stupid dyslexia), it works like a charm.
Johan Carlsson
By the way, you should promote this answer which is more helpful then Jasons, in my opinion.
Johan Carlsson
Ive re-accepted the answer to this one, since it's much easier (and obvious) to do.
Gerald Kaszuba