Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
iOS 14 Programming for Beginners
iOS 14 Programming for Beginners

iOS 14 Programming for Beginners: Get started with building iOS apps with Swift 5.3 and Xcode 12 , Fifth Edition

eBook
€22.99 €32.99
Paperback
€41.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

iOS 14 Programming for Beginners

Chapter 1: Getting Familiar with Xcode

Welcome to iOS 14 Programming for Beginners. I hope you will find this a useful introduction to writing and publishing iOS 14 apps on the App Store.

In this chapter, you'll learn how to download and install Xcode on your Mac. You'll familiarize yourself with the different parts of the Xcode user interface, and you'll create your first iOS app and run it in the iOS simulator. You will then learn how to connect an iOS device to Xcode via USB so that you can run the app on it, how to add an Apple ID to Xcode so that the necessary digital certificates can be created and installed on your device, and how to trust the certificate on your device. Finally, you will learn how to connect to your device over Wi-Fi, so you no longer need to plug and unplug your device every time you want to run an app.

By the end of this chapter, you will know how to create and run apps on the iOS simulator or a device, which you will need to do when you build your own apps.

The following topics will be covered:

  • Downloading and installing Xcode from the App Store
  • Understanding the Xcode user interface
  • Running the app in the iOS simulator
  • Using an iOS device for development

Technical requirements

To perform the exercises for this chapter, you will need the following:

  • An Apple Mac computer running macOS 10.15 Catalina or macOS 11.0 Big Sur
  • An Apple ID (if you don't have one, you will create one in this chapter)
  • Optionally, an iOS device running iOS 14

The Xcode project for this chapter is located in the Chapter01 folder of the code bundle for this book, which can be downloaded here:

https://github.com/PacktPublishing/iOS-14-Programming-for-Beginner-Fifth-Edition

Check out the following video to see the Code in Action: https://bit.ly/3jvJ8hs

You'll start by downloading Xcode, Apple's integrated development environment for developing iOS apps, from the App Store in the next section.

Downloading and installing Xcode from the App Store

Before you begin writing iOS apps, you need to download and install Xcode from the App Store. Follow these steps:

  1. Choose App Store from the Apple menu.
  2. In the search field in the top-right corner, type Xcode and press the Return key.
  3. You should see Xcode in the search results. Click Get and click Install.
  4. If you have an Apple ID, type it in the Apple ID textbox. If you don't have an Apple ID, click the Create Apple ID button and follow the step-by-step instructions to create one:
    Figure 1.1 – Apple ID creation dialog box

    Figure 1.1 – Apple ID creation dialog box

    Important information

    You can see more information on how to create an Apple ID at this link: https://support.apple.com/en-us/HT204316#appstore

  5. Once Xcode has been installed, launch it. You should see the following Welcome to Xcode screen. Click Create a new Xcode project in the left-hand pane:
    Figure 1.2 – Welcome to Xcode screen

    Figure 1.2 – Welcome to Xcode screen

  6. You will see the new project screen as follows. In the Choose a template for your new project: section, select iOS. Choose App and then click Next:
    Figure 1.3 – Choose a template for your new project screen

    Figure 1.3 – Choose a template for your new project screen

  7. You will now see the Choose options for your new project: screen:
    Figure 1.4 – Choose options for your new project screen

    Figure 1.4 – Choose options for your new project screen

    Configure this options screen as follows:

    • Product Name: The name of your app. Enter ExploringXcode in the text field.
    • Organization Identifier: Used to create a unique identifier for your app on the App Store. Normally, reverse DNS notation is used. Enter com.yourname for now.
    • Interface: The method used to create the user interface for your app. Set this to Storyboard.
    • Language: The programming language to be used. Set this to Swift.

      Leave the other settings at their default values. Make sure all the checkboxes are unticked. Click Next when done.

  8. You'll now see a Save dialog box. Choose a location to save your project, such as the Desktop or Documents folder, and then click Create:
    Figure 1.5 – Save dialog box

    Figure 1.5 – Save dialog box

  9. If you see a dialog box saying No author information was supplied by the version control system, click Fix.

    Important information

    The reason why you see this dialog box is because the Source Control checkbox is ticked. Apple recommends that Source Control be turned on. To learn more about version control and Git, refer to the following link: https://git-scm.com/video/what-is-version-control

  10. You will see the Source Control preference screen as follows:
    Figure 1.6 – Source Control preference screen

    Figure 1.6 – Source Control preference screen

    Enter the following information:

    • Author Name: Your own name
    • Author Email: Your email address

      Close the Source Control preference screen by clicking the red button in the top-left corner when done.

  11. The Xcode main window will appear.

Fantastic! You have now successfully downloaded and installed Xcode and created your first project. In the next section, you will learn about the Xcode user interface.

Understanding the Xcode user interface

You've just created your first Xcode project! As you can see, the Xcode user interface is divided into several distinct parts, as shown:

Figure 1.7 – Xcode user interface

Figure 1.7 – Xcode user interface

Let's look at each part in more detail. The following description corresponds to the numbers shown in the preceding screenshot:

  1. Toolbar: Used to build and run your apps, and view the progress of running tasks. The left side of the toolbar contains the Navigator button (1), the Play button (2), the Stop button (3), the Scheme menu (4), and the Activity View (5):
    Figure 1.8 – Xcode toolbar (left side)

    Figure 1.8 – Xcode toolbar (left side)

    • The Navigator button toggles the Navigator area on and off.
    • The Play button is used to build and run your app.
    • The Stop button stops any currently running apps.
    • The Scheme menu shows the specific target to be built (Exploring Xcode), and the destination (simulator or device) to run the target on (iOS simulator). Schemes and destinations are distinct. Schemes specify the settings for building, running, testing, profiling, analyzing, and archiving your project. Destinations specify installation locations for your app. Typically, a scheme exists for each target in your project. Destinations exist for physical devices and simulators.
    • The Activity View displays the progress of running tasks.

      The right side of the toolbar contains the Library button (1), the Code Review button (2), and the Inspector button (3):

Figure 1.9 – Xcode toolbar (right side)

Figure 1.9 – Xcode toolbar (right side)

  • The Library button displays user interface elements, code snippets, and other resources.
  • The Code Review button allows you to view past versions of the file you're currently editing.
  • The Inspector button toggles the Inspector area on and off.
  1. Navigator area: Provides quick access to the various parts of your project. Project navigator is displayed by default.
  2. Editor area: Allows you to edit source code, user interfaces, and other resources.
  3. Inspector area: Allows you to view and edit information about items selected in Navigator area or the Editor area.
  4. Debug area: Toggled by typing Shift + Command + Y. Contains the debug bar, the variables view, and Console.

Don't be overwhelmed by all the different parts, as you'll learn about them in more detail in later chapters. Now that you are familiar with the Xcode interface, you will run the app you just created in the iOS simulator, which displays a representation of your iOS device.

Running the app in the iOS simulator

The iOS simulator is installed when you install Xcode. It provides a simulated iOS device so that you can see what your app looks like and how it behaves, without needing a physical iOS device. It can model all the screen sizes and resolutions for both the iPad and iPhone so you can test your app on multiple devices easily.

To run your app in the simulator, follow these steps:

  1. Click the Scheme menu in the toolbar and you will see a list of simulators. Choose iPhone SE (2nd generation) from this menu:
    Figure 1.10 – Xcode Scheme menu with iPhone SE (2nd generation) selected

    Figure 1.10 – Xcode Scheme menu with iPhone SE (2nd generation) selected

  2. Click the Play button to install and run your app on the currently selected simulator. You can also use the Command + R keyboard shortcut.
  3. If you see the Developer Tools Access dialog box, enter the username and password of the Mac's administrator account and click Continue.
  4. The simulator will launch and show a representation of an iPhone SE (2nd generation). Your app displays a white screen, as you have not yet added anything to your project:
    Figure 1.11 – iOS simulator

    Figure 1.11 – iOS simulator

  5. Switch back to Xcode and click on the Stop button (or press Command + .) to stop the currently running project.

You have just created and run your first iOS app in the simulator! Great job!

If you look at the Scheme menu, you may wonder what the No Devices and Build sections are for. Let's take a look at them in the next section.

Understanding the No Devices and Build sections

You learned how to choose a simulator in the Scheme menu to run your app in the previous section. In addition to the list of simulators, the Scheme menu also has No Devices and Build sections. These allow you to run apps on actual iOS devices, and prepare apps for submission to the App Store.

Click the Scheme menu in the toolbar to see the No Devices and Build sections at the top of the menu:

Figure 1.12 – Xcode Scheme menu with Any iOS Device (arm64) selected

Figure 1.12 – Xcode Scheme menu with Any iOS Device (arm64) selected

The No Devices section currently displays text stating No devices connected to 'My Mac'... because you currently don't have any iOS devices connected to your computer. If you were to plug in an iOS device, it would appear in this section, and you would be able to run the apps you develop on it for testing. Running your apps on an actual device is recommended as the simulator will not accurately reflect the performance characteristics of an actual iOS device, and does not have some hardware features and software APIs that actual devices have.

The Build section has only one menu item, Any iOS Device (arm64). This is used when you need to archive your app prior to submitting it to the App Store. You'll learn how to do this in the final chapter of this book.

Now, let's see how to build and run your app on an actual iOS device. The vast majority of the instructions in this book do not require you to have an iOS device though, so if you don't have one, skip the next section and go straight to Chapter 2, Simple Values and Types.

Using an iOS device for development

Although you'll be able to go through most of the exercises in this book using the simulator, it is recommended to build and test your apps on an actual iOS device, as the simulator will not be able to simulate some hardware components and software APIs.

Important information

For a comprehensive look at all the differences between the simulator and an actual device, refer to this link:

https://help.apple.com/simulator/mac/current/#/devb0244142d

In addition to your device, you'll need an Apple ID or a paid Apple Developer account to build and run your app on your device. You'll use the same Apple ID that you used to download Xcode from the App Store for now:

  1. Use the cable that came with your iOS device to connect it to your Mac, and make sure it is unlocked.

    Tip

    You can view connected devices by choosing Window | Devices and Simulators in the Xcode menu bar.

  2. In the Scheme menu, choose your device (iPhone in this case) as the run destination:
    Figure 1.13 – Xcode Scheme menu with actual iOS device selected

    Figure 1.13 – Xcode Scheme menu with actual iOS device selected

  3. Wait for Xcode to finish indexing and processing, which will take a while. Once complete, Ready will be displayed in the status window.
  4. Run the project by clicking the Play button (or use Command + R). You will get the following error: Signing for "Exploring Xcode" requires a development team.:
    Figure 1.14 – Xcode Signing & Capabilities pane

    Figure 1.14 – Xcode Signing & Capabilities pane

    This is because a digital certificate is required to run the app on an iOS device, and you need to add an Apple ID or paid Apple Developer account to Xcode so that the digital certificate can be generated.

    Important note

    Using an Apple ID will allow you to test your app on an iOS device, but you will need a paid Apple Developer account to distribute apps on the App Store. You'll learn more about this in Chapter 26, Testing and Submitting Your App to the App Store.

    Important note

    Certificates ensure that the only apps that run on your device are the ones you authorize. This helps to protect against malware. You can also learn more about them at this link:

    https://help.apple.com/xcode/mac/current/#/dev60b6fbbc7

  5. Click the Add Account... button:
    Figure 1.15 – Xcode Signing & Capabilities pane with Add Account button selected

    Figure 1.15 – Xcode Signing & Capabilities pane with Add Account button selected

  6. The Xcode Preferences window appears with the Accounts pane selected. Enter your Apple ID and click Next. Note that you can create a different Apple ID if you wish by using the Create Apple ID button:
    Figure 1.16 – Apple ID creation dialog box

    Figure 1.16 – Apple ID creation dialog box

    Tip

    You can also access Xcode preferences by choosing Preferences in the Xcode menu.

  7. Enter your password when prompted. After a few minutes, the Accounts pane will display your account settings:
    Figure 1.17 – Accounts pane in Xcode preferences

    Figure 1.17 – Accounts pane in Xcode preferences

  8. Close the Preferences window when you're done by clicking the red button in the top-left corner.
  9. In Xcode's editing area, click Signing & Capabilities. Make sure Automatically manage signing is ticked and that Personal Team is selected from the Team pop-up menu:
    Figure 1.18 – Xcode Signing & Capabilities pane with account set

    Figure 1.18 – Xcode Signing & Capabilities pane with account set

  10. If you still see errors on this screen, try changing your Bundle Identifier by typing some random characters into it, for example, com.myname5109.ExploringXcode.
  11. Everything should work now when you build and run, and your app will be installed on your iOS device. However, it will not launch and you will see the following message:
Figure 1.19 – Could not launch "ExploringXcode" dialog box

Figure 1.19 – Could not launch "ExploringXcode" dialog box

This means you need to trust the certificate that has been installed on your device. You'll learn how to do this in the next section.

Trusting the Developer App certificate on your iOS device

A Developer App certificate is a special file that gets installed on your iOS device along with your app. Before your app can run, you need to trust it. Let's do that now:

  1. On your iOS device, tap Settings.
  2. Tap General.
  3. Tap Device Management:
    Figure 1.20 – Device Management setting in iOS Settings

    Figure 1.20 – Device Management setting in iOS Settings

  4. Tap Apple Development:
    Figure 1.21 – Apple Development section in Device Management settings

    Figure 1.21 – Apple Development section in Device Management settings

  5. Tap Trust "Apple Development:":
    Figure 1.22 – Trust button

    Figure 1.22 – Trust button

  6. Tap Trust:
    Figure 1.23 – Trust dialog box

    Figure 1.23 – Trust dialog box

  7. You should see the following text, which shows the app is now trusted:
    Figure 1.24 – Apple Development section with trusted certificate

    Figure 1.24 – Apple Development section with trusted certificate

  8. Click the Play button in Xcode to build and run again. You'll see your app launch and run on your iOS device.

Congratulations! Note that you have to connect your iOS device to your Mac using the cable in order to build and run your app. You'll learn how to connect to your device over Wi-Fi in the next section.

Connecting an iOS device wirelessly

Unplugging and replugging your iOS device to your Mac gets pretty cumbersome after a while, so now you'll configure Xcode to connect to your iOS device over Wi-Fi. Follow these steps:

  1. Make sure your iOS device is plugged in to your Mac, and that both the Mac and iOS devices are on the same wireless network.
  2. Choose Window | Devices and Simulators from the Xcode menu bar:
    Figure 1.25 – Xcode Window menu with Devices and Simulators selected

    Figure 1.25 – Xcode Window menu with Devices and Simulators selected

  3. Click on the checkbox marked Connect via network:
Figure 1.26 – Xcode Devices and Simulators window with "Connect via network" checked

Figure 1.26 – Xcode Devices and Simulators window with "Connect via network" checked

Awesome! Your iOS device is now connected wirelessly to Xcode, and you no longer need the USB cable to be connected to it.

Summary

In this chapter, you learned how to download and install Xcode on your Mac. You familiarized yourself with the different parts of the Xcode user interface. You created your first iOS app, selected a simulator, and built and ran the app. You learned what the No Device and Generic iOS Device menu items are for. This enables you to create and run iOS apps on your Mac without requiring an iOS device.

You learned how to connect an iOS device to Xcode via USB so that you can run an app on it. You added an Apple ID to Xcode so the necessary digital certificates can be created and installed on your device, and trusted the certificate on your device. This gives you the ability to run your apps on an actual device, so you can more accurately determine their performance, and make use of features not available in the iOS simulator.

Finally, you learned how to connect to your device over Wi-Fi, so you no longer need to plug and unplug your device every time you want to run an app. This makes it much more convenient to build and test your apps on an iOS device as any new builds can be transferred immediately over the air.

In the next chapter, we'll start exploring the Swift language using Swift Playgrounds, and learn how simple values and types are implemented in Swift.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Explore the latest features of Xcode 12 and the Swift 5.3 programming language in this updated fifth edition
  • Kick-start your iOS programming career and have fun building your own iOS apps
  • Discover the new features of iOS 14 such as Mac Catalyst, SwiftUI, widgets and App Clips

Description

If you're looking to work and experiment with powerful iOS 14 features such as widgets and App Clips to create your own apps, this iOS programming guide is for you. The book offers a comprehensive introduction for experienced programmers who are new to iOS, taking you through the entire process of learning the Swift language, writing your own apps, and publishing them on the App Store. Fully updated to cover the new iOS 14 features, along with Xcode 12 and Swift 5.3, this fifth edition of iOS 14 Programming for Beginners starts with an introduction to the Swift programming language and shows you how to accomplish common programming tasks with it. You'll then start building the user interface (UI) of a complete real-world app using the storyboards feature in the latest version of Xcode and implement the code for views, view controllers, data managers, and other aspects of mobile apps. The book will also help you apply iOS 14 features to existing apps and introduce you to SwiftUI, a new way to build apps for all Apple devices. Finally, you’ll set up testers for your app and understand what you need to do to publish your app on the App Store. By the end of this book, you'll not only be well versed in writing and publishing applications, but you’ll also be able to apply your iOS development skills to enhance existing apps.

Who is this book for?

This book is for anyone who has programming experience but is new to Swift and iOS app development. Experienced programmers looking to explore the latest iOS 14 features will also find this book useful.

What you will learn

  • Get to grips with the fundamentals of Xcode 12 and Swift 5.3, the building blocks of iOS development
  • Understand how to prototype an app using storyboards
  • Discover the Model-View-Controller design pattern and how to implement the desired functionality within an app
  • Implement the latest iOS features, such as widgets and App Clips
  • Convert an existing iPad app into an Apple Silicon Mac app
  • Design, deploy, and test your iOS applications with design patterns and best practices
Estimated delivery fee Deliver to Ireland

Premium delivery 7 - 10 business days

€23.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Nov 27, 2020
Length: 766 pages
Edition : 5th
Language : English
ISBN-13 : 9781800209749
Vendor :
Apple
Category :
Languages :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Ireland

Premium delivery 7 - 10 business days

€23.95
(Includes tracking information)

Product Details

Publication date : Nov 27, 2020
Length: 766 pages
Edition : 5th
Language : English
ISBN-13 : 9781800209749
Vendor :
Apple
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 101.97
iOS 14 Programming for Beginners
€41.99
SwiftUI Projects
€29.99
Mastering Swift 5.3
€29.99
Total 101.97 Stars icon

Table of Contents

30 Chapters
Section 1: Swift Chevron down icon Chevron up icon
Chapter 1: Getting Familiar with Xcode Chevron down icon Chevron up icon
Chapter 2: Simple Values and Types Chevron down icon Chevron up icon
Chapter 3: Conditionals and Optionals Chevron down icon Chevron up icon
Chapter 4: Range Operators and Loops Chevron down icon Chevron up icon
Chapter 5: Collection Types Chevron down icon Chevron up icon
Chapter 6: Functions and Closures Chevron down icon Chevron up icon
Chapter 7: Classes, Structures, and Enumerations Chevron down icon Chevron up icon
Chapter 8: Protocols, Extensions, and Error Handling Chevron down icon Chevron up icon
Section 2:Design Chevron down icon Chevron up icon
Chapter 9: Setting Up the User Interface Chevron down icon Chevron up icon
Chapter 10: Building Your User Interface Chevron down icon Chevron up icon
Chapter 11: Finishing Up Your User Interface Chevron down icon Chevron up icon
Chapter 12: Modifying and Configuring Cells Chevron down icon Chevron up icon
Section 3:Code Chevron down icon Chevron up icon
Chapter 13: Getting Started with MVC and Collection Views Chevron down icon Chevron up icon
Chapter 14: Getting Data into Collection Views Chevron down icon Chevron up icon
Chapter 16: Getting Started with MapKit Chevron down icon Chevron up icon
Chapter 17: Getting Started with JSON Files Chevron down icon Chevron up icon
Chapter 18: Displaying Data in a Static Table View Chevron down icon Chevron up icon
Chapter 19: Getting Started with Custom UIControls Chevron down icon Chevron up icon
Chapter 20: Getting Started with Cameras and Photo Libraries Chevron down icon Chevron up icon
Chapter 21: Understanding Core Data Chevron down icon Chevron up icon
Section 4:Features Chevron down icon Chevron up icon
Chapter 22: Getting Started with Apple Silicon Macs Chevron down icon Chevron up icon
Chapter 23: Getting Started with SwiftUI Chevron down icon Chevron up icon
Chapter 24: Getting Started with Widgets Chevron down icon Chevron up icon
Chapter 25: Getting Started with App Clips Chevron down icon Chevron up icon
Chapter 26: Testing and Submitting Your App to the App Store Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon