Sash Zats

Advanced NSProxy

Imagine your Dog class has a following method:

- (void)greetIfAwake {
  if ([self isAwake]) {
    [self bark];
    [self jump];

Now imagine a mischievous Cat (a subclass of NSProxy obviously) wishing to get in a way…

Signing ipa for different team ids

As soon as you leave the cozy Xcode's build process, you find yourself fiddling with codesign dealing with, well, code signing. There are many tools that suppose to ease up the process: ota-tools, shenzhen and gists to name a few. However, once in a while you find yourself in need of more flexible solution.

"Nicer" crash messages when IBOutlets are not found

[<ZTSViewController 0x8c46c60> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key textField.

We've probably seen similar exceptions when Interface Builder was involved in the process of app design. StackOverflow is full of question "what am I doing wrong?".

NSArray's privates

Several private methods from NSArray API, complexity analysis, and how to implement it yourself.

I remember reading how at Apple, API goes through several stages of internal usage before it gets published to 3rd party developers like us. It helps to test it properly, and helps to make sure that the names are well chosen (!). Here is a rundown of some methods that didn't make it in the NSArray's public API (and probably won't).

Moarfonts after upgrading Xcode

We are using moarfonts for WSYIWYG-style preview in Interface Builder. And if you'r not doing it yet, you really should. However, after upgrading to Xcode 5.1.1 some of the team members started seeing a strange error while building the project.

Failed to install XXX: The file “XXX.ttf” couldn’t be opened because there is no such file.