Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Preface
Resources Used in This Book
Audience and Approach
Organization of This Book
Conventions Used in This Book
Using Code Examples
O’Reilly Safari
How to Contact Us
Acknowledgments
I. Welcome to Swift
1. Getting Started
Xcode
Getting Xcode
Creating Your First Project
Working with the Xcode Interface
The Editor
The Toolbar
The Navigator
Utilities
The Debug Area
Running Your Code
The iOS Simulator
Running on a Device
Distributing Your Apps
The Interface Builder
Interfaces in iOS
Conclusion
2. The Swift Programming Language
The Swift Language
Swift 3 Versus 4
Playgrounds and Swift
Comments
Imports
Variables
Operators
Collections
Arrays
Tuples
Dictionaries
Control Flow
Loops
Switches
Types
Working with Strings
Sets
Enumerations
Type Safety and Conversion
Optionals
Type Casting
Functions and Closures
Using Functions as Variables
Closures
Convenience Features
The defer Keyword
The guard Keyword
Making Your Code Swifty
Conclusion
3. Object-Oriented Development in Swift
Classes and Objects
Initialization and Deinitialization
Properties
Computed properties
Observers
Lazy properties
Inheritance
Protocols
Extensions
Access Control
Operator Overloading and Custom Operators
Subscripts
Generics
Structures
Error Handling
Memory Management
Design Patterns in Swift
Model–View–Controller
Delegation
Swift Libraries
Structuring an App
Applications and delegates
Views
UIViewController
Storyboards and nibs
Swift Package Manager
Conclusion
II. Building Selfiegram
4. Setting Up Our App
Designing Selfiegram
Creating the Project
The Structure
Renaming the Views
5. Building the Model Object
The Selfie Object
The SelfieStore
Testing the SelfieStore
Filling Out the Method Stubs
6. Building the Selfie List UI
Creating the Selfie List
Improving the Selfie List
7. Adding and Deleting Selfies
Deleting Selfies
Taking New Selfies
8. Viewing and Editing Selfies
The Selfie Viewer
Connecting the Code and the UI
Editing a Selfie
9. Adding Location Info to the Selfies
Updating the Model
Testing Our New Model
Showing a Selfie’s Location
Expanding the Map
Determining Locations
Configuring the App to Support Location
Talking to the Location Hardware
10. Building a Settings View
Building the Settings UI
Connecting the Settings into Our Hierarchy
Hooking Up the Settings
Implementing the Settings
11. Reminders and Notifications
Adding a Reminder to the Settings
Creating a Notification
III. Polishing Selfiegram
12. Theming and Sharing Selfiegram
Custom Fonts
Making the Theme
Sharing Selfies
Sharing from the Detail View Controller
Sharing from the List View Controller
13. Custom Views and View Controllers
A Camera View
The Camera View Controller
Building the UI
Connecting the UI
Talking to the Camera
Setting up the session
Handling interaction
Conforming to the AVCapturePhotoCaptureDelegate protocol
Calling the Capture View Controller
14. Image Overlays
Creating the Overlay Model
Testing the Overlay Manager
Writing the Tests
Returning Available Overlays
Downloading Overlay Information
Downloading Overlay Images
15. Overlay UI
Building the UI
Hooking Up the UI
Creating the Overlay View
Presenting the Overlays
Initial Setup
Drawing Eyebrows
Vision and Image Detection
Connecting It into the App
16. Localization and Internationalization
Internationalization
Generating the String Table
Localization
Translating the Strings
Testing Locales
Pseudolanguages
Previewing Localizations
Conclusion
IV. Beyond Developing Selfiegram
17. Debugging
The Debugger
Breakpoints
Inspecting Code
Controlling Program Flow
Performance
Instruments
18. UI Tests
UI Testing Classes
Writing UI Tests
A Basic Test
Recording UI Actions
Checking if Elements Exist
Handling UI Interruptions
19. Automating Chores with Fastlane
The Fastlane Tools
Installing Fastlane
Installing via Homebrew
Installing via RubyGems
Installing via Direct Download
Setting Up a Project
Doing a Build
Configuring a Fastfile
20. Using Fastlane’s Tools
Code Signing with match
The Problem That Match Solves
match’s Solution
Generating Screenshots Using snapshot
Using Boarding to Add Testers to TestFlight
Managing Your App’s Presence on the App Store Using deliver
Getting the Metadata
Submitting New Metadata
Looking Further
Index
← Prev
Back
Next →
← Prev
Back
Next →