Archives / Search ›

Xcode bugs and extreme frustration

And now, the reason it took me until ten minutes ago to release ICeCoffEE 1.4.1: Xcode. The installer building process that worked so nicely and seamlessly in Project Builder 2.x just completely failed once I upgraded to native targets. Xcode simply didn’t want to support taking an application skeleton (Unsanity Installer) and adding files to it.

If I used an application target, Xcode complained the target couldn’t depend on itself, and if I tried copying the Contents folder rather than the entire installer bundle, the Contents/MacOS folder would mysteriously disappear. If I used an aggregate target, Xcode complained the target couldn’t depend on the other products that I inserted into the target (!?); it refused to recognize any structure for the aggregate, so I had to hard-code paths all over the place, replace copy files operations with fragile shell script steps, and so forth. Finally, despite my specifying it every way from Sunday, Xcode didn’t think the aggregate target actually produced anything, so when I went to install it with xcodebuild install DSTROOT=foo the folder foo never got created and nothing was copied into it, so I had to rewrite the packaging script to manually compensate.

Mix this with other annoyances like not being able to edit a shell script build phase without getting at least one exception dialog, not being able to drag build phases between targets, the inspector’s constant selection of the “Comments” tab rather than something useful like the first tab whenever I click on anything, and the breakage, bugginess and inconsistent documentation of xcodebuild and various build settings…

and I’ve spent six hours today trying to release ICeCoffEE. Note that today is a Monday: that’s time I should have been spending on my research.

I really hope Xcode 2.0 is less buggy than 1.5. Eleven days left.

Unrelated but generally stress-inducing: My PowerBook came back today after 30 days at the Computer Loft—with a fixed display, but two screws missing from the bottom and a keyboard that doesn’t fit unless forced. What a perfect Monday.

ICeCoffEE 1.4 and Safari 1.3/Mac OS X 10.3.9 conflict

ICeCoffEE 1.4 has a conflict with Safari 1.3 as included in Mac OS X 10.3.9: you need to command-double-click instead of command-clicking on links to open them in new tabs/windows. From what I hear, this is an improvement over earlier versions of Safari 1.3 in which you got a dialog box—my apologies to the Safari team if they had to work around my use of an undocumented feature. ICeCoffEE’s intended behavior in Safari (command-clicking in selected text) no longer functions.

I’ll be releasing ICeCoffEE 1.4.1 later today on Monday to fix the command-double-clicking problem at least, but for the moment, you can either command-double-click or add Safari to the Exclude List for ICeCoffEE in the APE Manager System Preferences pane.

Sorry for the temporary inconvenience. I don’t have seed access any more, so I didn’t have a way of testing this with Safari 1.3 before it was released. If you observe any other incompatibilities, first make sure you’re using Application Enhancer 1.4.6 (download), then email me or post a comment. Thanks.

launch 1.0.1

launch 1.0.1 is out. Changes consist of some significant bug fixes, and a few small feature additions, most made yesterday.

  • prefer files to URLs when ambiguous; added -U option for old behavior
  • don’t display extraneous leading ‘./’ on file paths
  • display ‘zero items’, not ‘0 items’, for consistency
  • display versions of non-applications
  • read Info.plists embedded in unbundled Mach-O applications
  • non-ASCII arguments are now handled with the filesystem, rather
    than the system encoding (thanks, Derrick Bass)

  • explicitly use UTF-8 everywhere else to properly interpret and
    display non-ASCII filenames and URLs

  • reading OSTypes and ‘vers’ resources, and opening URLs with
    Internet Config still uses the system encoding, converting as
    necessary for display

  • should be buildable on 10.2 again

I’m going to try to spend at least a few hours each Sunday working on my free software projects; even a little bit of time will help.

Life, please stop…

…I wish it would, for a second, so I could catch up. I don’t understand how people with busy schedules ever have any time to blog. The last week was a bit of a blur—skiing and computer fixing and reorganization in New Hampshire and Boston, visiting family, my PowerBook display dying again (dropped off at the Computer Loft last Tuesday, haven’t heard back yet), staying with friends in Virginia (who were incredibly nice and hospitable in putting me up for five days), going to PyCon and meeting lots of people for the first time (though not taking the best advantage of the opportunities I had), wandering around DC, eating a lot of good food (the pie at PyCon was excellent, and we went out to a series of great restaurants for dinner; Yijia and I cooked dinner one night, too, which was quite tasty), seeing the first movie I’ve seen in a theater in months (Hotel Rwanda, a bit depressing but well done), watching the end of the Illinois-Arizona game last night (not that I normally watch basketball or TV in general, but that was incredible), and celebrating my birthday (thanks Brent!). I just got home a few hours ago, barely missing Steve, who flew out to California to interview. My checked bag (containing clothing and some miscellaneous stuff like my camera’s AC adapter) made it to Chicago but not to Bloomington.

I had a bit of a sore throat on the IAD–ORD flight, and have had a runny nose for a few days; hope it’s just allergies and I’m not getting sick again. At the architecture seminar, on Friday, my advisor is reprising his CGO presentation and I’m presenting our recent work; got a lot of work to do to prepare. It’s supposed to be warmer this week, and assuming I’m not sick tomorrow, I’ll start back at Kuk Sool although my left knee isn’t entirely recovered. Getting back on my bike is probably out, though.

For the moment, the preceding few run-on sentences will have to do; I have so much I would love to write about (and code on, and experiment with), but I’m tired and have given up hope that United will be delivering my bag tonight. Good night.

1001Screenshot

Last week I expressed my wish it were easier to post screenshots in Flickr with 1001. Today, I saw Bill Bumgarner’s pdf2png script which did a big chunk of what I needed, and did something about finishing the rest.

Download 1001Screenshot 1.0 (sorry, no fancy icon). Open the application; you’re now in the window-selection mode as if you hit command-shift-4, space. Click a window, or hit the space bar and drag over a region. In a few seconds, you should see a “Screenshot 1” PNG file on your desktop and 1001 will open with the image added to the upload window.

Needless to say, I’ll be posting more screenshots in the future now it’s so easy to do so.

The script’s a bit ugly; more of it could have been written in Python if I had wrapped some bits of Carbon/CF that weren’t wrapped (FNNotify and LSOpenFrom*Spec); instead, I just use osascript to talk to the Finder and an embedded copy of launch to open 1001. Thanks as usual to py2app for making packaging Python apps trivial on the Mac; no thanks to the appscript installer for breaking permissions everywhere it touched.

Update: Sorry for the broken link. Fixed. I’m usually better at verify such things, but there was a really bizarre SSH forwarding issue I ran into that made this post quite a nightmare…

‹ Newer Posts  •  Older Posts ›