Apple has released new developer APIs that will allow mobile advertising conversion tracking while protecting individual user privacy. The new APIs are part of the StoreKit framework and include a new class called SKAdNetwork. Advertising networks will be able to serve advertisements which contain data that associates the advertisement with a particular advertising campaign. If... Continue Reading →
Jump to Definition Shortcut in Xcode 9
The most frustrating change I've found between Xcode 8 and the Xcode 9 betas was the default remapping of the ⌘-click shortcut to open the Code Structure menu instead of the Jump to Definition command. Thankfully, there is a way to change it back. Go to Xcode → Preferences → Navigation → Command-click on Code, and select Jumps to Definition.... Continue Reading →
Slowing It Down and Speeding It Up
I recently learned that it's possible adjust the speed property of CALayer objects to slow down (or speed up) the animations on that layer and all its sublayers. Applying it to an app's window will slow down every animation. // Slows down all animations to 10% of regular speed! [[[UIApplication sharedApplication] windows] firstObject].layer.speed = 0.1; It's also... Continue Reading →
Unboxing JSON with Unbox
John Sundell has put together a really handy Swift library called Unbox. It provides a straightforward interface for marshalling JSON data into Swift data models and it supports all the standard JSON types out of the box. I like it better than the approach taken in ObjectMapper because Unbox supports immutable (let) properties whereas ObjectMapper currently... Continue Reading →