Introducing KeyCommands

I’m happy to announce the release of my new micro library - KeyCommands. The project is available at GitHub and uses MIT licence. The idea behind the project is extremely simple - to allow a programmer to bind actions to specified key combinations when iOS or tvOS application runs in simulator. It can make your life easier!

Read More

Discovering functionality of localizedStringWithFormat(_:_:) method

Creating localized strings using predefined format is a complicated task. There are multiple elements that must be taken into account during this process: order of arguments, directionality of text, the way variables that are substituted into the string that is being created etc. In order to make working with format strings easier, Foundation framework implements two convenient methods: init(format:arguments:) and less popular localizedStringWithFormat(_:_:).

In this post I would like to present functionality specific to localizedStringWithFormat(_:_:) method.

Read More

WWDC Videos Watching Guide 📺

From the point of view of a developer, technical sessions and labs are probably the most interesting parts of WWDC conference. While labs, for obvious reasons, are available only for attendees, sessions can be viewed by anyone on the official Apple’s website.

That being said, the amount of time needed to watch all sessions can be overwhelming. There are more than 100 sessions each year and every one of them lasts about 40 minutes. That gives us around 66 hours of content.

Read More

Exploring Hidden Constraints in the Public Interface of UITabBar

Apple as the owner of system frameworks is often considered as an example to follow when it comes to API design of iOS related libraries and applications. Knowledge of idioms and expectations established by Cocoa Touch helps iOS developers take full advantage of iOS frameworks. That’s why I decided to look deeply into the details of the implementation of UITabBar class when I encountered interesting note in its documentation.

Read More

Dealing with Localization of Plural Nouns in iOS

[Originally published on Macoscope’s blog.]

In order to fully take advantage of the fact that an application is available worldwide, one must first localize it properly. Depending on the application, the region, and a host of other factors, the process of localization itself may change and require different amounts of resources.

Apple provides iOS developers with a number of different tools and utilities that significantly reduce the burden cost of localization. Using the NSLocalizedString macro together with .strings files is (and rightly so) considered a standard nowadays, but relying solely on the two can sometimes lead to suboptimal solutions. In this post I would like to demonstrate a way to handling localized strings that have to deal with plural forms.

Read More

Working with the Keyboard on iOS

[Originally published on Macoscope’s blog.]

In order to fully take advantage of the fact that an application is available worldwide, one must first localize it properly. Depending on the application, the region, and a host of other factors, the process of localization itself may change and require different amounts of resources.

Apple provides iOS developers with a number of different tools and utilities that significantly reduce the burden cost of localization. Using the NSLocalizedString macro together with .strings files is (and rightly so) considered a standard nowadays, but relying solely on the two can sometimes lead to suboptimal solutions. In this post I would like to demonstrate a way to handling localized strings that have to deal with plural forms.

Read More