Book Image

Learning Xcode 8

By : Jak Tiano
Book Image

Learning Xcode 8

By: Jak Tiano

Overview of this book

Over the last few years, we’ve seen a breakthrough in mobile computing and the birth of world-changing mobile apps. With a reputation as one of the most user-centric and developer-friendly platforms, iOS is the best place to launch your next great app idea. As the official tool to create iOS applications, Xcode is chock full of features aimed at making a developer’s job easier, faster, and more fun. This book will take you from complete novice to a published app developer, and covers every step in between. You’ll learn the basics of iOS application development by taking a guided tour through the Xcode software and Swift programming language, before putting that knowledge to use by building your first app called “Snippets.” Over the course of the book, you will continue to explore the many facets of iOS development in Xcode by adding new features to your app, integrating gestures and sensors, and even creating an Apple Watch companion app. You’ll also learn how to use the debugging tools, write unit tests, and optimize and distribute your app. By the time you make it to the end of this book, you will have successfully built and published your first iOS application.
Table of Contents (23 chapters)
Learning Xcode 8
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Testing UI in Xcode 8


Writing unit tests helps to make sure your application's model and controller code are working properly, but as apps get more and more complex views, it's becoming increasingly important to test the interface of our apps as well. In Xcode 7, Apple introduced a new UI testing feature that allows us to do just that.

How does UI testing work?

When building an app, we have a certain way that our logic is expected to function. Earlier, we expected that by passing an input string to our save function we would get a data representation of a new snippet on disk, so we wrote a test to ensure this was happening. This same idea can be applied to the actual user interface, instead of the logic behind it.

For example, in our app, we want to make sure that when the New button is tapped, the user is presented with an action sheet for them to choose an option from. We could write a unit test to check the button code, but that won't check to make sure that the button event is firing properly...