Our DNA is written in Swift

DTRichTextEditor 1.6.11

I had moved DTRichTextEditor to be Open Source because I wanted bright individuals to be able to contribute to this complex component. I had hatched the plan to ask people who are using the component commercially to set a bounty for fixed issues. This is the second release where a bounty was successfully captured.

Read more

Radar: Xcode framework for wrong platform

It took me almost an entire day to figure out that the following issue is caused by some indeterministic behavior of Xcode. As a developer, you expect to see the same results if you use the same parameters (i.e. “deterministic”), but this is a situation that sometimes succeeds, sometimes doesn’t.

In DTFoundation I have two targets that produce a DTFoundation.framework, for iOS and OS X respectively. Now the problems seems to be that since I set both to define a module “DTFoundation”, Xcode randomly gets confused during building an iOS app and sometimes might try to build the OS X framework for iOS.

This was filed as rdar://22008701 and on Open Radar. From the looks of things Rob Rix has filed bug report rdar://20490378 that appears to be describing the same issue. If you disable implicit dependency finding in the scheme, the problem also goes away.

Read more

Deal of the Day

Manning offers three books (including mine) as Deal of the Day, for July 26th. Here’s your chance to get a great deal on several great books!

Use promo code dotd072615au to get 50% off any of these books throughout July 28th.

Read more

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