Our DNA is written in Swift

Radar: 2 for the Watch

Unfortunately Runtastic crashes on iOS 9. So I switched to tracking my nordic walks with Apple Watch. This works fine for the most part. But I experienced two issue lately. One of those is quite funny, so I chose to publish the bug reports here as well.

Read more

Monetizing Your Apps with Subscriptions

On mDevCamp 2015 Prague I gave a talk on auto-renewable subscriptions. One month earlier, at WWDC and the time leading up to it, I had learned a great deal about this subject and so I worked my experiences into a concise talk so that you will have an easier time implementing subscriptions into your apps.

Read more

Cocoanetics is News

The third BETA seed of iOS 9 adds the News app… if you are in USA. But there’s a trick how you can get it too. And Cocoanetics is there as well.

Read more

DTRichTextEditor 1.6.10

This is the first update since the project has been open-sourced. Together with the updates in all sub-modules it now supports Cocoapods frameworks and modules.

Read more

DTCoreText 1.6.16

This is a big update for DTCoreText, maybe even deserving of a minor version bump. It aggregates fixes and enhancements contributed over more than 4 months. This kind of proves that DTCoreText is alive and getting better all the time.

Read more

DTFoundation 1.7.6

This maintenance update fixes a few bugs in the ASN.1 parser and adds support for modules.

Read more

Philosophy versus App Store Rejection

In May 2015, philosopher William Hooper, contracted me to recreate a notes app that should pay tribute to the iOS 6 style. He saw a market for such an app, because he – and many other users – didn’t like the flat style introduced in iOS 7.

I built the 1.0 version in a couple of weeks and enjoyed the challenge of skinning the UI to give it this retro style. Several thousand people downloaded the free app, and I began to believe William that a certain audience found it quite appealing.

Shortly afterwards we added additional paper styles, additional fonts and a different header bar style for users to select and released it as version 1.1. Unfortunately I had made a stupid programming mistake that would cause the notes database to be deleted from time to time. We removed the 1.1.0 version from sale while working on a fix.

When we submitted the 1.1.1 version containing the data loss hotfix version, the troubles began: Apple started to reject the app. After a month back and forth with the app review team, William published the following on his philosophy blog and asked me to share it with my readers.

Read more

DTRichTextEditor Goes Open Source

Development on DTRichTextEditor had started in 2011, several years before Apple revamped the internals of UITextView to TextKit. I based it on DTCoreText – which had been open source from the start – and added a custom magnifying glass to mimic the one provided by the system. As of today, I am making it Open Source.

Read more

Proportional Layout with Swift

Octavio asks:

I have an Autolayout challenge for you: I have a Square view which contains some images, labels, etc. We need that view to be full width on all iPhone screen sizes & resolutions.

The view is built at 320 x 320 (or @1x) and it is expected to scale proportionally for each and every other resolution and screen size. Basically, the view and all its elements should scale together, in unison, as if it was an image.

Thanks, Octavio, for a great question/challenge!

My first reaction was: “this is a problem I had solved previously!” But to make it a bit more interesting this time I am doing it with auto layout and Swift. We might learn something in the process.

Read more

Radar: ABUnknownPersionViewController

Apple is introducing a new contacts framework in iOS 9. The do so very aggressively to even replace view controllers from AddressBookUI.framework with their new implementations. Unfortunately not without problems.

Normally I am prefer to keep quiet about bugs in iOS beta versions, but this one affects apps public on the app store which are using this view controller and therefore I felt it necessary to warn my iOS developer colleagues about it. This is the crash I was alluding to on iOS Today.

rdar://21357089 – ABUnknownPersionViewController_modern overreleases CNContactViewController
rdar://21438771 – ABUnknownPersionViewController Regression

Read more