
Explore the major iOS 11 API changes, including the vision framework for face recognition and real-time image tracking, drag-and-drop, machine learning, natural language processing, NFC, and password autofill.
Explore new iOS 11, Swift 4, and Xcode 9 features, including hiding large titles, propagating renames, and one-click fixes.
Explore the project file setup in a navigation-based interface, wiring segues, and using constants to set background colors and images across two screens, with UI elements and image view.
Enable large titles in the navigation bar via the navigation controller, set prefersLargeTitles to true, and observe the resulting layout, image positioning, and back button behavior across screens.
Set the navigation large title display mode to never on the second screen to hide the large title, using the always, automatic, or never options.
Discover how to increase or decrease the font size with keyboard shortcuts: press command plus to enlarge and command minus to shrink while coding.
Learn how to run multiple simulators at the same time to compare layouts side by side, view app behavior on different devices, and verify design responsiveness.
Simulators now include hardware buttons like power, mute, and volume controls to mirror real devices, letting you lock, unlock, and navigate from the hardware rather than the screen.
Learn how renaming a constant or variable propagates through the project, and use the rename feature to update all usages across views, controllers, and files in Swift and Xcode.
Learn to refactor by extracting code into a new function, renaming it, and passing the image view to the extracted method to simplify a button click handler.
Explore structure highlighting to quickly identify matching braces and nested code blocks by hovering with the mouse while holding the command key, improving readability in iOS app development.
Resize the iOS simulator window freely by grabbing the edges to set any size, from 50 percent to 100 percent, replacing the previous command-based resizing.
Discover how to run apps wirelessly from Xcode 9 by enabling connect via a network, ensuring the iPhone and computer share the same network, and selecting the wireless build option.
Learn how to create and use named colors in the assets catalog, create color sets, reference colors by name in code, and apply named colors to user interface backgrounds.
Illustrates a one-click protocol stubs fix that automatically adds missing functions when a data source doesn't conform. Saves manual steps by avoiding looking up definitions and copying functions.
Build an image recognition app that identifies scene contexts in photos using Apple's Vision framework, distinguishing scene recognition from object recognition, with examples like car, laptop, and shoe scenes.
Build and wire a multi-button image detection interface for an iOS app, using tags, equal width constraints, and a results label updated by a single detect action.
Set up the button click event, print the tag for debugging, load an image by name, and pass the name and image to a function that sends the image.
Download the image detection model from the Apple website, such as squeeze net, to detect the dominant object or scene across 1000 categories.
Set up the model, create a vision request, capture the image, and run the model classifier to obtain results as classification observations, using the first result as the best guess.
Create the image classifier handler and perform the request on a background thread, then update the main thread with results and handle potential errors.
Explore how to process results and assess confidence levels in a simple loop, printing each result and its confidence to interpret model predictions across scenes like shoes, clothing, and mansion.
Discover how to detect faces in a photo using a vision framework or computer vision technique, analyzing images to identify all people in the frames.
Design the user interface for a face detection app by programmatically adding the image and setting frame-driven controls, including four selfie buttons and a detect faces action.
Programmatically set up a UIImageView and configure its content mode for aspect fit. Load images, adjust the image view height relative to the image and container, and draw face overlays.
Handle button click events by using the button tag to select the image name and adjust its height, replacing the image view with the new image.
Implement a detect faces function using Vision to obtain face bounding boxes, convert the image to a CGImage, and run the request on a background thread with error handling.
Create and position bounding boxes for each face by converting bounding box coordinates to image view space, accounting for lower-left origin, and render updates on the main thread.
Discover how to source reusable selfie images for your iOS app using image tools, then test face detection in Xcode with various angles.
Explore building an augmented reality app with a framework to place and import 3-D models in real environments, and arrange objects on flat surfaces such as a desk.
Begin by creating a single view app, name and save it, then add a scene view from the object library and create an outlet for it to start coding.
Configure a session to enable device orientation tracking and camera-based environment sensing, then add a camera usage description in privacy settings to obtain permission and run the app.
Download the Apple sample app, locate the resources, and drag one of the 3D models into your project with copy into app to enable object placement in augmented reality.
Create a Swift class named Model to load a 3-D scene graph, access its SCNNode hierarchy, and prepare textures and attributes for rendering.
Test the model class using a view, set a 3D (x, y, z) position to place objects in front of the camera, and load different models by tapping.
Modify the add model function to accept a model name string and load models. Create a load model function with a name and position, then test by placing a lamp.
Use the touch began function to get a touch location, perform a hit test, and place a 3d model at the resulting world point on a flat surface with ARKit.
Select random models from a five-object array and place them in the environment, using a random number to pick names and map their positions with the camera, remembering prior placements.
Learn to build a real-time object tracking app with a custom camera, track objects through the view, and recognize their names using an ml model.
Design the object tracking app user interface by adding a camera view and a results label in the main storyboard, set constraints, and create outlets.
Import AVKit, create an AVCaptureSession, and select the video device to access the camera. Add the input to the session to display output in the UI.
Set up the camera output and video preview layer, configure a capture session, and request camera permissions to run the camera in an iOS 11 Swift 4 environment.
Capture frames from the camera by implementing a delegate, configure the camera output and dispatch queue, and use the vision framework to decode a model from Apple.
Download and integrate the Inception v3 Core ML model, set up a Vision request to classify images, and extract the highest-confidence label from the pixel buffer.
Display detection results on a label after returning to the main thread from background processing. Test with different models to detect real-world objects and swap model names in the app.
Create a drag-and-drop interface that moves text with a drag preview and a green plus button to add items, illustrating drag-and-drop for text, photos, and other objects.
Design the user interface for a single drag-and-drop app, including a text label and a table view with fixed constraints, set the content reuse identifier, and connect outlets.
Set up the table view as the data source, create a string data array, implement numberOfRowsInSection and cellForRowAt, and assign self as the data source to verify the table displays.
Create an extension to host drag and drop delegate methods, wire the text drag delegate and table view drop delegate, and implement methods to drag text into a table view.
Implement a drag preview for lifting delegate functions in iOS 11 by building an image-based preview, defining drag targets and coordinates, and visualizing the drag as you move and drop.
Implement and test the table view drop delegate by creating the destination index path, extracting dropped items, inserting into the data source, and refreshing the table with an automatic animation.
Learn to build a natural language processing app using iOS 11 NLP APIs to break down text into words, detect language, identify people or organization names, and explore root words.
Design the user interface for a natural language processing app with a storyboard, light gray background, a text field, and a table. Add language, tokenization, words, stems, and name type.
Identify the dominant language of input text using the updated linguistic tagger in iOS 11, configure language options, and display results in a table view.
Learn to break text into lexical units by tagging words as noun, pronoun, or verb, and analyze ranges, punctuation, and whitespace for language learning.
Explore tokenization that breaks sentences into words, punctuation, and whitespace using linguistic tags and schemes, with an English example.
Learn how lemmatization derives root words (stems) from text, ignoring punctuation and whitespace, enumerating lemmas to reveal words like go, jump, and quick from their forms.
Use name type to detect person, place, and organization names in text. Learn to filter and print words that match selected name types.
Learn to build a QR code reader app that uses the camera to read a code and navigate to the embedded website, demonstrated with examples.
Explore the starter project setup, wiring the camera view and outlets in the view controller, enabling the data output sample buffer delegate for the vision framework and object tracking.
Create a function to perform an image request for barcode detection using the Vision framework, handling a pixel buffer, processing results, and extracting barcode descriptions.
Generate static QR codes with a code generator, download them, and test the app. Run the app on a device, point the camera, and verify the payload is read.
Discover how to extract the barcode's payload string and navigate to a website using SFSafariViewController, turning a scanned code into an in-app web view.
iPhone Development Course
What’s New in IOS 11, Swift 4 and Xcode 9
In this course you are going to learn some of the new features added to iOS 11 and Xcode 9. We are going to create multiple apps that focus on each of the new features. Some of these new features include;
New Xcode Features
Xcode has lots of new features and we’ll be taking a look at some of the new exciting features and how to take advantage of them to make you a better coder. These features include structure highlighting, method extraction, easy renaming, github integration etc.
ARKit
Artificial Reality app used to take thousands of lines of code and complex algorithm to achieve but with the new iOS 11 ARkit, it takes only few lines of code to make an AR app.
Machine Learning
Machine learning is gaining traction in the computer industry and there’s no better time to learn machine learning and how to develop an app that take advantage of it. We’ll develop a simple app that can recognise dominant object in a photo and an app that can recognise the faces of the people in a photo
Drag and Drop
iOS 11 allows user to drag and drop content within one app and also between two different apps. We’ll develop a basic app that allows dragging text from one part to another part.
Vision
We’ll develop an app that allows you to track real world object directly through your phone’s camera. This is a nice feature.
Many more.
We’ll be diving into Natural Language Processing, SiriKit, PDFKit, Apple Music integration, new camera APIs, new Files app and so on…
Now’s the best time to learn iOS 11, Swift 4 and Xcode now before the official release of the public version to the users.