Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Downloadable code examples for my books, "Programming iOS 7" and "iOS 7 Programming Fundamentals".

branch: master
Octocat-spinner-32 bk1ch01p011pointers retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch01p018forloop retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch01p023function retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch01p027files retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch01p032static retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch01p032static2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch03p049nilTesting retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch03p060rockTheCasbah retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch03p068functionPointer retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch03p070blocks retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch04p077yourFirstClass retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch05p091polymorphism retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch05p093self retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch05p095dogs retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch05p100numberedDog extremely minor cleanup
Octocat-spinner-32 bk1ch05p103numberedDogWithProperties extremely minor cleanup
Octocat-spinner-32 bk1ch05p106numberedDogWithInitializer extremely minor cleanup
Octocat-spinner-32 bk1ch07p162emptyWindowNoMore extremely minor cleanup
Octocat-spinner-32 bk1ch07p174outlet retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch07p181action retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch07p184awakeFromNib retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch09p225unitTesting retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch09p246localization retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch10p266subclassUIView retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch10p269category retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch10p274protocols retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch10p277optionalMethods retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch10p290foundationClasses retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch11p312actions retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch12p328keyPaths retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch12p346namedDog retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch12p347retainCycle retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch12p348assignWeakRef retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch12p350NotificationLeaker demonstrate ways to mention self implicitly in a block
Octocat-spinner-32 bk1ch12p352timerLeaker remove misleading comment from case WHICH 1
Octocat-spinner-32 bk1ch12p365redeclaredProperty retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch12p367namedDogWithProperties retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch12p368overrideSynthesizedAccessors retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch12p370dynamic retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch13p380kvo retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch13p381kvo2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk1ch13p382kvoOnMutableArray retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch01p006customWindowInStoryboardApp retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch01p012frame retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch01p013bounds retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch01p017transform retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch01p024autoresizing retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch01p031constraints retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch01p038constraintsInequalitiesAndPriorities more unbelievable minor cleanup
Octocat-spinner-32 bk2ch01p045constraintsOrderOfEvents more unbelievable minor cleanup
Octocat-spinner-32 bk2ch01p046transformsAndConstraints more unbelievable minor cleanup
Octocat-spinner-32 bk2ch01p046transformsAndConstraints2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch02p052mars retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch02p053marsResizable retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch02p056marsSlicing retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch02p057imageRendering retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch02p059sixBlueCircles retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch02p061imageDrawing retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch02p070filters retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch02p070filters2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch02p077drawingInUIView retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch02p086drawingInUIView2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch02p088clearRect retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch03p095layerHierarchy retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch03p101drawingIntoLayer retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch03p108compass fix leaks (missing CGPathRelease)
Octocat-spinner-32 bk2ch03p112layerDepth fix leaks (missing CGPathRelease)
Octocat-spinner-32 bk2ch03p113transformLayer1 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch03p114transformLayer2 fix leaks (missing CGPathRelease)
Octocat-spinner-32 bk2ch03p116maskUtility retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p125imageViewAnimation retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p133cancelAnimation retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p134springing retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p135keyFrameViewAnimation retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p137transition retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p138transition2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p148layerAnimation more unbelievable minor cleanup
Octocat-spinner-32 bk2ch04p149keyframeSprite retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p151customAnimatableProperty retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p153groupedAnimation fix leaks (missing CGPathRelease)
Octocat-spinner-32 bk2ch04p157layerTransition retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p164actions retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p166emitThis retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p172CIFilterAnimation retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p175dynamics retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p177dynamics2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p183animationAndAutolayout retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch04p183animationAndAutolayout2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch05p194touches fix integer cast error
Octocat-spinner-32 bk2ch05p203gestureRecognizers retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch05p204dragByAttachment more unbelievable minor cleanup
Octocat-spinner-32 bk2ch05p206gestureRecognizerDelegate retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch05p207gestureRecognizersNib retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch05p210hitTesting more unbelievable minor cleanup
Octocat-spinner-32 bk2ch05p211compassTappable fix leaks (missing CGPathRelease)
Octocat-spinner-32 bk2ch05p212hitTestingDistortedLayer retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch05p213hitTestingDuringAnimation retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch05p216exclusiveTouch retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch05p217dependency retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p236manualViewController even more minor cleanup
Octocat-spinner-32 bk2ch06p239nibViewController retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p242nibInstantiatedViewController retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p253orientationsPermitted retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p253orientationsPermitted2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p253orientationsPermitted3 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p253orientationsPermitted4 more 64-bit fixes for incorrect downcasting
Octocat-spinner-32 bk2ch06p255rotationChangesInterface more 64-bit fixes for incorrect downcasting
Octocat-spinner-32 bk2ch06p259launchIntoRotation retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p264presentedViewController retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p268presentedViewControllerAnimation retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p270modalPresentationContext retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p272forcedRotation retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p273rotationCausesPresentation retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p275tabbedInterface even more minor cleanup
Octocat-spinner-32 bk2ch06p281navigationInterface retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p292customAnimation1 more 64-bit fixes for incorrect downcasting
Octocat-spinner-32 bk2ch06p296customAnimation2 more 64-bit fixes for incorrect downcasting
Octocat-spinner-32 bk2ch06p300customAnimation3 more 64-bit fixes for incorrect downcasting
Octocat-spinner-32 bk2ch06p301customAnimation4 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p302customPresentedAnimation retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p304customPresentedAnimation2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p311pageController more 64-bit fixes for incorrect downcasting
Octocat-spinner-32 bk2ch06p313pageControllerBug more 64-bit fixes for incorrect downcasting
Octocat-spinner-32 bk2ch06p316containerController retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p319containerControllerConstraints retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p320containerControllerCustomAnimation retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p324containerViewControllerStoryboard even more minor cleanup
Octocat-spinner-32 bk2ch06p327unwind retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p327unwind2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p332eventIncoherencies even more minor cleanup
Octocat-spinner-32 bk2ch06p334containerEventForwarding retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p336memoryWarning retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p341SimplestRestorationExample retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p347SimplestRestorationExample2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch06p351pageControllerRestoration more 64-bit fixes for incorrect downcasting
Octocat-spinner-32 bk2ch06p352pageControllerRestoration2 more 64-bit fixes for incorrect downcasting
Octocat-spinner-32 bk2ch06p353pageControllerRestoration3 more 64-bit fixes for incorrect downcasting
Octocat-spinner-32 bk2ch06p356saveAndRestoreArbitraryObject even more minor cleanup
Octocat-spinner-32 bk2ch07p360scrollViewInCode retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch07p362scrollViewInCode2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch07p363scrollViewInCode3 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch07p366scrollViewInNib retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch07p367scrollViewInNibAutolayout remove code erroneously left over from copying previous project (scro…
Octocat-spinner-32 bk2ch07p367scrollViewInNibAutolayout2 remove code erroneously left over from copying previous project (scro…
Octocat-spinner-32 bk2ch07p370contentInset retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch07p370contentInset2 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch07p370contentInset3 retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch07p372paging retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch07p374scrollWithTiling retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch07p375zoom still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch07p376zoomCentered still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch07p378zoomDetailed still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch07p378zoomDetailed2 still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch07p383dragInScrollView still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch07p384dragInScrollView2 still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p398cellBackgroundLayering still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p402overrideCellLayout still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p403addCellSubviewsInCode still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p405addCellSubviewsInNib still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p406addCellSubviewsNibOutlets still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p407addCellSubviewsInStoryboard still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p411individualCells still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p416sections still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p424variableHeights still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p431pickACell still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p438searchableTable still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p439searchableTable2 still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p445deleteTableRows still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p447editInsertAndRearrangeRows still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p451dynamicTableContent still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p453tableCellMenus still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p454tableCellMenus2 still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p460collectionViewCellBackgroundLayering still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p462collectionViewFlowLayout still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p466collectionViewFlowLayout2 still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch08p467collectionViewLayoutFromScratch still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch09p476popovers still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch09p481popoverInStoryboard still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch09p487automaticSearchPopover still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch09p492presentedViewBug retitled all the folders to match the actual chapter and page numbers…
Octocat-spinner-32 bk2ch10p495dynamicType use font descriptor when resetting dynamic type font, cleaner
Octocat-spinner-32 bk2ch10p497downloadableFonts still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p498fontDescriptor demonstrate bug with fontDescriptorWithSymbolicTraits
Octocat-spinner-32 bk2ch10p499fontDescriptor2 still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p503attributedString still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p507tabStops still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p509attributedStringDrawing still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p510attributedStringDrawing2 still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p512labelBreaking still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p513selfSizingLabel still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p513selfSizingLabel2 still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p514labelFontSizeScaling still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p520textFieldSliding still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p522textFieldScrollView still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p524keyboardAccessory still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p526textFieldDelegate still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p531selfSizingTextView still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p532textViewAndKeyboard still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p536exclusionPath still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p537exclusionPath2 still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p539textKitStacks still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p541textLayoutGeometry still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch10p543drawingWithTextKit still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch11p551webview still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch12p564timeConsumingNavigation still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch12p566customThermometer tweaked comments on iOS bugs fixed and unfixed
Octocat-spinner-32 bk2ch12p568pickerView still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch12p573searchBarFromHell still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch12p580stepper still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch12p585slider still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch12p589segmentedControl still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch12p595button still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch12p597knob still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch12p602toolbarShadowBug tweaked comments on iOS bugs fixed and unfixed
Octocat-spinner-32 bk2ch12p606navigationBar still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch12p609tabBar still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch12p611tabBarMore still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch13p620dialogsOniPhone still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch13p624actionSheetPopovers still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch13p630localNotification still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch13p635activityView still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch14p640systemSound still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch14p643ducking still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch14p653backgroundPlayerAndInterrupter still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch14p656textToSpeech still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch15p659moviePlayer still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch15p669playerLayer illustrate proper use of CMTime subtraction
Octocat-spinner-32 bk2ch16p678mediaQuery still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch16p687AVQueuePlayer still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch16p690mediaPicker still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch17p697pickaMovieOrPhoto still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch17p699assetsLibrary still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch17p702takeAPicture still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch17p704takeAPicture2 still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch17p707takeAPicAVFoundation still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch18p713addressBook still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch19p725calendar still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch19p731reminders still trying to be 64-bit compatible throughout
Octocat-spinner-32 bk2ch20p740social finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch21p744maps finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch21p761userLocationAndGeocoding finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch22p773location finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch22p775heading finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch22p780shake finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch22p782lyingDown finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch22p784smackMe finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch22p787gyro finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch22p789attitudeRotation finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch23p798basicFileOperations finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch23p802fileHandoff finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch23p809peopleGroups finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch23p818xml finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch23p821SQLite finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch23p824peopleGroupsCoreData finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch23p829imageIO finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch24p834simpleHTTP finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch24p837lessSimpleHTTP finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch24p842downloader finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch24p846backgroundDownload finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch24p853bonjour finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch25p860mandelbrotNoThreading finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch25p862mandelbrotManualThreading finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch25p865mandelbrotOperation finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch25p868mandelbrotGCD finished pass for 64-bit compatibility
Octocat-spinner-32 bk2ch26p878undoableDrag finished pass for 64-bit compatibility
Octocat-spinner-32 ch37p1089lessSimpleHTTP2 add data task example
Octocat-spinner-32 iOS4bookExamples revised readme files
Octocat-spinner-32 iOS5bookExamples preserve iOS 5 book material in folder
Octocat-spinner-32 iOS6bookExamples moved iOS 6 book examples into a subfolder
Octocat-spinner-32 README.md retitled all the folders to match the actual chapter and page numbers…
README.md

These are the complete downloadable code examples for my books, iOS 7 Programming Fundamentals (http://shop.oreilly.com/product/0636920032465.do) and Programming iOS 7 (http://shop.oreilly.com/product/0636920031017.do).

Together, these two books constitute the 4th edition of my previous books, Programming iOS 4, Programming iOS 5, and Programming iOS 6. The book was getting awfully big (over 1150 pages in the 3rd edition, and growing); so for the 4th edition we have broken it into two volumes, something that I have always wanted to do anyway. I hope readers will find that this makes the book more tractable (both figuratively and literally).

The obvious place to split the volumes was after Chapter 13 (end of Part III). Thus, the structure of the two new books is exactly the same as the structure of the previous editions, but divided in two groups: iOS 7 Programming Fundamentals contains old chapters 1–13, and Programming iOS 7 contains old chapters 14–40.

Of course, in the second book, the chapter numbering now starts over at 1 (old Chapter 14 becomes new Chapter 1, and so on). Similarly, the second book starts on its own page 1. So the chapter and page numbering of the folders containing the examples has to reflect this. To keep the examples sorted in the right order, I've retitled the folders such that the examples from iOS 7 Programming Fundamentals start with bk1, and the examples from Programming iOS 7 start with bk2.

If you find these examples helpful and you haven't purchased the books, please consider doing so.

The downloadable code and screenshots for the previous editions — Programming iOS 6, published by O'Reilly in March 2013; Programming iOS 5, published by O'Reilly in March 2012; and Programming iOS 4, published by O'Reilly in May 2011 — have been moved off to subfolders "iOS6bookExamples", "iOS5bookExamples", and "iOS4bookExamples".

Matt Neuburg

Something went wrong with that request. Please try again.