Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
iOS 16 Programming for Beginners
iOS 16 Programming for Beginners

iOS 16 Programming for Beginners: Kickstart your iOS app development journey with a hands-on guide to Swift 5.7 and Xcode 14 , Seventh Edition

eBook
€17.99 €26.99
Paperback
€33.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
Table of content icon View table of contents Preview book icon Preview Book

iOS 16 Programming for Beginners

Getting Familiar with Xcode

Welcome to iOS 16 Programming for Beginners. I hope you will find this a useful introduction to creating and publishing iOS 16 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 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 in 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 device, which you will need to do when you build your own apps.

The following topics will be covered in this chapter:

  • 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 do the exercises for this chapter, you will need the following:

  • An Apple Mac computer (Apple Silicon or Intel) running macOS 12 Monterey or macOS 13 Ventura
  • An Apple ID (if you don’t have one, you will create one in this chapter)
  • Optionally, an iOS device running iOS 16

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

https://github.com/PacktPublishing/iOS-16-Programming-for-Beginners-Seventh-Edition

Check out the following video to see the code in action:

https://bit.ly/3CUz8Kn

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

The size of the download is very large (7.3 GB at the time of writing) so it may take a while to download. Ensure that you have enough disk space prior to downloading.

Downloading and installing Xcode from the App Store

Xcode is Apple’s integrated development environment (IDE) for developing iOS apps. Before you begin writing your first iOS app, you need to download and install Xcode from the App Store on your Mac. To do this, 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 then Install.
  4. If you have an Apple ID, type it in the Apple ID text box. If you don’t have one, click the Create Apple ID button and follow the step-by-step instructions to create one:

    Figure 1.1: Apple ID creation dialog box

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

  1. Once Xcode has been installed, launch it. You should see a License Agreement screen. Click Agree:

Figure 1.2: License agreement screen

  1. You will be prompted to enter your Mac’s administrator username and password. Once you have done so, click OK:

Figure 1.3: Prompt for administrator username and password

  1. You will see a screen showing you the available development platforms. You just need Mac and iOS for now. Leave the settings at their default values and click Install:

Figure 1.4: Development platforms screen

  1. If you are using an Apple Silicon Mac and have not yet installed Rosetta, which allows Intel-based Mac apps to run on Apple Silicon Macs, you will be prompted to install it now. Click Install:

Figure 1.5: Rosetta prompt

  1. You should see the following Welcome to Xcode screen. Click Create a new Xcode project in the left-hand pane:

Figure 1.6: Welcome to Xcode screen

  1. You will see the new project screen as follows. In the Choose a template for your new project: section, select iOS. Then choose App and click Next:

Figure 1.7: Choose a template for your new project: screen

  1. You will see the Choose options for your new project: screen:

    Figure 1.8: Choose options for your new project: screen

    Configure the options shown in the preceding screenshot 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. Enter com.yourname for now. This is known as reverse domain name notation format and is commonly used by iOS developers.
    • 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 as their default values and make sure all the checkboxes are unticked. Click Next when done.

  1. You’ll see a Save dialog box. Choose a location to save your project, such as the Desktop or Documents folder, and click Create:

Figure 1.9: Save dialog box

  1. You will see a dialog box saying Git Repository Creation Failed, click Fix.

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

  1. You will see the Source Control setting screen as follows:

    Figure 1.10: Source Control preference screen

    Enter the following information:

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

Close the Source Control setting screen by clicking the red Close button in the top left corner when done. 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 here:

Figure 1.11: Xcode user interface

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

  • Toolbar (1) - Used to build and run your apps, and view the progress of running tasks.
  • Navigator area (2) - Provides quick access to the various parts of your project. The Project navigator is displayed by default.
  • Editor area (3) - Allows you to edit source code, user interfaces, and other resources.
  • Inspector area (4) - Allows you to view and edit information about items selected in the Navigator area or Editor area.
  • Debug area (5) - Contains the debug bar, the variables view, and the Console. The Debug area is toggled by typing Shift + Command + Y.

Next, let’s examine the Toolbar more closely. The left side of the Toolbar is shown here:

Figure 1.12: Xcode toolbar (left side)

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

  • Navigator button (1) - Toggles the Navigator area on and off.
  • Stop button (2) – Only appears next to the Play button when the app is running. Stops the currently running app.
  • Play button (3) - Used to build and run your app.
  • Scheme menu (4) - Shows the specific scheme to build your project (ExploringXcode) and the destination to run your app on (iPhone SE (3rd generation)).

Schemes and destinations are distinct. Schemes specify the settings for building and running your project. Destinations specify installation locations for your app, and exist for physical devices and simulators.

  • Activity view (5) - Displays the progress of running tasks.

The right side of the Toolbar is shown here:

Figure 1.13: Xcode toolbar (right side)

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

  • Library button (1) - Displays user interface elements, code snippets, and other resources.
  • Inspector button (2) - Toggles the Inspector area on and off.

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 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 (3rd generation) from this menu:

Figure 1.14: Xcode Scheme menu with iPhone SE (3rd generation) selected

  1. Click the Play button to install and run your app on the currently selected simulator. You can also use the Command + R keyboard shortcut.
  2. The simulator will launch and show a representation of an iPhone SE (3rd generation). Your app displays a white screen, as you have not yet added anything to your project:

Figure 1.15: iOS Simulator

  1. 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 Devices and Build sections are for. Let’s take a look at them in the next section.

Understanding the 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 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 Devices and Build sections at the top of the menu:

Figure 1.16: Xcode Scheme menu showing Devices and Build sections

If you have an Apple Silicon Mac, the Devices section will display text stating My Mac (Designed for iPad), because Apple Silicon Macs can run iOS apps. Otherwise, No Devices will be displayed. 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. 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 Chapter 27, Testing and Submitting Your App to the App Store.

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, you can 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.

For a comprehensive look at all the differences between the simulator and an actual device, see 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. Follow these steps:

  1. Use the cable that came with your iOS device to connect your device to your Mac, and make sure the iOS device is unlocked.
  2. Your iOS device will display a Trust This Computer alert. Tap Trust and key in your device passcode when prompted.
  3. Your Mac will display a Allow Accessory to Connect alert. Click Allow. Your iOS device should now be connected to your Mac, and will appear in Xcode’s Scheme menu.

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

  1. In the Scheme menu, note that your iOS device does not have Developer Mode turned on:

    Figure 1.17: Xcode Scheme menu showing iPhone with Developer Mode disabled

    Developer mode was introduced by Apple during their World Wide Developer Conference in 2022 ( WWDC 2022), and is required to install, run and debug your apps on iOS 16 devices.

    To watch a WWDC 2022 video on Developer Mode, click this link: https://developer.apple.com/videos/play/wwdc2022/110344/.

  1. If you attempt to build and run your app on your iOS device, you will see the following alert:

Figure 1.18: Alert showing Developer Mode is not turned on

  1. To enable Developer Mode on your iOS device, go to Settings | Privacy & Security, scroll down to the Developer Mode item, and tap it.
  2. Turn the Developer Mode switch on:

Figure 1.19: Developer Mode switch

  1. An alert will appear to warn you that Developer Mode reduces the security of your iOS device. Tap the alert’s Restart button.
  2. After your iOS device restarts and you unlock it, confirm that you want to enable Developer Mode by tapping Turn On and entering your iOS device’s passcode.
  3. Verify that the (Developer Mode disabled) no longer appears next to your iOS device in the Scheme menu. Your iOS device is now ready to install and run apps from Xcode:

Figure 1.20: Xcode Scheme menu with actual iOS device selected

  1. Wait for Xcode to finish indexing and processing, which will take a while. Once this is complete, Ready will be displayed in the status window.
  2. Run the project by clicking the Play button (or use Command + R). You will get the following error: Signing for “ExploringXcode” requires a development team:

    Figure 1.21: Xcode Signing & Capabilities panel

    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 the digital certificate can be generated.

    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 27, Testing and Submitting Your App to the App Store.

    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.

  1. Click the Add Account... button:

Figure 1.22: Xcode Signing & Capabilities pane with the Add Account… button selected

  1. The Xcode Settings window appears with the Accounts pane selected. Enter your Apple ID and click Next:

    Figure 1.23: Apple ID creation dialog box

    Note that you can create a different Apple ID if you wish using the Create Apple ID button.

    You can also access Xcode settings by choosing Settings in the Xcode menu.

  1. Enter your password when prompted. After a few minutes, the Accounts pane will display your account settings:

Figure 1.24: Accounts pane in Xcode preferences

  1. Close the Settings window when you’re done by clicking the red Close button in the top-left corner.
  2. In Xcode’s Editor area, Click Signing & Capabilities. Make sure Automatically manage signing is ticked and Personal Team is selected from the Team pop-up menu:

Figure 1.25: Xcode Signing & Capabilities pane with account set

  1. If you still see errors in this screen, try changing your Bundle Identifier by typing some random characters into it, for example, com.myname4352.ExploringXcode.
  2. 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.26: 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. Follow these steps:

  1. On your iOS device, tap Settings| General | VPN & Device Management:

Figure 1.27: Device Management setting in iOS Settings

  1. Tap Apple Development:

Figure 1.28: Apple Development section in Device Management settings

  1. Tap Trust “Apple Development: “:

Figure 1.29: Trust button

  1. Tap Trust:

Figure 1.30: Trust dialog box

  1. You should see the following text, which shows the app is now trusted:

Figure 1.31: Apple Development section with trusted certificate

  1. 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 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 can get pretty cumbersome after a while, so you’ll configure Xcode to connect to your iOS device over Wi-Fi now. Follow these steps:

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

Figure 1.32: Xcode Window menu with Devices and Simulators selected

  1. Click on the checkbox marked Connect via network:

Figure 1.33: 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 Devices and Build menu items are for. You can now 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 the 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 in 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.

Join us on Discord

Read this book alongside other iOS developers and the author Ahmad Sahar. Ask questions, provide solutions to other readers, chat with the author via Ask Me Anything sessions and much more. SCAN the QR code or visit the link to join the community.

https://packt.link/iosdevelopment

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Explore the latest features of Xcode 14 and the Swift 5.7 programming language in this updated seventh edition
  • Start your iOS programming career and have fun building your own iOS apps
  • Discover the new features of iOS 16 such as Mac Catalyst, SwiftUI, Lock Screen widgets and WeatherKit

Description

With almost 2 million apps on the App Store, iOS mobile apps continue to be incredibly popular. Anyone can reach millions of customers around the world by publishing their apps on the App Store, which means that competent iOS developers are in high demand. iOS 16 Programming for Beginners, Seventh Edition, is a comprehensive introduction for those who are new to iOS, covering the entire process of learning the Swift language, writing your own app, and publishing it on the App Store. This book follows a hands-on approach. With step-by-step tutorials to real-life examples and easy-to-understand explanations of complicated topics, each chapter will help you learn and practice the Swift language to build your apps and introduce exciting new technologies to incorporate into your apps. You'll learn how to publish iOS apps and work with new iOS 16 features such as Mac Catalyst, SwiftUI, Lock Screen widgets, WeatherKit, and much more. By the end of this iOS development book, you'll have the knowledge and skills to write and publish interesting apps, and more importantly, to use the online resources available to enhance your app development journey.

Who is this book for?

This book is for anyone who has programming experience but is new to Swift and iOS app development. Basic knowledge of programming, including loops, data types, and so on, is necessary.

What you will learn

  • Get to grips with the fundamentals of Xcode 14 and Swift 5.7, 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 16 features such as SwiftUI, Lock screen widgets, and WeatherKit
  • Convert an existing iPad app into a Mac app with Mac Catalyst
  • Design, deploy, and test your iOS applications with design patterns and best practices
Estimated delivery fee Deliver to Belgium

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Nov 18, 2022
Length: 686 pages
Edition : 7th
Language : English
ISBN-13 : 9781803237046
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
Estimated delivery fee Deliver to Belgium

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

Product Details

Publication date : Nov 18, 2022
Length: 686 pages
Edition : 7th
Language : English
ISBN-13 : 9781803237046
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 97.97
Test-Driven iOS Development with Swift
€25.99
iOS 16 Programming for Beginners
€33.99
C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals
€37.99
Total 97.97 Stars icon

Table of Contents

33 Chapters
Part I: Swift Chevron down icon Chevron up icon
Getting Familiar with Xcode Chevron down icon Chevron up icon
Simple Values and Types Chevron down icon Chevron up icon
Conditionals and Optionals Chevron down icon Chevron up icon
Range Operators and Loops Chevron down icon Chevron up icon
Collection Types Chevron down icon Chevron up icon
Functions and Closures Chevron down icon Chevron up icon
Classes, Structures, and Enumerations Chevron down icon Chevron up icon
Protocols, Extensions, and Error Handling Chevron down icon Chevron up icon
Swift Concurrency Chevron down icon Chevron up icon
Part II: Design Chevron down icon Chevron up icon
Setting Up the User Interface Chevron down icon Chevron up icon
Building Your User Interface Chevron down icon Chevron up icon
Finishing Up Your User Interface Chevron down icon Chevron up icon
Modifying and Configuring Cells Chevron down icon Chevron up icon
Part III: Code Chevron down icon Chevron up icon
Getting Started with MVC and Collection Views Chevron down icon Chevron up icon
Getting Data into Collection Views Chevron down icon Chevron up icon
Getting Started with Table Views Chevron down icon Chevron up icon
Getting Started with MapKit Chevron down icon Chevron up icon
Getting Started with JSON Files Chevron down icon Chevron up icon
Displaying Data in a Static Table View Chevron down icon Chevron up icon
Getting Started with Custom UIControls Chevron down icon Chevron up icon
Getting Started with Cameras and Photo Libraries Chevron down icon Chevron up icon
Understanding Core Data Chevron down icon Chevron up icon
Part IV: Features Chevron down icon Chevron up icon
Getting Started with Mac Catalyst Chevron down icon Chevron up icon
Getting Started with SwiftUI Chevron down icon Chevron up icon
Getting Started with Lock Screen Widgets Chevron down icon Chevron up icon
Getting Started with WeatherKit Chevron down icon Chevron up icon
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
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7
(50 Ratings)
5 star 82%
4 star 12%
3 star 2%
2 star 2%
1 star 2%
Filter icon Filter
Top Reviews

Filter reviews by




Kristaps Grinbergs Jan 09, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I highly recommend this book when you start your career in iOS development. There is a lot of valuable information and sample code inside.
Amazon Verified review Amazon
SRIkiran Dec 23, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book centers around the basics of what makes an iOS application an iOS application today with iOS 16. It begins tenderly with covering what's required at least to begin programming an application in Quick. Closes with coordinating a few significant structures from Apple This book in no way, shape or form will transform a peruser into an iOS Engineer that is work prepared (which I think most who buy these books are needing that). Maybe it's a decent begin to give the peruser certainty to keep gaining and working from a strong groundwork. Strongly suggested assuming you're beginning your application advancement venture.
Amazon Verified review Amazon
Samreth Feb 20, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I would recommend this book to both beginner and intermediate iOS Developers. This book has amazing and up-to-date contents of Swift, iOS, and Xcode.The visual presentations in this book allow the readers to easily understand its content and instructions. The book itself feels like a high level documentation of iOS Programming.If you are looking for something to help you start your journey as an iOS Developer or to improve your skill in iOS 16, this book is for you.
Amazon Verified review Amazon
Justin Horner Nov 20, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The last time I developed for iOS professionally, I used Objective-C and UIKit, and now that I'm spending more time with iOS, I wanted to find a guide to act as a refresher that would take me from the basics of Swift through to SwiftUI.Thankfully, that's exactly what this book delivered (and more).The book is incredibly comprehensive, with practically every topic you need to jump into iOS development as an experienced developer, or if you're just getting started. No prior experience is assumed here.I appreciate that the author went through the tedious job of providing screenshots and code examples for practically every step.You'll begin with a few chapters of the basics of the Swift programming language by covering variables, constants, conditionals, optionals, loops, functions, closures, classes, structs, enums, and more. With the acquired Swift knowledge, you'll be ready to tackle protocols, extensions, and concurrency in Swift.You'll then begin building an application throughout the rest of the book called Let's Eat using UIKit storyboards, MapKit, Table Views, Collection Views, and even creating your own custom UI Controls.That's just the start! In further chapters you'll explore Core Data, SwiftUI, Lock Screen Widgets, WeatherKit, and how to test and submit your app to the App Store.It's easy to see how we've made it to the seventh edition of this book! It's truly everything you need to kickstart your iOS app development journey.Overall, I highly recommend this book whether you're new to programming or experienced and looking to get into iOS development.
Amazon Verified review Amazon
Sai Mukka Nov 29, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is the 7th edition of the book that has been completely updated to iOS 16, Xcode 14 and Swift 5.7. This edition builds on the excellent foundation started with the iOS 10 version of the book.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela