Wed, 8 May 2013

If a developer asks for your device’s UDID for beta-testing an iOS app, here’s how you can find it using iTunes 11: http://bluecrowbar.com/udid/

Wed, 1 May 2013

These slides are from a talk I did for CocoaHeads Belgium. I talked about how I moved my “B-list” shopping list app from Core Data to UIDocument for syncing lists with iCloud. The updated app will be released soon.

Wed, 29 February 2012

I’ve created a little shopping list iPhone app for myself. It’s called B-list. The B stands for Minimalist.

These were my requirements:

  • I want to type the item names. I’ve become pretty good at typing on my iPhone now. I don’t want to select categories, aisles or departments or scroll through long lists to select the items that I need. I’ll type.
  • I want to add notes to some items. For example: I want to specify that I need 2 pieces of an item. But I don’t want to play with sliders, steppers or rotating wheels to select numbers and weights and volumes for each item. Just let me enter a few characters of text. It’s faster.
  • I want to manually sort the items. I always go to the same stores and I know where everything is. When I make the list, I sort the items in the right order so I can shop as quickly as possible. Here’s a confession: I don’t like to shop. Simply sorting the items is fine. Don’t make me sort thing into aisles or departments. I think that’s a waste of time.
  • Two more things: I want to be able to print the list via AirPrint and I want to be able to send and receive lists by email from other B-list users (wife, kids, …).

B-list does these things for me now. Maybe you’ll find it useful too. Check it out.

B-list screenshot

Fri, 14 October 2011

With the release of iOS 5, the iPhone now has the same fonts as the iPad. There are 58 font families with a total of 162 variations. Even better, all fonts are now accessible through CSS in Mobile Safari, so unlike what I had to do for my previous post, there’s no need to use images anymore for displaying all font variations on the iPhone. There’s a good overview on iosfonts.com.

Thu, 25 August 2011

With the release of Lion, Core Data now makes it very easy to store large chunks of data, e.g. large media files, in the filesystem instead of in the database. This is a quote from the “Core Data Release Notes for Mac OS X Lion”:

“Small data values like image thumbnails may be efficiently stored in a database, but large photos or other media are best handled directly by the file system. You can now specify that the value of a managed object attribute may be stored as an external record—see setAllowsExternalBinaryDataStorage:. When enabled, Core Data heuristically decides on a per-value basis if it should save the data directly in the database or store a URI to a separate file which it manages for you.”

When I read this, two questions came to mind: where are these external files stored and how large does the data have to be before Core Data decides to store it externally? This doesn’t seem to be documented anywhere and I’m sure it’s subject to change, but this is what I’ve figured out.

The files are stored in the same location as the main database file(s), but they’re in a hidden folder. For example, if the application is called MyLionApp and its persistent store is located in the ~/Library/MyLionApp folder, the external files would be stored in ~/Library/MyLionApp/.MyLionApp_SUPPORT/_EXTERNAL_DATA/.

To find out the data size that’s needed for Core Data to store objects externally, I made a small app that creates NSData objects in 100kB increments. At first it seemed that none of the objects were stored externally, even if they were 1GB large, until I figured out that the data store can’t be NSXMLStoreType for external storage to work. After setting the store type to NSSQLiteStoreType I found that the limit is 1MB. Objects that are smaller than 1MB are stored in the database. For objects that are larger, an external file is created and the database just stores a reference to it.

If you want to use this new feature in Lion, all you need to do is check the Allows External Storage in Xcode for each Binary Data attribute that you would like Core Data to store this way.

Xcode screenshot

Wed, 20 July 2011

AppControls 1.4 was released a few hours ago, just in time for Lion. This free update adds support for Lion’s Full Screen mode. It will also let you create much larger controls now. Go update it in the Mac App Store.

Wed, 11 May 2011

It’s a lot of work, but it’s becoming a yearly tradition: the pre-WWDC screen-printing of t-shirts. For the next three days, you can order a genuine, bona fide, electrified, six-car monorail Blue Crowbar t-shirt.

Thu, 10 March 2011

After installing iOS 4.3, I couldn’t find the new Personal Hotspot feature on my iPhone 4. Thanks to a tip from @Cgodefroy on Twitter, I figured out how to activate it. This will work for Proximus customers in Belgium.

Open the Settings app and navigate to General > Network > Cellular Data Network > Internet Tethering and enter internet.proximus.be in the APN field. You don’t need to provide a username or password. If you then quit and open the Settings app again, you should see the Personal Hotspot option. If you don’t, you can open the Network settings again and enable it there.

Thu, 6 January 2011

I’m very proud to announce that Blue Crowbar now has two apps in the brand new Mac App Store.
Go check them out! (they’re both in the Developer Tools category)

Tue, 14 December 2010

I’ve recently come across a few websites that give an overview of the fonts that are available on iOS devices. Daring Fireball linked to one of these sites yesterday: iosfonts.com. The problem with a lot of these overviews is that they aren’t complete. They’re based on the font variations that are available when you use Cocoa’s UIFont class. Since the release of iOS 3.2 on the iPad, iOS includes the low-level Core Text technology for handling text layout and fonts. Core Text doesn’t give you access to more fonts, but it provides support for a lot more font variations. To give an example: Helvetica Neue has 4 variations when you use UIFont whereas it has 11 variations when using Core Text.

This is an overview of all user fonts that are available on iPhone and iPad in iOS 4.2. To make them display exactly like you’ll see them on iOS (and to be able to see them in Mobile Safari), they’re created on an iPad and rendered as images. I already know I’m going to regret the extra bandwidth.

Update: I’ve removed the images since they’re no longer relevant for recent iOS versions. You should check iosfonts.com for an up-to-date overview of the fonts on iOS.

Blue Crowbar — Apps for iOS and OS X