Greetings, NSHipsters!
As we prepare to increment our NSDateComponents -year
by 1
, it's time once again for NSHipster end-of-the-year Reader Submissions! Last year, we got some mind-blowing tips and tricks. With the release of iOS 7 & Mavericks, and a year's worth of new developments in the Objective-C ecosystem, there should be a ton of new stuff to write up for this year.
Submit your favorite piece of Objective-C trivia, framework arcana, hidden Xcode feature, or anything else you think is cool, and you could have it featured in the year-end blowout article. Just comment on this gist below!
Here are a few examples of the kind of things I'd like to see:
- Using
NSStringFromSelector(@selector())
as a safer way to do KVC / KVO / NSCoding. - Panic's rather surprising discovery about the internals of the Lightning Digital AV Adapter
- This brilliant write-up deriving block syntax from C declarators by @nilsou, or @lazerwalker's more to-the-point site, "Fucking Block Syntax"
Can't wait to see what y'all come up with!
I recently came up with a trick to provide more configuration options to beta testers: having multiple settings bundles for different build configurations.
To setup, create 2 settings bundles and create an extra build configuration for App Store Release.
Then add a user defined build setting
SETTINGS_BUNDLE
as follows:You will need to ensure that neither of the settings bundles are included in the Copy Bundle Resources build phase, and then add 2 extra Run Script build phases:
The Force Codesign script is necessary because modifying one of the settings bundles (and nothing else) and then recompiling will fail with a codesign error; this was the best workaround I could find at the time.