Preface
Welcome to iOS 18 Programming for Beginners. This book is the ninth edition of the iOS Programming for Beginners series, and has been fully updated for iOS 18, macOS 15.0 Sequioa, and Xcode 16.
In this book, you will build a journal app called JRNL. You will start off by exploring Xcode, Apple’s programming environment, also known as its Integrated Development Environment (IDE). Next, you will start learning the foundations of Swift, the programming language used in iOS apps, and see how it is used to accomplish common programming tasks.
Once you have a solid foundation of using Swift, you will start creating the user interface of the JRNL app. During this process, you will work with storyboards and connect your app’s scenes together using segues.
With your user interface complete, you will then add code to implement your app’s functionality. To start, you’ll learn how to display data using a table view. Next, you’ll learn how to add data to your app, and how to pass data between view controllers. After that, you’ll learn how to determine your device location and display annotations on a map. You’ll then learn how to persist app data using JSON files create custom views, and add photos from the camera or photo library. Finally, you’ll make your app work on devices with larger screens, such as an iPad or Mac, by implementing a collection view in place of a table view.
You now have a complete app, but how about adding the latest iOS 18 features? You’ll start by learning about SwiftData, which allows you to describe data models and manipulate model instances using regular Swift code. Next, you will learn how to develop apps using SwiftUI, a great new way of developing apps for all Apple platforms. After that, you’ll learn how to test your code using Swift Testing, and how to bring Apple Intelligence features into your apps.
Finally, you’ll learn how to test your app with internal and external testers and get it into the App Store.