Our DNA is written in Swift

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

Core Image Barcode Erratum

Barcodes with iOSSince iOS 7, Core Image contains several generators for 2D barcodes. While I was writing my book Barcodes and iOS, only the CIQRCodeGenerator was documented. Apple’s standard policy is that classes which are not documented are to be considered off limites. Seeking clarification, I emailed an Apple evangelist and he confirmed that this is still the case.

So I mentioned the three other – undocumented – Core Image filters in the chapter about barcode generation, but cautioned the reader about their usage in app store apps: CIAztecCodeGenerator, CIPDF417BarcodeGenerator and CICode128BarcodeGenerator. At WWDC 2015, I learned that my assumption as well as the evangelist’s confirmation were incorrect.

Read more