Book Image

Learn SwiftUI

By : Chris Barker
Book Image

Learn SwiftUI

By: Chris Barker

Overview of this book

SwiftUI is the new and powerful interface toolkit that lets you design and build iOS, iPadOS, and macOS apps using declarative syntax. It is a powerful way to develop the UI elements of applications, which would normally be tightly coupled to application logic. Learn SwiftUI will get you up to speed with the framework and cross-device UI development in no time. Complete with detailed explanations and practical examples, this easy-to-follow guide will teach you the fundamentals of the SwiftUI toolkit. You'll learn how to build a powerful iOS and iPadOS application that can be reused for deployment on watchOS. As you progress, you'll delve into UI and unit testing in iOS apps, along with learning how to test your SwiftUI code for multiple devices. The book will also show you how to integrate SwiftUI features such as data binding and network requests into your current application logic. By the end of this book, you will have learned how to build a cross-device application using the SwiftUI framework and Swift programming.
Table of Contents (17 chapters)

Maps and Location Services

In this chapter, we'll be covering Maps and Location Services within iOS and how we can integrate this into our SwiftUI app. We'll learn how to use Apple's built-in MapKit framework to display maps directly in our app and add annotations (or pins as they are sometimes known as) to specific locations throughout.

We'll also cover Core Location and see how Xcode's cool feature of location spoofing allows us to simulate various locations from around the world and update our SwiftUI app dynamically.

Finally, we'll tie all this together and use what we've learned to display recipe locations on our map with the ability to select them and filter our recipes.

The following topics will be covered in this chapter:

  • Adding a Map with MapKit control
  • Creating our first pin
  • Identifying our location
  • Piecing it all together
...