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:
B-list does these things for me now. Maybe you’ll find it useful too. Check it out.
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
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.
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.