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

iOS 13 Programming for Beginners: Get started with building iOS apps with Swift 5 and Xcode 11 , Fourth Edition

eBook
€20.98 €29.99
Paperback
€36.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
Table of content icon View table of contents Preview book icon Preview Book

iOS 13 Programming for Beginners

Getting Familiar with Xcode

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

This book is divided into four parts. Each is designed to accomplish a specific set of goals.

In Section 1, Swift, you start by learning Swift 5.1, which is the latest version of the Swift language. Swift is the programming language used to write apps for all Apple hardware. You'll see how common programming tasks are accomplished in Swift. At the end of this part, you should have a working knowledge of the Swift language.

In Section 2, Design, you'll create the design of an iOS 13 application from scratch using storyboards. This is accomplished using Xcode's Interface Builder, and coding is kept to a minimum. At the end of this part, you should have a clear idea of the app's user interface and flow.

Section 3, Code, will focus on coding. You will learn many important iOS app development concepts, and as you go along, you'll learn strategies and techniques that you can use in your own apps.

Section 4, Features, covers the exciting new technologies first introduced by Apple at WWDC 2019, such as Dark Mode, Catalyst, SwiftUI, and Sign In with Apple. You'll also learn how to create resources for App Store submission, submit your app to the App Store, and beta test your app.

The app you'll write is a restaurant reservation app named Let's Eat. This app was originally written by Craig Clayton, who wrote the previous edition of this book. I have updated this app for the latest version of Xcode and iOS.

In this chapter, we'll cover the following topics:

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

Technical requirements

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

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

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-13-Programming-for-Beginners.

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

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

http://bit.ly/38B50D5

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. Perform the following steps:

  1. Open the App Store on your Mac (it's in 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.
  1. 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:
You can see more information on how to create an Apple ID at this link:
https://support.apple.com/en-us/HT204316#appstore.
  1. Once Xcode has been installed, launch it. You should see the following Welcome to Xcode screen:

If this is the first time you have launched Xcode, you will see No Recent Projects in the right-hand panel. If you have previously created projects, then you will see them listed in the right-hand panel. Click Create a new Xcode project in the left-hand pane.

  1. You will see the new project screen as follows:

Across the top of this screen, you can select one of the following items: iOS, watchOS, tvOS, macOS, and Cross-platform. iOS should already be selected. Then, choose Single View App and click on Next.

  1. You will see an options screen for a new project:


This options screen has the following eight items to complete or choose:

  • Product Name: The name of your app. Enter ExploringXcode in the text field.
  • Team: The Developer Account Team for this project. Leave it as it is for now.
  • Organization Name: The name of your company. Just put your own name here for now.
  • Organization Identifier: Used in conjunction with the Product Name to create a unique identifier for your app on the App Store. Normally, reverse DNS notation is used. Enter com.myname for now.
  • Bundle Identifier: Automatically created by combining your Product Name and your Organization Identifier. Used to uniquely identify your app on the App Store.
  • Language: The programming language to be used. Set this to Swift.
  • User Interface: Set this to Storyboard.
  • Checkboxes: These checkboxes are used to include code for core data, unit tests, and UI tests. Leave them unchecked for now.

Click Next when you're done.

  1. Choose a location to save your project, such as the Desktop or Documents folder, and click Create:
  1. If you see a dialog box saying No author information was supplied by the version control system, click Fix.
The reason why you see this dialog box is because Source Control checkbox is ticked. Apple recommends that Source Control be turned on. 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 preference screen as follows:

Enter the following information:

  • Author Name: Your own name
  • Author Email: Your email address
  1. The Xcode main window will appear.

Fantastic! You have now successfully downloaded and installed Xcode, and in the next section, we will study the Xcode user interface.

Understanding the Xcode user interface

Xcode is the tool you use to write apps, and you will learn about the Xcode user interface in this section. You'll become familiar with the structure of a project in Xcode and learn how to navigate between and use basic project components.

Let's go over each of the different parts:

The following are the elements shown in the preceding screenshot:

  • Toolbar: Used to build and run your apps, and view the progress of running tasks. Contains the Play button (1), the Stop button (2), the Scheme menu (3), and the Activity View (4):


  • 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 (iPhone 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.
  • Window Pane buttons: Used to configure your work environment. Contains the Object library (1), Version Editor (2), and Navigator, Debug, and Inspector buttons (3):

  • The Library button displays user interface elements, code snippets, and other resources.
  • The Version Editor button shows versions of the same file.
  • The Navigator, Debug, and Inspector buttons toggle the Navigator area, the Debug area and the Inspector area on and off.
  • Navigator area: Provides quick access to the various parts of your project. The Project navigator is displayed by default.
  • Editor area: Allows you to edit source code, user interfaces, and other resources.
  • Inspector area: Allows you to view and edit information about items selected in the Navigator area or Editor area.
  • Debug area: Contains the debug bar, the variables view, and the Console.

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

Running the app in the Simulator

The Simulator gives you an idea of how your app would look and behave if it were running on a device. It can model a number of different types of hardware—all the screen sizes and resolutions for both iPad and iPhone—so you can simulate your app on every device you're developing for.

To run the app in the Simulator, perform the following steps:

  1. Click the Scheme menu in the toolbar and you will see a list of Simulators. Choose iPhone 11 from this menu:
  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. If you see the Developer Tools Access dialog box, enter the Mac's admin Username and Password and click Continue:

  1. The Simulator app will launch and show a representation of an iPhone 11. Your app displays a white screen, as you have not yet added anything to your project:
  1. Switch back to Xcode and click on the Stop button (or type 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 be wondering about what the No Device and Build Only Device menu items are for. Let's take a look at them.

Understanding the No Device and Build Only Device menu items

You learned how to choose a Simulator in the Scheme menu to run your app in the previous section. But what are the No Device and Build Only Device menu items for? Well, Xcode not only allows you to run apps on the Simulator, but it also allows you to run apps on actual iOS devices, and prepare apps for submission to the App Store.

By clicking the Scheme menu in the toolbar, you will see the entire menu, and at the top of the menu are the No Device and Build Only Device sections:

The No Device 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 Only Device section has only one option, Generic 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 the last chapter of this book.

Now let's see how to build and run your app on an actual iOS 13 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 13 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 in the App Store for now:

  1. Use the USB cable to connect the iOS device to your Mac.
  2. In the Scheme menu, choose your device (iPhone in this case):
  1. Wait for Xcode to finish indexing and processing, which will take a while. Once complete, Ready will be displayed in the status window.
  2. Run the project by hitting the Play button (or use command + R). You will get the following error: Signing for "Exploring Xcode" requires a development team:

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

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:
  1. 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 using the Create Apple ID button:
  1. Enter your password when prompted. After a few minutes, the Accounts pane will display your account settings:
  1. Close the Preferences window when you're done by clicking the red button in the top-left corner.
  1. In Xcode's editing area, Click Signing & Capabilities. Make sure Automatically manage signing is ticked and Personal Team is selected from the Team pop-up menu:
  1. If you still see errors in this screen, try changing your Bundle Identifier by typing some random characters into it, for example, com.12345myname.Exploring-Xcode.
  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:

This means you need to trust the certificate that has been installed on your device.

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

In the next section, we will see how to do that.

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 13 device, tap Settings.
  2. Tap General.
  3. Tap Device Management:
  1. Tap Apple Development:
  1. Tap Trust "Apple Development: ":
  1. Tap Trust:
  1. You should see the following, which shows the app is now trusted:
  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 13 device to your Mac using the USB cable to build and run your app, so in the next section we'll see how we can connect over Wi-Fi.

Connecting an iOS device wirelessly

Unplugging and replugging your iOS device using USB gets pretty cumbersome after a while, so you'll configure Xcode to connect to your iOS device over Wi-Fi as follows:

  1. Make sure your Mac and iOS device are on the same wireless network.
  2. Choose Window | Devices and Simulators from the menu bar:
  1. Click on the checkbox marked Connect via network:

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

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 Generic iOS Device menu item is for. You also learned 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 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.

You now know how to download and install Xcode from the App Store, the different panels in Xcode, how to add Developer credentials, and how to connect an iOS device for development using USB and Wi-Fi.

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 11 and the Swift 5 programming language in this updated fourth edition
  • Kick-start your iOS programming career and have fun building your own iOS apps
  • Discover the new features of iOS 13 such as Dark Mode, iPad apps for Mac, SwiftUI, and more

Description

iOS 13 comes with features ranging from Dark Mode and Catalyst through to SwiftUI and Sign In with Apple. If you're a beginner and are looking to experiment and work with these features to create your own apps, then this updated fourth edition gets you off to a strong start. The book offers a comprehensive introduction for programmers who are new to iOS, covering the entire process of learning the Swift language, writing your own apps, and publishing them on the App Store. This edition is updated and revised to cover the new iOS 13 features along with Xcode 11 and Swift 5. The book starts with an introduction to the Swift programming language, and 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 latest version of Xcode, and also implement the code for views, view controllers, data managers, and other aspects of mobile apps. The book will then help you apply the latest iOS 13 features to existing apps, along with introducing you to SwiftUI, a new way to design UIs. Finally, the book will take you through setting up testers for your app, and what you need to do to publish your app on the App Store. By the end of this book, you'll be well versed with how to write and publish apps, and will be able to apply the skills you've gained to enhance your apps.

Who is this book for?

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

What you will learn

  • Get to grips with the fundamentals of Xcode 11 and Swift 5, 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 the app
  • Implement the latest iOS features such as Dark Mode and Sign In with Apple
  • Understand how to convert an existing iPad app into a Mac app
  • Design, deploy, and test your iOS applications with industry patterns and practices
Estimated delivery fee Deliver to Norway

Standard delivery 10 - 13 business days

€11.95

Premium delivery 3 - 6 business days

€16.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jan 24, 2020
Length: 822 pages
Edition : 4th
Language : English
ISBN-13 : 9781838821906
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
Estimated delivery fee Deliver to Norway

Standard delivery 10 - 13 business days

€11.95

Premium delivery 3 - 6 business days

€16.95
(Includes tracking information)

Product Details

Publication date : Jan 24, 2020
Length: 822 pages
Edition : 4th
Language : English
ISBN-13 : 9781838821906
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 91.97
iOS 13 Programming for Beginners
€36.99
Mastering Swift 5
€29.99
Swift Protocol-Oriented Programming
€24.99
Total 91.97 Stars icon

Table of Contents

32 Chapters
Section 1: 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
Section 2: Design Chevron down icon Chevron up icon
Setting Up the Basic Structure Chevron down icon Chevron up icon
Building Your App Structure in Storyboard Chevron down icon Chevron up icon
Finishing Up Your App Structure in Storyboard Chevron down icon Chevron up icon
Modifying and Configuring Cells Chevron down icon Chevron up icon
Section 3: 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
Saving and Loading from Core Data Chevron down icon Chevron up icon
Section 4: Features Chevron down icon Chevron up icon
Getting Started with Dark Mode 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 Sign In with Apple 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

Customer reviews

Most Recent
Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.8
(15 Ratings)
5 star 60%
4 star 0%
3 star 6.7%
2 star 26.7%
1 star 6.7%
Filter icon Filter
Most Recent

Filter reviews by




buyer Jan 08, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I received quickly. it looks like a good book. I have not read all of it but as an experienced developer, it is more for beginners but still gives enough information to get you going.
Amazon Verified review Amazon
Steven Oct 29, 2020
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
The book is now obsolete after the new updates to Xcode!
Amazon Verified review Amazon
Amazon Customer Sep 14, 2020
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Great book! I work in IT, but have no experience creating apps. I am able to complete all of the steps outlined in each chapter. The examples are very helpful, and the text thoroughly covers the important concepts.
Amazon Verified review Amazon
someone in Aug 01, 2020
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is a great book with a meaty project to work through. Everything in the book works EXCEPT the places it wants you to use the Editor Assistant to establish outlets. Apparently something broke between XCode version 11.2.1 used in the book and the current 11.6 release, in every case the assistant displays nothing instead of the class it is supposed to. This gave me the opportunity to figure out how to do it programmatically, but not every beginner might enjoy that. It would be good to have the manual steps in the book in the event the tooling is broken.But that doesn’t detract from the fact this is an excellent book! It is probably the best intro/ beginning book I have encountered in my 40 years of programming.
Amazon Verified review Amazon
Mg2000 Jul 22, 2020
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
The book quickly turned into a series of typing exercises, focussed on reproducing the authors work rather than on building knowledge.I would highly recommend purchasing the 'iOS 13 Programming Fundamentals with Swift: Swift, Xcode, and Cocoa Basics' as an alternative. The Big Nerd book takes the time to explain why a pattern is being used and then goes through how to implement. They also have challenges at the end of each chapter that are key to understanding the concepts and how to use the full toolset and online documentation
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