Copying Xcode samples

Posted by Jerry | Posted in Development | Posted on 18-06-2011-05-2008


Whenever a new version of the iOS SDK is released, one of the first things I do is copy all the sample code released with that version to it’s own directory. This allows me to browse the samples more easily and open them all from a common location without having to open them one-by-one. Here is how we do that:

1. Open Xcode preferences and choose the Documentation tab. Pick the new library and show information on it (the arrow in the lower left corner opens the info pane). Click the link for the Installed Location to open Finder to that location.

Xcode preferences

2. The file that stores the documentation for this iOS version is a docset. The one we want should be highlighted. Right-click and choose “Show Package Contents”.

Show Package Contents

3. Browse to Contents/Resources/Documents/samplecode inside the package. This is where all the code and html for help is located. Now we just need to get the code out of the folders.


4. Search at that location for filenames containing zip. That will show you just the zip files under that directory. Then you can select all, copy to a location you choose, I use a folder under my documents directory, and then extract the zip files (use Command-O to open them with all the files selected in the new folder). Now you should have a folder tree with all the sample code there ready for you to browse. Happy coding!

search for zip and copy

Column selection in Xcode

Posted by Jerry | Posted in Development | Posted on 27-05-2010-05-2008


Sometimes it really helps to be able to copy and paste in a column format instead of lines. Say you have a bunch of statements like this:

[[myObj1 alloc] initWithVal:10];
[[myObj2 alloc] initWithVal:20];
[[myObj3 alloc] initWithVal:30];

Now there are a lot of reasons you might want to copy those numbers, but let’s say you don’t like having the constants inline, so you want to pull them out into #define statements, like this:

#define value1 10
#define value2 20
#define value3 30

You could just retype the numbers or copy/paste the line and delete the rest of the line, but this is where column selection shines. Simply hold down the option key before starting the selection (Note: if you start dragging first, it won’t work). The cursor changes to a plus. Then select the column of numbers and cut. Before you paste them to your new lines, you will need to create the blank lines. Unlike traditional copy/paste, it will not insert the lines for you. Now add the #define and names. Finally, use column selection to copy the names and paste them back in the original lines. The paste will insert the names right in place with the original code.