Preface
Welcome to iOS 17 Programming for Beginners. This book is the eighth edition of the iOS Programming for Beginners series, and has been fully updated for iOS 17, macOS 14.0 Sonoma, and Xcode 15.
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 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 17 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 implement widgets using WidgetKit, and learn the basics of how to get your app running on Apple’s latest platform for spatial computing, visionOS.
Finally, you’ll learn how to test your app with internal and external testers, and get it into the App Store.