├── Chapter01.zip ├── Chapter02.zip ├── Chapter03.zip ├── Chapter04.zip ├── Chapter05.zip ├── Chapter06.zip ├── Chapter07.zip ├── Chapter08.zip ├── Chapter09.zip ├── Chapter10.zip ├── Chapter11.zip ├── Chapter12.zip ├── Chapter13.zip ├── Chapter14.zip ├── Chapter15.zip ├── Chapter16.zip ├── Chapter17.zip ├── Chapter18.zip ├── Chapter19.zip ├── Chapter20.zip ├── Chapter21.zip ├── Chapter22.zip ├── Chapter23.zip ├── Chapter24.zip ├── Chapter25.zip ├── Chapter26.zip ├── LICENSE └── README.md /Chapter01.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter01.zip -------------------------------------------------------------------------------- /Chapter02.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter02.zip -------------------------------------------------------------------------------- /Chapter03.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter03.zip -------------------------------------------------------------------------------- /Chapter04.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter04.zip -------------------------------------------------------------------------------- /Chapter05.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter05.zip -------------------------------------------------------------------------------- /Chapter06.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter06.zip -------------------------------------------------------------------------------- /Chapter07.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter07.zip -------------------------------------------------------------------------------- /Chapter08.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter08.zip -------------------------------------------------------------------------------- /Chapter09.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter09.zip -------------------------------------------------------------------------------- /Chapter10.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter10.zip -------------------------------------------------------------------------------- /Chapter11.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter11.zip -------------------------------------------------------------------------------- /Chapter12.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter12.zip -------------------------------------------------------------------------------- /Chapter13.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter13.zip -------------------------------------------------------------------------------- /Chapter14.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter14.zip -------------------------------------------------------------------------------- /Chapter15.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter15.zip -------------------------------------------------------------------------------- /Chapter16.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter16.zip -------------------------------------------------------------------------------- /Chapter17.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter17.zip -------------------------------------------------------------------------------- /Chapter18.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter18.zip -------------------------------------------------------------------------------- /Chapter19.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter19.zip -------------------------------------------------------------------------------- /Chapter20.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter20.zip -------------------------------------------------------------------------------- /Chapter21.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter21.zip -------------------------------------------------------------------------------- /Chapter22.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter22.zip -------------------------------------------------------------------------------- /Chapter23.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter23.zip -------------------------------------------------------------------------------- /Chapter24.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter24.zip -------------------------------------------------------------------------------- /Chapter25.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter25.zip -------------------------------------------------------------------------------- /Chapter26.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/iOS-18-Programming-for-Beginners-Ninth-Edition/0561540a03efeebb2f8b1cf3f8c84c1bc51d0b34/Chapter26.zip -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Packt 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | iOS 18 Programming for Beginners, Ninth Edition

3 |

This is the code repository for iOS 18 Programming for Beginners, Ninth Edition, published by Packt. 4 |

5 | 6 |

7 | Learn iOS development with Swift 6, Xcode 16, and iOS 18 - your path to App Store success 8 |

9 |

10 | Ahmad Sahar

11 | 12 |

13 | 14 |       15 | Free PDF 16 |       17 | Graphic Bundle 18 |       19 | Amazon 20 |       21 |

22 |
23 |

About the book

24 | 25 | Unity Cookbook, Fifth Edition 26 | 27 | 28 | Want to turn your app idea into reality? iOS 18 Programming for Beginners is a guide that revolves around building a journal app, designed to teach you practical iOS development skills from the ground up. Through this approach, you'll gain hands-on experience with Xcode programming and progress through building a UI and filling it with functionality. 29 | 30 | Starting with the fundamentals of Swift 6, you'll learn how to construct user interfaces using storyboards and segues before diving into essential iOS concepts like table views, data handling, and map integration. The step-by-step tutorials guide you through key tasks such as persisting data with JSON, creating custom views, and integrating media into your apps. You’ll also discover how to enhance your apps using Apple Intelligence, incorporating machine learning and smart features to create cutting-edge iOS applications. The final chapters focus on crucial aspects of app development, including Swift Testing to ensure your app is robust, and submitting your app to the App Store—demystifying the journey from development to deployment. 31 | 32 | Whether you're a beginner or transitioning to iOS development, this guide will equip you with the skills needed to create and publish your own apps.
33 |
34 |

Key Learnings

35 | 54 | 55 |
56 | 57 |
58 |

Chapters

59 | Unity Cookbook, Fifth Edition 60 |
    61 | 62 |
  1. Exploring Xcode
  2. 63 | 64 |
  3. Simple Values and Types
  4. 65 | 66 |
  5. Conditionals and Optionals
  6. 67 | 68 |
  7. Range Operators and Loops
  8. 69 | 70 |
  9. Collection Types
  10. 71 | 72 |
  11. Functions and Closures
  12. 73 | 74 |
  13. Classes, Structures, and Enumerations
  14. 75 | 76 |
  15. Protocols, Extensions, and Error Handling
  16. 77 | 78 |
  17. Swift Concurrency
  18. 79 | 80 |
  19. Setting Up the User Interface
  20. 81 | 82 |
  21. Building Your User Interface
  22. 83 | 84 |
  23. Finishing Up Your User Interface
  24. 85 | 86 |
  25. Modifying App Screens
  26. 87 | 88 |
  27. Getting Started with MVC and Table Views
  28. 89 | 90 |
  29. Getting Data into Table Views
  30. 91 | 92 |
  31. Passing Data between View Controllers
  32. 93 | 94 |
  33. Getting Started with Core Location and MapKit
  34. 95 | 96 |
  35. Getting Started with JSON Files
  36. 97 | 98 |
  37. Getting Started with Custom Views
  38. 99 | 100 |
  39. Getting Started with the Camera and Photo Library
  40. 101 | 102 |
  41. Getting Started with Search
  42. 103 | 104 |
  43. Getting Started with Collection Views
  44. 105 | 106 |
  45. Getting Started with SwiftData
  46. 107 | 108 |
  47. Getting Started with SwiftUI
  48. 109 | 110 |
  49. Getting Started with Swift Testing
  50. 111 | 112 |
  51. Getting Started with Apple Intelligence
  52. 113 | 114 |
  53. Testing and Submitting Your App to the App Store
  54. 115 | 116 |
117 | 118 |
119 | 120 | 121 |
122 |

Requirements for this book

123 | 124 |

This book has been completely revised for iOS 18, macOS 15.0 Sequioa, Xcode 16, and Swift 6. Part 4 of this book also covers the latest technologies introduced by Apple during WWDC 2024, which are SwiftData, SwiftUI, Swift Testing, and Apple Intelligence.

125 |

To complete all the exercises in this book, you will need:

126 | 130 |

To check if your Mac supports macOS 15.0 Sequioa, see this link: https://www.apple.com/my/macos/macos-sequoia-preview/. If your Mac is supported, you can update macOS using Software Update in System Preferences.

131 |

To get the latest version of Xcode, you can download it from the Apple App Store. Most of the exercises can be completed without an Apple Developer account and use the iOS Simulator. If you wish to test the app you are developing on an actual iOS device, you will need a free or paid Apple Developer account.

132 |

The following chapter requires a paid Apple Developer account: Chapter 27, Testing and Submitting Your App to the App Store. Instructions on how to get a paid Apple Developer account are included.

133 | 134 | 135 |
136 | 137 | 138 | 139 |
140 |

Get to know Author

141 | 142 | _Ahmad Sahar_ is a trainer, presenter, and consultant at Tomafuwi Productions, specializing in conducting training courses for macOS and iOS, macOS Support Essentials certification courses, and iOS Development courses. He is a member of the DevCon iOS and MyCocoaHeads online communities in Malaysia and has conducted presentations and talks for both groups. In his spare time, he likes building and programming LEGO Mindstorms robots. 143 | 144 | 145 | 146 |
147 |
148 |

Other Related Books

149 | 158 | 159 |
160 |
161 |

Errata

162 | 173 | 174 |
175 | --------------------------------------------------------------------------------