Logging in Swift

Here is my poor man version of logging for SWIFT This method besides printing your message it shows the file name, the line and the function method where the log was made. The file, function and line numbers are extracted using literal expressions. This makes it easier to find where the log message come from…

DVR

I really like DVR approach to networking testing. So much better than mocking.  

Charles Stanley Mobile App

Role: Lead Architect for the mobile projects  and Lead Developer for the iOS app. Client: Charles Stanley Links: Apple App Store The Charles Stanley Direct mobile APP is the company’s first foray into smart applications and delivers news, features and research from the country’s leading direct-to-consumer investment platform. Charles Stanley Direct is an award-winning and innovative digital…

Create an IPA using xCodeBuild

Xcode 5 brought a lot of improvements to the xCodeBuild command line tool. The most acclaimed by the developer community was that you finally can run your unit tests trough the command line using the Test build action. Beside the Test action there was another big improvement: the new -exportArchive option. This new option allows…

A better UIAppDelegate

One of the most common ugly patterns I see while reviewing iOS code is the overcrowding of the UIAppDelegate with calls for all kinds of services. It all starts with the CoreData stack setup code, then someone adds code to setup an analytics service, short followed by a Push Notification service, InApp Purchase, Crash Reporter,…

Styling your app

One of the great challenges in iOS development is how to do the styling if your app in a easy maintainable way. A lot of people start by doing it in their nib or storyboards directly, but they quickly find the limitations: no way to set custom fonts in your components, no way to refer…

YouTube Videos

Until recently to display YouTube videos in iOS or Android you need to use or an external player or some kind of Web view. The first approach made users leave your app and the second one normally was slow and buggy. Recently Google finally launched an YouTube Player API for Android. Unfortunately there isn’t a…

Link to your App

Do you ever struggle to do a proper link to your application on the Application Stores? Where do I get that brand logo? Is it the right size? What’s the link to my app? Say hello to the link makers kindly provided by Apple and Google: Apple Link Maker Google Play Badges And after you…

MOGenerator integration in XCode

MOGenerator is a command line utility that generates NSManagedObject class files based on you model files. It creates a NSManagedObject derived class for each entity of your model. The utility can be run manually every time you change your model files (.xcdatamodeld). This manual process can easily be forgotten, and ideally we want it to…