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

iOS 17 Programming for Beginners: Unlock the world of iOS development with Swift 5.9, Xcode 15, and iOS 17 – your path to App Store success , Eighth Edition

Arrow left icon
Profile Icon Ian Lockett Profile Icon Ahmad Sahar
Arrow right icon
£16.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.6 (21 Ratings)
Paperback Oct 2023 604 pages 8th Edition
eBook
£17.99 £26.99
Paperback
£33.99
Subscription
Free Trial
Renews at £16.99p/m
Arrow left icon
Profile Icon Ian Lockett Profile Icon Ahmad Sahar
Arrow right icon
£16.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.6 (21 Ratings)
Paperback Oct 2023 604 pages 8th Edition
eBook
£17.99 £26.99
Paperback
£33.99
Subscription
Free Trial
Renews at £16.99p/m
eBook
£17.99 £26.99
Paperback
£33.99
Subscription
Free Trial
Renews at £16.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. £16.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

iOS 17 Programming for Beginners

Exploring Xcode

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

In this chapter, you’ll download and install Xcode on your Mac. Then, you’ll explore the Xcode user interface. After that, you’ll create your first iOS app and run it in Simulator. Finally, you’ll run your app on an iOS device.

By the end of this chapter, you will know how to create an iOS app, how to run it in Simulator, and how to run in on an iOS device.

The following topics will be covered in this chapter:

  • Downloading and installing Xcode from the App Store
  • Exploring the Xcode user interface
  • Running your app in Simulator
  • Running your app on an iOS device

Technical requirements

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

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

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-17-Programming-for-Beginners-Eighth-Edition

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

https://youtu.be/T-0fMJj2vq8

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 (10.10 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 IDE for developing macOS, iOS, iPadOS, watchOS, tvOS, and visionOS apps. You’ll need to download and install Xcode prior to writing your first app. 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’ll see Xcode in the search results. Click Get and then click Install.
  4. If you have an Apple ID, type it in the Apple ID text box and enter your password when prompted. 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’ll see a License Agreement screen. Click on Agree:

Figure 1.2: License agreement screen

  1. You’ll 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’ll see a screen showing you the available development platforms. You just need macOS and iOS for now. Leave the settings at their default values and click on Download and 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’ll be prompted to install it now. Click on Install:

Figure 1.5: Rosetta prompt

  1. You’ll see a What’s New in Xcode screen. Click on Continue:

Figure 1.6: What’s New in Xcode screen

  1. You’ll see the Welcome to Xcode screen. Click on Create New Project... in the left-hand pane:

Figure 1.7: Welcome to Xcode screen

  1. Xcode will start to download iOS 17.0 Simulator automatically. Note that you will not be able to run any apps on Simulator until this process has been completed:

Figure 1.8: Simulator download progress bar

  1. You’ll 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.9: Choose a template for your new project: screen
  1. You’ll see the Choose options for your new project: screen:

    Figure 1.10: Choose options for your new project: screen

    Configure the options as follows:

    • Product Name: The name of your app. Enter JRNL in the text field.
    • Organization Identifier: Used to create a unique identifier for your app on the App Store. Enter com.myname 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.
    • Include Tests: Uncheck this check box.

    Leave the other settings at their default values. Click on 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 on Create:

Figure 1.11: Save dialog box

  1. You’ll see a dialog box saying Git Repository Creation Failed. Click on Fix.

    The reason why you see this dialog box is because the Source Control checkbox in the Save dialog box was 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 screen as follows:

Figure 1.12: Source Control preference screen

Enter the following information:

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

Close the Source Control screen by clicking the 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.

Exploring 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.13: 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 pressing Shift + Command + Y.

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

Figure 1.14: Xcode toolbar (left side)

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

  • Navigator button (1) – Used to display and hide the Navigator area.
  • Stop button (2) – Only appears next to the Run button when the app is running. Stops the currently running app.
  • Run button (3) – Used to build and run your app.
  • Scheme menu (4) – Shows the specific scheme to build your project (JRNL) 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 Simulator and physical devices.

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

The right side of the toolbar is shown here:

Figure 1.15: Xcode toolbar (right side)

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

  • Xcode Cloud button (1) – Allows you to sign in to Xcode Cloud, a continuous integration and delivery service built into Xcode
  • Library button (2) – Displays user interface elements, code snippets, and other resources
  • Inspector button (3) – Used to display and hide the Inspector area

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

Running your app in Simulator

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 Simulator, follow these steps:

  1. Click the Destination pop-up menu to view a list of simulated devices. Choose iPhone SE (3rd generation) from this menu:

Figure 1.16: Xcode Destination pop-up menu with iPhone SE (3rd generation) selected

  1. Click the Run button to install and run your app on the currently selected simulator. You can also use the Command + R keyboard shortcut.
  2. 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.17: 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 Simulator! Great job!

Now, you may be wondering what the Devices and Build sections in the Destination menu are used for. Let’s look at them in the next section.

Understanding the Devices and Build sections

You learned how to choose a simulated device in the Destination menu to run your app in the previous section. In addition to the list of simulated devices, this 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 Destination menu in the toolbar to see the Devices and Build sections at the top of the menu:

Figure 1.18: Xcode Destination 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 Simulator will not accurately reflect the performance characteristics of an actual iOS device and does not have hardware features that actual devices have.

The Build section has two menu items, Any iOS Device(arm64) and Any iOS Simulator Device (arm64, x86_64). These are 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. Most 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.

Running your app on an iOS device

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

For a comprehensive look at all the differences between 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 (used to automatically create a free Apple developer account) or a paid Apple developer account to build and run your app on your device. You can use the same Apple ID that you used to download Xcode from the App Store. To run your app on an iOS device, 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 an Allow Accessory to Connect alert. Click Allow. Your iOS device is now connected to your Mac and will appear in Xcode’s Destination menu.

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

  1. In the Destination menu, note that your iOS device has Developer Mode disabled by default:

    Figure 1.19: Xcode Destination 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 devices running iOS 16 or greater.

    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.20: 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.21: 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) text no longer appears next to your iOS device in the Destination menu:

Figure 1.22: Xcode Destination menu with an actual iOS device selected

  1. Wait for Xcode to finish indexing and processing, which will take a while. Once complete, Ready will be displayed in the status window. Your iOS device is now ready to install and run apps from Xcode.
  2. Run the project by clicking the Run button (or use Command + R). You will get the following error in Xcode’s Signing & Capabilities pane, Signing for “JRNL” requires a development team:

    Figure 1.23: 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 a free or paid Apple Developer account to Xcode so the digital certificate can be generated.

    Using an Apple ID to create a free developer account will allow you to test your app on an iOS device, but it will only be valid for 7 days. Also, 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.24: Xcode Signing & Capabilities pane with Add Account… button selected

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

    Figure 1.25: 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 the 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.26: 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.27: Xcode Signing & Capabilities pane with account set

  1. If you still see errors on this screen, try changing your Bundle Identifier by typing some random characters into it, for example, com.myname4352.JRNL.
  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.28: Could not launch “JRNL” dialog box

  1. 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.29: VPN & Device Management setting in iOS Settings

  1. Tap Apple Development:

Figure 1.30: Apple Development section in Device Management settings

  1. Tap Trust “Apple Development:

Figure 1.31: Trust button

  1. Tap Trust:

    Figure 1.32: Trust dialog box

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

    Figure 1.33: Apple Development section with trusted certificate

  1. Click the Run button in Xcode to build and run again. You’ll see your app launch and run on your iOS device.

Congratulations! You have successfully run your app on an actual iOS device!

Summary

In this chapter, you learned how to download and install Xcode on your Mac. Then, you familiarized yourself with the different parts of the Xcode user interface. After that, you created your first iOS app, selected a simulated iOS device, and built and ran the app in Simulator. Finally, you learned how to connect an iOS device to Xcode via USB so that you can run your app on it.

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.

Learn more on Discord

To join the Discord community for this book – where you can share feedback, ask questions to the author, and learn about new releases – follow the QR code below:

https://packt.link/iOSprogramming

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Dive into the latest iOS 17 features and Swift 5.9 through hands-on projects
  • Develop robust apps with top design patterns used by professionals
  • Expand your app's reach by effortlessly converting it for iPad, Mac, and visionOS

Description

In a world with nearly 2 million apps on the App Store, the demand for skilled iOS developers has never been higher. "iOS 17 Programming for Beginners, Eighth Edition" is your gateway to this lucrative and dynamic field. This hands-on guide is tailored for those who are new to iOS and takes you on a journey from learning the Swift language to crafting your own app and seeing it thrive on the App Store. Our approach is hands-on and practical. Each chapter is designed to be a stepping stone in your development journey, providing step-by-step tutorials, real-life examples, and clear explanations of complex concepts. As you progress, you'll not only be skilled in Swift but also incorporate cutting-edge technologies into your apps. You'll learn how to publish your creations and harness the power of iOS 17 through a straightforward and easy to program example app divided into manageable parts. By the time you've completed this book, you'll possess the skills and knowledge to not only develop and publish captivating apps but also leverage online resources to continually enhance your app development prowess.

Who is this book for?

This book is tailored for individuals with minimal coding experience who are new to the world of Swift and iOS app development. A basic understanding of programming concepts is recommended.

What you will learn

  • Discover the world of Xcode 15 and Swift 5.9, laying the foundation for your iOS development journey
  • Implement the latest iOS 17 features through a hands-on example app, ensuring your apps remain innovative and engaging
  • Build and deploy iOS apps using industry-standard design patterns and best practices.
  • Implement the Model-View-Controller (MVC) design pattern to create robust and organized applications
  • Expand your app's reach by effortlessly converting it for iPad, Mac, and visionOS
  • Dive into UIKit, the essential framework for large-scale iOS projects

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Oct 31, 2023
Length: 604 pages
Edition : 8th
Language : English
ISBN-13 : 9781837630561
Category :
Languages :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. £16.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Oct 31, 2023
Length: 604 pages
Edition : 8th
Language : English
ISBN-13 : 9781837630561
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
£16.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
£169.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
£234.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 £ 105.97
SwiftUI Cookbook
£33.99
iOS 17 Programming for Beginners
£33.99
50 Algorithms Every Programmer Should Know
£37.99
Total £ 105.97 Stars icon

Table of Contents

33 Chapters
Part 1: Swift Chevron down icon Chevron up icon
Exploring 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 2: 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 App Screens Chevron down icon Chevron up icon
Part 3: Code Chevron down icon Chevron up icon
Getting Started with MVC and Table Views Chevron down icon Chevron up icon
Getting Data into Table Views Chevron down icon Chevron up icon
Passing Data between View Controllers Chevron down icon Chevron up icon
Getting Started with Core Location and MapKit Chevron down icon Chevron up icon
Getting Started with JSON Files Chevron down icon Chevron up icon
Getting Started with Custom Views Chevron down icon Chevron up icon
Getting Started with the Camera and Photo Library Chevron down icon Chevron up icon
Getting Started with Search Chevron down icon Chevron up icon
Getting Started with Collection Views Chevron down icon Chevron up icon
Part 4: Features Chevron down icon Chevron up icon
Getting Started with SwiftData Chevron down icon Chevron up icon
Getting Started with SwiftUI Chevron down icon Chevron up icon
Getting Started with Widgets Chevron down icon Chevron up icon
Getting Started with visionOS 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.6
(21 Ratings)
5 star 71.4%
4 star 23.8%
3 star 0%
2 star 4.8%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Santosh Nov 24, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I am impressed with ‘iOS Programming for Beginners,’ an exceptional book that seamlessly guides novices through the intricate world of iOS development. The author skillfully navigates from establishing the development environment to deploying apps on the store, leaving no stone unturned in this comprehensive journey.The book’s meticulous approach not only caters to beginners but also extends its value to experienced developers seeking a holistic brush-up on iOS development.The step-by-step coverage of setting up the development environment ensures a solid foundation, while the insightful guidance on deploying apps showcases a commitment to real-world application.
Amazon Verified review Amazon
Roberto G. Feb 20, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
It's a detailed IOS programming book, It has all that you need to start with iOS. Nevertheless, I would recommend considering learning on YouTube, it's for free and it's not necessary to buy a book to learn the basics, you can use chat GPT for the basic learning process too.Once you get a better understanding of iOS or coding in general invest in one course or book that complements what you have learned so far.I have 10 years of experience on iOS and I learned using only free resources because I didn't have any money at that time (junior developer), but if you can afford this book is a good option. Just remember that all in it will be deprecated in less than 6 months, the iOS development is changing super fast.
Amazon Verified review Amazon
Nicholas Nov 10, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is incredibly beginner-friendly. It makes minimal assumptions about our prior knowledge to ios development. It's packed with examples pertinent to a wide range of topics we work on in the field.I like to go through this book every few versions because the author does an awesome job including updates on new features to swift and the language has changed so quickly it can be difficult to keep up with it.I dont want to spend too much time going over the basics but trust me he includes plenty of info on everything ranging from simple object types to architecture (MVC). Its basic enough for someone with no experience to follow along and draft up their first app with.The most anticipated part of this book is the section on visionOS. This is the latest swift library and has a lot of hype around it because its the newest hardware peripheral to apple since the watch. If you follow along in this book you will actually have built an app thats compatible with the new apple vision pro and I feel like this update alone is worth getting the book for.Overall 5 star book and I had a great time with it.
Amazon Verified review Amazon
Akash Nov 24, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
If you are embarking on your journey with iOS 17 or looking to update your existing skills in Swift, this book is an ideal resource to consider. It offers a comprehensive guide tailored for both beginners and those seeking to deepen their knowledge in the latest iOS development techniques.o
Amazon Verified review Amazon
David Nov 06, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Excellent book, the best thing is that it is updated to the latest Apple technologies. A very easy to understand teaching methodology, everything well explained in detail. This book is very useful for junior to senior developers.
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 included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.