**Learn iPhone and iPad Programming via Tutorials!** If you’re new to iOS or Swift, or to programming in general, learning how to write an app can seem incredibly overwhelming. That’s why you need a book that: * Shows you how to write an app step-by-step. * Has tons of illustrations and screenshots to make everything clear. * Is written in a fun and easygoing manner! In this book, you will learn how to make your own iPhone and iPad apps, through four engaging, epic-length tutorials. These hands-on tutorials describe in full detail how to build a new app from scratch. Four tutorials, four apps. Each new app will be a little more advanced than the one before, and together they cover everything you need to know to make your own apps. By the end of the series you’ll be experienced enough to turn your ideas into real apps that you can sell on the App Store. **Tutorial 1: Bull’s Eye**. In the first tutorial in the book, you’ll start off by building a simple but fun game to learn the basics of iPhone programming. In the process, you’ll get familiar with Xcode, UIKit and Swift in an easygoing manner. **Tutorial 2: Checklists**. In the second tutorial in the series, you’ll create your own to-do list app. In the process, you’ll learn about the fundamental design patterns that all iOS apps use and about table views, navigation controllers and delegates. Now you’re making apps for real! **Tutorial 3: MyLocations**. In the third tutorial, you’ll develop a location-aware app that lets you keep a list of spots that you find interesting. In the process, you’ll learn about Core Location, Core Data, Map Kit and much more! **Tutorial 4: StoreSearch**. Mobile apps often need to talk to web services and that’s what you’ll do in this final tutorial of the book. You’ll make a stylish app, which supports both Dark and Light appearances, for iPhone and iPad that lets you search for products on the iTunes store using HTTP requests and JSON. Book License What You Need Book Source Code & Forums About the Authors Acknowledgments Content Development Chapter 1: Introduction About this book Who this book is for iOS 15 and later only What you need Xcode What’s ahead: an overview Chapter 2: The One-Button App The Bull’s Eye game The one-button app UIKit Chapter 3: Slider & Labels Portrait vs. landscape Understanding objects, data and methods Adding the other controls Chapter 4: Outlets Improve the slider Generate the random number Adding rounds to the game Displaying the target value Chapter 5: Rounds & Score Getting the difference Simplifying the algorithm What’s the score? Showing the total score Displaying the score One more round... Chapter 6: Polish Tweaks The alert Start over Chapter 7: The New Look Landscape orientation revisited Spice up the graphics The About screen Chapter 8: The Final App Support different screen sizes Crossfade The icon Display name Run on device The end... or the beginning? Chapter 9: Table Views Table views and navigation controllers The Checklists app design Add a table view The table view delegates Chapter 10: The Data Model Model-View-Controller The data model Clean up the code Chapter 11: Navigation Controllers Navigation controller Delete rows The Add Item screen Chapter 12: Add Item Screen Static table cells Read from the text field Polish it up Chapter 13: Delegates & Protocols Add new ChecklistItems Chapter 14: Edit Items Edit items Refactor the code One more thing Chapter 15: Saving & Loading The need for data persistence The documents folder Save checklist items Load the file What next? Chapter 16: Lists The All Lists view controller The All Lists UI View the checklists Manage checklists Are you still with me? Chapter 17: Improved Data Model The new data model Fake it ‘til you make it Do saves differently Improve the data model Chapter 18: User Defaults Remember the last open list Defensive programming The first-run experience Chapter 19: UI Improvements Show counts Sort the lists Add icons Make the app look good Chapter 20: Local Notifications Try it out Set a due date Due date UI Schedule local notifications That’s a wrap! Chapter 21: Swift Review Variables, constants and types Methods and functions Making decisions Loops Objects Protocols Chapter 22: Get Location Data Get GPS coordinates Core Location Display coordinates Chapter 23: Use Location Data Handle GPS errors Improve GPS results Reverse geocoding Testing on device Chapter 24: Objects vs. Classes Classes Inheritance Overriding methods Casts Chapter 25: The Tag Location Screen The screen The new view controller Make the cells Display location info The category picker Chapter 26: Adding Polish Improve the user experience The HUD Handle the navigation Chapter 27: Saving Locations Core Data overview Using Core Data The data store Pass the context Browse the data Save the locations Handle Core Data errors Chapter 28: The Locations Tab The Locations tab Create a custom table view cell subclass Edit locations Use NSFetchedResultsController Delete locations Table view sections Chapter 29: Maps Add a map view Make your own pins Chapter 30: Image Picker Add an image picker Show the image UI improvements Save the image Edit the image Thumbnails Chapter 31: Polishing the App Convert placemarks to strings Back to black The map screen UI updates to screens Polish the main screen Make some noise The icon and launch images The end Chapter 32: Search Bar Create the project Create the UI Do fake searches UI Improvements Create the data model No results found Chapter 33: Custom Table Cells Custom table cells and nibs Change the look of the app Tag commits The debugger Chapter 34: Networking Query the iTunes web service Send an HTTP(S) request Parse JSON Work with the JSON results Sort the search results Chapter 35: Asynchronous Networking Extreme synchronous networking The activity indicator Make it asynchronous Chapter 36: URLSession Branch it Put URLSession into action Cancel operations Search different categories Download the artwork Merge the branch Chapter 37: The Detail Pop-up The new view controller Add the rest of the controls Show data in the pop-up Chapter 38: Polish the Pop-up Dynamic Type Gradients in the background Animation! Chapter 39: Landscape The landscape view controller Fix issues Add a scroll view Add result buttons Paging Download the artwork Chapter 40: Refactoring Refactor the search Improve the categories Enums with associated values Spin me right round Nothing found The Detail pop-up Chapter 41: Internationalization Add a new language Localize on-screen text InfoPlist.strings Regional settings Chapter 42: The iPad Deployment platforms The split view controller Improve the secondary pane Fix the Detail pop-up for iPhone Size classes in the storyboard Your own popover Send e-mail from the app Landscape on bigger iPhones Chapter 43: Distributing the App Join the Apple Developer program Beta testing Submit for review The end Conclusion