Tweet Shoutouts

@iOhYesPodcast @jazzychad got myself a new handle, thanks Chad! @chewybyte aka @NolanOBrien

— @chewybyte (@chewybyte) August 30, 2014

Send us your shoutouts: @iohyespodcast

The Discussion

Extensions

What are they

Turns out..."Extensions" is not a single concept.  Multiple flavors known as extension points. App Extension lets you extend custom functionality and content beyond your app and make it available to users while they’re using other apps. App Extensions are a separate binary that runs independent of your app.

Extensions Points

Today - interact with the “Today” view of notification center Share - Post to sharing website (twitter) or share content with others Action - manipulate or view content within the context of another app Photo Editing - edit a photo with Photos app Finder (OS X only) won’t discuss Document Provider - manager files Custom Keyboard - replace custom keyboard

Apple is really stressing “Trust” as a key when creating a custom keyboard.  Your users are giving you access to everything they type including passwords and other sensitive data.

App extension must exactly match one of the types of extensions.  You can’t create a generic extension that matches more than one extension points. What can’t they do

Access a sharedApplication object Use any API marked in header files with the NS_EXTENSION_UNAVAILABLE macro Access camera or mic Perform background tasks Receive data via AirDrop

Distribution

App Extensions must be delivered via a Containing App on iOS.

Common Needs

Sharing data with containing app requires special considerations.  Need to use a share container.  Watch out for data corruption/ Deploying to older version of iOS

Need to take advantage of conditional linking Use dlopen command if systemVersion return iOS 8.0 or later

Open-Source project of the week

https://github.com/ioscreator/ioscreator

Contains tons, and I do mean tons, of code samples for doing just about everything under the sun on iOS. Great for someone looking to try something new or for those just getting started with iOS development.

Picks

Chad (@jazzychad)

Desert Golfing, $0.99

Darryl (@dh_thomas)

Let’s Write Some x86-64 - Nick Desaulniers (@LostOracle)

An easy-to-follow introduction to x86-64 assembly

Synalyze It!

Synalyze It! allows you to create a grammar for your binary files interactively (or you can download shared grammars for common file formats). Unlike in regular hex editors or viewers the files are interpreted automatically for you. Additionally Synalyze It! is a full-featured Hex Editor for Mac OS X allowing you to edit files of unlimited size and interpret the bytes with dozens of text encodings.

Jason (@jak)

OmniFocus 2 (Mac and iOS), OmniFocus + Getting Things Done helps me stay sane.

John (@johnsextro)

iOS8 Day-by-Day, from shinobicontrols - a series of blog posts covering new technologies and APIs available in iOS8

Alternative show title suggestions

Touch the User Hope for the best while expecting the worst Get the eyeballs Beigher Hole 287 Zen and the art of golfing Hone assembly skills Hex editor on speed I wanna go lower level I don’t get anything done You had ONE job Put a bird on it apps