HwanJoonChoi.com

HwanJoonChoi.com

Feb 8 / 9:14am

iPad beta SDK cannot compile iPhone apps for distribution

Learned this the hard way... if you upgrade your Xcode to the iPad beta (iphone_sdk_3.2_beta_with_xcode_3.2.2.dmg), you cannot compile iPhone projects in distribution mode, even if you set the target device to 3.0/3.1.  I'm not 100% certain what build configuration flag is causing this to fail, but it compiles just fine in my other configurations.  I just downgraded my Xcode to the latest non iPad version (iphone_sdk_3.1.3_with_xcode_3.2.1__snow_leopard__10m2003a) to confirm this. And to think I blamed this on OSX migration (which caused other equally brain-melting experiences, but I digress)...
Filed under  //  ipad   iphone   wtf   xcode  

Comments (0)

Feb 8 / 2:34am

Die Xcode Die

I swear Xcode has wasted tens of hours of my productivity... I will probably need to allocate 5 hours or so tomorrow night to reinstall OSX on this computer.  I hate you Apple user migration tools.  Fool me once, shame on you, fool me three times, fuck you.
Filed under  //  dev   iphone   rant   wtf   xcode  

Comments (0)

Sep 21 / 4:02am

Starting an iPhone app with status bar hidden with SDK 3.0

Summary: if you started an iPhone project before SDK 3.0 came out and all of a sudden you’re (wrongly) seeing a status bar at launch, convert your App-Info.plist to an XML format.

It was supposed to be easy, in the application info plist you need to enable this key

UIStatusBarHidden

But for some reason this was not working for me.  I was pretty sure this was working at some point before, but git bisect wasn’t helping me out.  Naturally, I googled around for several hours with no luck, but every time I start a new app, setting UIStatusBarHidden just worked correctly.

It got to a point where I was going to rewrite the whole app (if I had done that from the start, it probably would have taken less time), but then I noticed something - my (bad) Curling-Info.plist file was a pseudo-array like this:

{

UIStatusBarHidden = YES;

}

Whereas in the new (good) plist, it was in an XML format:

<?xml version=”1.0” encoding=”UTF-8”?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0”>
<dict>

<key>UIStatusBarHidden</key>
<true/>

</dict>
</plist>

I even tried playing around between “true” and “yes” and the only conclusion I can come up with right now is, the XML version just works where the curly brackets fail.

I’m 99% certain that the old way (non-XML) worked with pre-3.0 SDK - it must be some backward-compatibility error Apple introduced with the new SDK.  The XML file is (I’m guessing) new in 3.0, and in the process, some of the properties using the curly brackets stopped working.

Filed under  //  dev   iphone  

Comments (0)