Most ebook files are in PDF format, so you can easily read them using various software such as Foxit Reader or directly on the Google Chrome browser.
Some ebook files are released by publishers in other formats such as .awz, .mobi, .epub, .fb2, etc. You may need to install specific software to read these formats on mobile/PC, such as Calibre.
Please read the tutorial at this link: https://ebookbell.com/faq
We offer FREE conversion to the popular formats you request; however, this may take some time. Therefore, right after payment, please email us, and we will try to provide the service as quickly as possible.
For some exceptional file formats or broken links (if any), please refrain from opening any disputes. Instead, email us first, and we will try to assist within a maximum of 6 hours.
EbookBell Team
0.0
0 reviewsISBN 10: 1835468101
ISBN 13: 9781835468104
Author: Avi Tsadok
Elevate your iOS development skills with this comprehensive iOS 18 guide covering the latest changes and improvements in iOS SDK and Swift, while mastering practical techniques to become an exceptional iOS developer
Key Features
Stay up to date with the latest changes and improvements in iOS SDK and Swift programming language
Learn how you can improve user experience by focusing on customizing components and animations
Get to grips with advanced topics such as SwiftData and high-efficiency applications through an in-depth discussion
Purchase of the print or Kindle book includes a free PDF eBook
Book Description
Embark on a comprehensive iOS 18 development journey with Avi Tsadok, a veteran iOS developer and author of 4 books and over 40 tutorials and articles. A recognized public speaker, Avi has a knack for demystifying complex concepts and brings unparalleled expertise to the forefront of iOS 18 development education. This guide focuses on iOS 18 advancements, equipping developers with tools to maximize its potential. This book covers essential topics for seasoned developers, including Swift, SwiftUI, Xcode foundations, and the latest iOS SDK updates. You’ll get to grips with optimizing performance and understanding advanced architectural paradigms. By implementing the newest iOS updates, you’ll also explore intricate animation methods and harness a new framework, SwiftData that replaces Core Data for having persistent storage. The book builds your proficiency in advanced networking with URLSession and shows you how to conjure stunning visuals and adopt sophisticated testing techniques. You'll explore the world of machine learning with Apple’s Core ML diving into built-in frameworks like NLP, vision, and sound analysis to train and integrate your own models into iOS apps. By the end of the book, you'll possess skills to build exceptional apps, excel in advanced roles, and confidently tackle iOS development challenges.
What you will learn
Develop functional iOS applications on the iOS platform
Build intricate custom animations and UI elements
Master data handling and persistence in iOS apps
Utilize Combine for efficient data management
Harness the power of the neural engine through CoreML
Explore architectures and streamline programming with Swift Macros
Improve engagement by adding Widgets and App Intents
Who this book is for
If you are an experienced iOS developer looking to enhance your mobile development skills, create exceptional applications, and excel in advanced positions, this book is designed for you. To derive maximum benefit from this book and ensure a strong understanding of the advanced content, it is recommended that you have a solid foundation in Swift, SwiftUI, and Xcode.
Part 1: Getting Started with iOS 18 Development
Chapter 1: What’s New in iOS 18
Technical requirements
Understanding iOS 18 background
Introducing Swift Testing
Introducing Swift Data Improvements
Unique value
History API
Custom data stores in Swift Data
Introducing zoom transition
Adding a floating tab bar
Having more control over scroll views
Observing the scroll view position
Observing items’ visibility
Changing the text rendering behavior
Positioning sub-views from another view
Entering the AI revolution
Summary
Chapter 2: Simplifying Our Entities with SwiftData
Technical requirements
Understanding SwiftData’s background
Defining a SwiftData model
Expanding the @Model macro
Adding relationships
SwiftData relationship deletion rules
Defining the inverse relationship
Adding the @Attribute macro
Going non-persistent with transient
Exploring the container
Setting up ModelContainer
Connecting the container using the modelContainer modifier
Working with ModelConfiguration
Fetching and manipulating our data using model context
Saving new objects
Fetching objects
Migrating our data to a new schema
Learning the basic migration process
Creating a version schema
Creating the migration stages and plan
Connecting the migration plan to our container
Summary
Chapter 3: Understanding SwiftUI Observation
Technical requirements
Going over the SwiftUI observation system
Conforming to the ObservableObject protocol
Explaining the problem with the current observation situation
Adding the @Observable macro
Learning how the @Observable macro works
Excluding properties from observation using @ObservationIgnored
Observing computed variables
Working with environment variables
Adding an environment variable by type
Adding environment variable by key
Binding objects using @Bindable
Migrating to Observable
Summary
Chapter 4: Advanced Navigation with SwiftUI
Technical requirements
Understating why SwiftUI navigation is a challenge
Exploring NavigationStack
Separating the navigation destination using the navigationDestination view modifier
Using data models to trigger navigation
Responding to the path variable
Working with different types of data using NavigationPath
Working with the Coordinator pattern
Understanding the Coordinator’s principles
Building the Coordinator object
Adding CoordinatorView
Calling the coordinator straight from the view
Navigating with columns with NavigationSplitView
Creating NavigationSplitView
Moving to three columns
Summary
Chapter 5: Enhancing iOS Applications with WidgetKit
Technical requirements
The idea of widgets
Understanding how widgets work
Adding a widget
Configuring our widget
Working with static configuration
Understanding the Timeline Provider for Widgets
Building our widget UI
Working with timeline entries
Adding animations
Customize our widget
Using the AppEntity in our Widget
Keeping our widgets up to date
Reload widgets using the WidgetCenter
Go to the network for updates
Interacting with our widget
Opening a specific screen using links
Adding interactive capabilities
Adding a control widget
Summary
Chapter 6: SwiftUI Animations and SF Symbols
Technical requirements
The importance of animations
Understanding the concept of SwiftUI animations
Performing basic animations
Using the animation view modifier
Using the withAnimation function
Bringing some life to our animations with spring animations
Performing advanced animations
Performing transitions
Executing keyframe animations
Animating SF Symbols
Modifying symbol colors
Localizing our symbols
Summary
Chapter 7: Improving Feature Exploration with TipKit
Technical requirements
Learning the importance of tips
Understanding the basics of TipKit
What do tips look like?
Adding our first tip
Dismissing tips
Defining the tip ID
Customizing our tips
Customizing our tips’ appearance
Adding actions
Adding tips rules
Adding a rule based on a state
Adding a rule based on events
Grouping tips with TipGroup
Customizing display frequency
Setting the max display count for a specific tip
Setting our tips’ display frequency
Summary
Chapter 8: Connecting and Fetching Data from the Network
Technical requirements
Understanding mobile networking
Handling an HTTP request
Basic HTTP request methods
Working with URLSession
Handling the response
Integrating network calls within app flows
Just-in-time fetching
Read-through cache
Incremental loading
Full data sync with delta updates
Exploring Networking and Combine
Summary
Chapter 9: Creating Dynamic Graphs with Swift Charts
Technical requirements
Why charts?
Introducing the Swift Charts framework
Creating charts
Creating BarMark chart
Creating LineMark charts
Creating a SectorMark chart
Creating an AreaMark chart
Creating a PointMark chart
Visualizing functions with Charts
Allowing interaction using ChartProxy
Adding an overlay to our chart
Responding to the user’s gesture
Finding the closest data point to the user’s touch
Conforming to the Plottable protocol
Summary
Part 2: Refine your iOS Development with Advanced Techniques
Chapter 10: Swift Macros
Technical requirements
What is a Swift macro?
Exploring SwiftSyntax
Parsing and AST
Setting up SwiftSyntax
Building our Abstract Syntax Tree
Creating our first Swift macro
Adding a new Swift macro
Examining our Swift Macros package structure
Declaring our macro
Implementing the macro
Handling macros errors
Adding tests
Practice exercises
Summary
Chapter 11: Creating Pipelines with Combine
Technical requirements
Why use Combine?
Going over the basics
Starting with the publisher
Setting up the subscriber
Connecting operators
Delving into Combine components
Creating a custom publisher
Working with Subjects
Creating a custom subscriber
Connecting the custom publisher and subscriber
Working with operators
Learning about Combine using examples
Managing UIKit-based view state in a view model
Performing searches from multiple sources
Validating forms
Summary
Chapter 12: Being Smart with Apple Intelligence and ML
Technical requirements
Going over the basics of AI and machine learning
Learning the differences between AI and machine learning
Delving into the ML model
Training the model
Apple intelligence and ML
Exploring built-in ML frameworks
Interpreting text using NLP
Analyzing images using the Vision framework
Classifying audio using the Sound Analysis framework
Performing a semantic search with Core Spotlight
Integrating custom models using CoreML
Getting to know the Create ML application
Building our Spam Classifier model
Using our model with Core ML
Where to go from here
Summary
Chapter 13: Exposing Your App to Siri with App Intents
Technical requirements
Understanding the App Intents concept
Creating a simple app intent
Running the intent with the Shortcuts app
Creating an app shortcut
Adding a parameter to our app intent
Returning a custom view
Having multiple result types
Adding confirmation and conditions
Formalizing our content using app entities
Conforming to AppEntity
Creating an Open a task intent
Chaining app intents
Integrating our intent to other intents
Adjusting our app intents to work with Apple Intelligence
Exploring the Assistant Schema
Creating AssistantEntity
Summary
Chapter 14: Improving the App Quality with Swift Testing
Technical requirements
Understanding the importance of testing
Learning the testing history in Apple platforms
Exploring the Swift Testing basics
Adding a basic test
Providing names to our test functions
Enabling and disabling tests
Tagging our test functions
Working with arguments
Managing our tests
Going over the testing structure
Grouping our test functions into test suites
Building test plans
Setting up a Scheme
Tips to write testable code
Writing pure functions
Separating your code based on concerns
Performing mocking using protocols
Summary
Chapter 15: Exploring Architectures for iOS
Technical requirements
Understanding the importance of architecture
Learning what exactly architecture is
Going over the different architectures
Separating our project into layers
Separating our project into modules
Combining the multi-layer architecture with modules
Building hexagonal architecture
Comparing the different architectures
By separation of concerns
By testing
By maintenance and scalability
Summary
Index
Why subscribe?
Other Books You May Enjoy
Packt is searching for authors like you
Share Your Thoughts
Download a free PDF copy of this book
5 mastering tips
ios development 101
ios 16.2 beginners guide
4.1 mastering techniques quiz
spotify mastering requirements
Tags: Avi Tsadok, Mastering, iOS