Tag Archives: XCode

Upgrade iOS SDK 4.0 -> 4.1 with custom location

again, for my custom install location I need to prepare:

cleanly uninstall and remove cruft:
$ dir=/Users/Developer.SnowLeopard
$ sudo sh $dir/Library/uninstall-devtools
$ sudo rm -r $dir/*
$ sudo mv /Developer /Developer.deleteme

then do the custom-location install and
finally restore some hotfix softlinks:
$ dir=/Users/Developer.SnowLeopard
$ sudo ln -s $dir/Platforms /Developer/Platforms
$ sudo ln -s $dir/SDKs /Developer/SDKs
$ sudo ln -s $dir/Applications/Xcode.app /Developer/Applications/Xcode.app

Not removing the cruft …

Develop with iOS 4 SDK on an OS 3.0 Device

After upgrading to iOS 4.0 SDK, iPhone OS 3.0 is no longer a valid “Base SDK”. Naively switching to iPhone 3.2 prevents deployment to a 3.0 device.

But such “Project -> Edit Project Settings” work out fine:

“Deployment Target” hint found here.

iOS 4 Simulator crash (when installed to custom folder)

just downloaded and installed the iOS 4 SDK and as my root OS X partition is rather (too) small, I put it into a custom location /Users/Developer.Snowleopard/.

This causes the iPhone Simulator to crash and compiling gives an error like:

ibtool failed with exception: Interface Builder encountered an error communicating with the iPhone Simulator. If you …

XCode: missing “deprecated” warnings

when developing for long-term use, you want to use APIs that aren’t likely to be removed soon, a.k.a. “deprecated”.

So, don’t use downward compatible calls below a point you really aim for.

XCode helps with compiler warnings about “deprecated” calls – if “Project -> Edit Project Settings -> GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS” is set:

But be careful, this complains e.g. …

underretain in CoreAnimation / iPhone Simulator

After upgrading to Snow Leopard and XCode 3.2.1 I’ve seen such console output
CAUnderRetain(32139,0xa0391500) malloc: *** error for object 0×3838000: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
when rotating the iPhone Simulator in a project with base SDK 3.0.

This can be reproduced as follows:

Create a fresh iPhone project (I use …

Upgrade to Snow Leopard

Mac OS X 10.6 Snow Leopard (partition 25G, HFS+ Journaled, Upper/Lower)
Mac OS X 10.5 Leopard (partition 25G, HFS+ Journaled, Upper/Lower)
partition userspace 100G, HFS+ Journaled, Upper/Lower
$ cat /etc/fstab
# mount partition “userspace” as /Users
UUID=D016E3FD-E322-3006-A8F5-D2348C6A5B7B /Users hfs rw,auto

create user “mig”
TimeMachine restore Users + Settings
delete user “mig”
manually copy user “Shared”
iPhone SDK 3.1.2 + XCode 3.2.1
modgenerator 1.5 plus trick
$ ln -s /Developer/usr/bin/momc …

Unit Testing / iPhone

Having Eclipse & JUnit in mind I missed unit testing quite a bit while developing with XCode for iPhone.

As a first shot, I set SenTestingKit up as explained by it’s author and it works really nicely. One thing I still miss is Step’n'Trace debugging the tests.

Other intros to the topic from Apple about OCUnit …