Ad

Our DNA is written in Swift
Jump

Author Archives rss

Calculating Area Covered by Keyboard

If you show something that contains scrollable content, i.e. UITableView, UIScrollView etc. then you want to make an adjustment when the keyboard shows so that the user can still scroll to the entire content. He wouldn’t be able to do so if you didn’t do anything.

I’ve seen several approaches to this so far, but they often hard code a certain position of the view or sizes. Like assuming that the covered view always reaches towards the bottom of the screen or always has a certain amount of space taken away from it by the status bar, navigation bar and possibly toolbar.

The whole thing gets even more complicated by the fact the the coordinate system of the app’s window is always in portrait even though your app rotates. So is the frame of the keyboard which you can get from an info dictionary in several notifications. I’ll show you the most universally working method I was able to come up with.

Read more

NovelRank App Shows Off DTChartView

Similar to us developers who keep scouring  sales rank information on sites like Applyzer there is a service for book authors. It goes by the name NovelRank and it lets authors track their book sales on Amazon.com.

Dave Wooldrige from Electric Butterfly (also a renowned book author in the iOS sphere) took it upon himself to create a beautiful iPhone client for the NovelRank service and released this just today, for FREE.

I’m specifically mentioning this here on my blog because Dave implemented my DTChartView component to get interactive scrollable charts for the ranking data.

Read more

Moving to Lion

One of the perks of paying for both the iOS as well as the Mac development program is that you get early access to the latest OSX beta versions. (Apple abhores the term “BETA” and thus calls everything “Developer Preview” lately)

I’ve been running my MacBook Air on most of the preview builds of OSX 10.7 “Lion” and so I was exited to move to the Gold Master version as well. My SSD was partitioned in two halves, one for 10.6 “to be safe if I need it” and one for 10.7. Now with Lion being final and working well I wanted to reclaim the entire SSD for the new and shiny cat.

But something went horribly wrong. Let me tell you about that and raise your awareness for a couple of precautions.

Read more

DTLoupe – Reverse-engineering Apple’s Loupes

I am working on a CoreText-based rich text editor at the moment. That means employing two primary technologies: the UITextInput protocol as well as rendering the formatted text with CoreText. Unfortunately Apple has forgotten to add selection and loupe mechanics to UITextInput, so we have to build these ourselves if we want to get the same look&feel as the built-in stuff.

So to get the selection handling and loupe we see developers go two paths: either they distort UIWebView with fancy JavaScript or they struggle with implementing their own code. These approaches lead to a wide variety of differently looking and behaving loupes and selection mechanics. I have contacted Apple by all means available to me and I’m hoping that there will be an official method to get the selection mechanics and loupe down the road.

But until there is, I let me present an interim solution for this problem. This will be a component I call DTLoupe and it have many potential applications besides being used in an editor to select text. Like providing a magnifier in a context when pinch-to-zoom does not make sense.

Read more

Releasing release

One of the new developer APIs presented at WWDC was something called Automatic Reference Counting. This term also was on this slide visible during the Keynote, so it’s no longer a secret.

ARC might just be the single piece of technology which excited WWDC attendees the most. We cannot discuss the details of what was presented during the conference, but there is already quite a bit of public information available. Enough to get every iOS developer excited.

Read more

Gamification of Bug Reporting

I’ve been recently submitting a great deal of bug reports for iOS and OSX. I asked myself: “why does submitting these reports have to be so tedious?”

So I submitted the following as feature request for Apple’s bug reporter as Radar #9622340.

Problem: currently submitting bugs is a tedious process, browser based, non-social and you rarely feel that a bug report or feature request has made any difference.

Solution: A suggestion with the goal to make submitting bugs and feature requests more fun. More fun = better quality and more buy in from developers and users.

Read more

How to Simulate Cellular Connections on Your Mac

If you are making your application real-life-proof you will also have to deal with diminished or dropped connectivity. I already discussed how to detect the kind of connectivity your app is having at present.

But another real-life restriction stems from slower bandwidths available over cellular connections, especially if you have no 3G reception. Even Long of Scribd showed me this trick I am about to explain here. This enables you to artificially create a bottleneck on your connection so that you can test how the app behaves when only cellular bandwidth is available.

This helps you to see if your custom progress bar is showing nicely or possibly if your progressive image is indeed progressive. Also this might reveal synchronous URL loading operations that you should never ever do in production apps.

Read more

WWDC Plague

There’s an addendum to my previous WWDC Wrap Up article that might come to you as a surprise, being a first-time attendant. Sudden debilitating sickness…

If you search twitter for “WWDC Plague”, you find a great number of people who have apparently caught it. Here’s a summary of the symptoms to help you diagnose it as well as some tips to avoid it next year.

Read more

Is it safe to install iOS 5 on your everyday iPhone?

On the heels of the iOS 5 announcement I started getting a multitude of e-mails asking more or less the same thing:

I have only my everyday iPhone for developing, so usually I am careful with updating. Do you think that iOS 5 is sufficiently developed and error free to install it on your main phone?

Sorry, but actually my first reaction to this question is to laugh out loud. But – once I have regained my composure – let me give you a serious answer to this question which is probably really not meant as a joke.

Read more

WWDC 2011 Wrap-Up

The 2011 Apple’s Worldwide Developers Conferences has come to a conclusion, with the final day passing by in light speed. My eyes are burning from being tired, my legs hurt from sitting and standing in line and my brain has turned into a mushy substance. Yet I feel like I have to sum up a couple of things I learned just so that I might anchor this experience just a little bit more  deeply in my memory.

Hey you, Apple PR guy, don’t you worry about me revealing any details, this post is mostly about the emotional side of attending one of the most useful and exhilerating … pardon THE most useful and exhilarating experience that’s available to a Mac/iOS developer. This being my first such conference I think I have found a couple of strategies that might severs as a reference in future years.

Read more