Foreword
IhavebeenworkingwiththeiPhoneSDK(nowiOSSDK)sincethefirstbetareleasedin2008.Atthe
time,IwasfocusedonwritingdesktopappsfortheMacandhadn’tthoughtmuchaboutmobileapp
development.
Ifyouchosetobeanearlyadopter,youwereonyourown.IntypicalApplefashion,the
documentationwassparse,andsinceaccesstotheSDKrequiredanNDA—and,apparently,asecret
decoderring—youwereonyourown.Youcouldn’tsearchGoogleorturntoStackOverflowfor
help,andtheresureashellweren’tanybooksoutyetontheSDK.
Inthesevenyears(yes,itreallyhasbeenonlysevenyears)sinceAppleunleashedtheoriginaliPhone
ontheworld,we’vecomealongway.TheiPhoneSDKisnowtheiOSSDK.Therearedozensof
booksandblogsandpodcastsandconferencesoniOSdevelopment.Andeversince2009,WWDC
hasbeenpracticallyimpossibletogetinto,makingitevenharderfordevelopers—oldandnew—to
learnaboutthelatestfeaturescomingtotheplatform.ForiOSdevelopers,thereissomuchmoreto
learn.
OneofthebiggestchallengesIhaveasaniOSdeveloperiskeepingontopofallthecomponentsand
frameworksavailableinthekit.TheiOSHIGshouldhelpuswiththat,butitdoesn’tgofarenough—
deepenough.Sure,nowIcanfindsomeanswersbysearchingGoogleorcombingthrough
StackOverflow;but,moreoftenthannot,thoseanswersonlyexplainthehowandrarelythewhy,and
theyneverprovidethedetailsyoureallyneed.
AndthisiswhatKyleandJoehavedonewiththisbook—they’reprovidingthedetailneededsoyou
canfullyunderstandthekeyframeworksthatmakeuptheiOSSDK.
I’vehadthepleasureofknowingKyleandJoeforanumberofyears.Theyaretwoofthebrightest
developersIhaveevermet.Theyhaveeachwrittensomeamazingappsovertheyears,andthey
continuouslycontributetotheiOSdevelopmentcommunitybysharingtheirknowledge—speakingat
conferencesandwritingotherbooksoniOSdevelopment.Ifyouhaveaquestionabouthowtodo
somethinginiOS,chancesaregoodthatKyleandJoehavetheanswerforyou.
ButwhatmakestheseguyssoawesomeisnotjusttheirencyclopedicknowledgeofiOS,buttheir
willingnesstosharewhattheyknowwitheveryonetheymeet.KyleandJoedon’thavecompetitors,
theyhavefriends.
KyleandJoe’sin-depthknowledgeoftheiOSSDKcomesthroughinthisbook.It’soneofthethings
Ilikeaboutthisbook.Itdivesintothedetailsforeachcomponentcoveredatalevelthatyouwon’t
alwaysfindwhensearchingonline.
Ialsolikethewaythebookisstructured.Thisisnotsomethingthatyou’llreadcovertocover.
Instead,you’llpickupthebookbecauseyouneedtolearnhowtoimplementacollectionvieworsort
outsomeaspectofrunningataskinabackgroundthreadthatyoucan’tquitewrangle.You’llpickup
thebookwhenyouneedit,findthesolution,implementitinyourowncode,andthentossthebook
backontheflooruntilyouneeditagain.ThisiswhatmakesMasteringiOSFrameworksanessential
resourceforanyiOSdeveloper—regardlessofyourexperiencelevel.Youmightthinkyou’rea
masterwithCoreLocationandMapKit,butIreckonyou’llfindsomethingherethatyouneverknew
before.
KyleandJoedon’tcomewithegos.Theydon’tbrag.Andtheysuredon’tactliketheyarebetterthan
anyotherdeveloperintheroom.TheyinstilltheveryspiritthathasmadetheMacandiOSdeveloper
communityoneofthefriendliest,mosthelpfulinourindustry,andthisbookisanotherexampleof