Miscellaneous Topics

Similar documents
UI Design and Storyboarding

Data Storage. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Data Storage. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

What s New in HomeKit

Home Kit Framework. By, Shravya Shridhar 06/08/2016. All copyrights are reserved.

Tables. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

AdFalcon ios SDK Developer's Guide. AdFalcon Mobile Ad Network Product of Noqoush Mobile Media Group

Settings. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Multimedia. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Gestures. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney

A Mad Libs app that you will navigate through 3 UIViewControllers to add text that will be shown in a story on the fourth UIViewController.

Building Mapping Apps for ios With Swift

Enhancing your apps for the next dimension of touch

ITP 342 Mobile App Dev. Connections

Learn to make desktop LE

CocoaPods. Wu 2015

CSC 581: Mobile App Development Spring 2019

App. Chapter 19 App. App (ViewController) App. Single View Application Single View Application View. (View Controller)

Cocoa Touch Best Practices

ITP 342 Mobile App Dev. Table Views

ITP 342 Mobile App Dev. Table Views

Stanford CS193p. Developing Applications for ios. Fall CS193p. Fall

Swift. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

ios 9 SDK Development

Functional Reactive Programming on ios

Architecting ios Project. Massimo Oliviero

COMPLETE TUTORIAL COURSE. Learn to make tvos LE. apps with real-worldam S F

Learn to make ios apps

Join Queries in Cognos Analytics Reporting

Collection Views. Dr. Sarah Abraham

Stream iphone Sensor Data to Adafruit IO

Data Management CS 4720 Mobile Application Development

Announcements. Today s Topics

ios SDK Documentation February 8 By Midtrans

Navigation and Segues

Patterns & practices for unit-testing Swift-ly. Jakub Turek 18th June, 2018

TomTom Mobile SDK QuickStart Guide

Introductory ios Development

Table of Contents. Chapter 1 Introduction Chapter 2 Quick Install... 7

Mastering UIKit on tvos

Chapter 22 TableView TableView. TableView ios. ViewController. Cell TableViewCell TableView

} override func didreceivememorywarning() { 26 super.didreceivememorywarning() 27 } 28 } Pause Stop

Heading. idevices Connected. App Manual. HomeKit Products

Adding Lutron Caséta to Compass Control

Guides ios Document current as of 08/22/ :11 PM. Installation. Install SDL SDK

ios Document current as of 03/21/ :20 AM. Guides Installation Install SDL SDK

Implementing UI Designs in Interface Builder

Rx in the real world. 1 Rob Ciolli

The MVC Design Pattern

PLUX ios Application Programming Interface. Documentation - ios API

Notifications. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Service SDK Developer s Guide for ios PREVIEW

Schlage Sense App Instructions

Sensors. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Creating and Triggering Animations

Guides ios Documentation Document current as of 04/03/ :20 PM. Installation. Install SDL SDK

iphone Application Programming Lab 3: Swift Types and Custom Operator + A02 discussion

Import a CAD Model 2018

S A M P L E C H A P T E R

This tutorial is meant for software developers who want to learn how to lose less time on API integrations!

Service SDK Developer s Guide for ios

ios Development - Xcode IDE

M1 Z Wave Gateway Setup Guide

FIBARO SINGLE SWITCH

Data Capture 2016 Installation and User Manual.

My First iphone App (for Xcode version 6.4)

Tutorial: Using the UUCS Crowd Simulation Plug-in for Unity

Apple Watch Docs. Release 0.1. Michael Hahn

User Guide V0.1. Overview 2. Creating a project 2

Building a testable mixed-codebase ios Framework

What s New in SpriteKit

Google SketchUp/Unity Tutorial Basics

Adding a Trigger to a Unity Animation Method #2

lecture 6 Closures, Networking, CocoaPods

ios 12 beta 8 Release Notes

Mobile. Quick Start Guide. Some features described herein may require additional licensing.

Know your device. SPen Front camera. Camera. Power key. Volume keys. Recent apps Home key Back key USB/Charger port

Workshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Beginner Game Dev Character Control Building a character animation controller.

ADVANCED M A. Learn SiriKit, imessage apps, rich notifications, and more. with real-world projects HACKING WITH SWIFT COMPLETE TUTORIAL COURSE

Mobile Development - Lab 2

Using the JSON Iterator

Microsoft Lync 2013 Quick-Start Guide. ThinkTel Communications Professional Services Last Updated: June 18, 2013

Deploying ipad to Patients Setup Guide

2013 edition (version 1.1)

Index. D, E Damn Vulnerable ios application (DVIA), Data Execution Prevention (DEP), 3 Data storage security,

Faust ios API. Using This Package

CSE 438: Mobile Application Development Lab 2: Virtual Pet App

HACKING WITH SWIFT. Practical. ios 10 COMPLETE TUTORIAL COURSE. Learn to develop apps. for ios 10 by building MP. real-world projects E S

Use the API or contact customer service to provide us with the following: General ios Android App Name (friendly one-word name)

A Reference guide to Using the Collaborate tool in your LMS (Mac Users)

COMS W4172 : 3D User Interfaces Spring 2017 Prof. Steven Feiner Date out: January 26, 2017 Date due: January 31, 2017

ios Core Data Example Application

Zoom - CDU Zoom Website

Advanced Notifications

WinPak 2 & 2005 Quick Reference

Polycom Guide. Table of Contents. General Polycom Information. High Definition (HD) Polycoms. Getting Started (SD remote control overview)

S A M P L E C H A P T E R

for Windows Release Notes: Version September 12, 2013 Document version: MINDJET Page 1

Choose OS and click on it

Transcription:

Miscellaneous Topics Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1

Outline Renaming Xcode project and app Add app icons Package management with CocoaPods Detecting if running in ios simulator HomeKit Mobile Application Development in ios 2

Renaming Xcode Project and App Mobile Application Development in ios 3

Renaming Xcode Project Step 1: Change project name in upper left of file hierarchy Rename project content items Mobile Application Development in ios 4

Renaming Xcode Project Step 2: Rename scheme Mobile Application Development in ios 5

Renaming Xcode Project Step 3: Change bundle identifier Mobile Application Development in ios 6

Renaming Xcode Project Step 4: Change top-level folder/file names Mobile Application Development in ios 7

Renaming Xcode Project Step 5: Change any build settings (Done!) Mobile Application Development in ios 8

Add App Icons Mobile Application Development in ios 9

Add App Icons Mobile Application Development in ios 10

Add App Icons Mobile Application Development in ios 11

Add App Icons Create main high-resolution icon Use app icon service to generate different resolutions E.g., www.makeappicon.com Drag and drop into AppIcon assets Mobile Application Development in ios 12

Add App Icons Mobile Application Development in ios 13

Add App Icons Mobile Application Development in ios 14

Package Management with CocoaPods Mobile Application Development in ios 15

Package Management with CocoaPods https://cocoapods.org MacOS installation (using Ruby) sudo gem install cocoapods Create Podfile in top-level app directory pod init Add pods to Podfile Install dependencies pod install Mobile Application Development in ios 16

Podfile Example: SQLite.swift # Podfile target 'SQLiteDemo1' do use_frameworks! end pod 'SQLite.swift', '~> 0.11.4' > pod install --repo-update... [!] Please close any current Xcode sessions and use SQLiteDemo1.xcworkspace for this project from now on. Mobile Application Development in ios 17

CocoaPods Usually requires an import Mobile Application Development in ios 18

Other Package Management Tools Carthage https://github.com/carthage/carthage Similar to CocoaPods, but decentralized Swift Package Manager https://swift.org/package-manager/ Doesn t work with ios (yet) Mobile Application Development in ios 19

Detecting if Running in ios Simulator Mobile Application Development in ios 20

Create Swift Flag in Build Settings Mobile Application Development in ios 21

Extend UIDevice Class extension UIDevice { var issimulator: Bool { #if IOS_SIMULATOR // flag defined in build settings return true #else return false #endif } } // Usage if (UIDevice.current.isSimulator) { // Do this if app running in simulator } else { // Do this is app running on device } Mobile Application Development in ios 22

HomeKit Mobile Application Development in ios 23

HomeKit Framework for monitoring and control of connected accessories in user s home Mobile Application Development in ios 24

HomeKit Add HomeKit to app s Capabilities Requires developer account Requires description for why app needs access to HomeKit Mobile Application Development in ios 25

Home Layout Use HMHome class to create home layout Each home consists of rooms (HMRoom) Each room consists of accessories (HMAccessory) E.g., lamp Each accessory provides one or more services (HMService) E.g., turn lamp on or off Each service can have one or more characteristics (HMCharacteristic) E.g., on/off status of lamp Rooms can be grouped into zones (HMZone) Mobile Application Development in ios 26

Accessory Types Predefined services and characteristics for common accessories Light and power Air, temperature, humidity and water Locks, safety and security Cameras and sound Other accessory types possible Defined by the manufacturer of the accessory Accessory must include HomeKit-compatible hardware Complies with Made For ios (MFi) program Mobile Application Development in ios 27

Events and Triggers Events Location events Time events Characteristic events Presence events Trigger E.g., When the front door is opened, turn on the hallway light. Predicate that determines if trigger should fire Scene (array of Events) executed when predicate is true Mobile Application Development in ios 28

Home Manager HMHomeManager Mobile Application Development in ios 29

Home Manager Delegate HMHomeManagerDelegate homemanagerdidupdatehomes homemanagerdidupdateprimaryhome didadd (home) didremove (home) Mobile Application Development in ios 30

import HomeKit HomeKit Initialization class ViewController: UIViewController, HMHomeManagerDelegate { var homemanager = HMHomeManager() override func viewdidload() { super.viewdidload() homemanager.delegate = self } } // Called after initial fetch of home data, or any changes func homemanagerdidupdatehomes(_ manager: HMHomeManager) { if (homemanager.homes.isempty) { print("no homes") } else { for home in homemanager.homes { print("found home: \(home.name)") } } Mobile Application Development in ios 31

Testing HomeKit App HomeKit Accessory Simulator Don t need an actual HomeKit accessory to test Download by clicking on Download HomeKit Simulator in Capabilities pane Find latest version of Hardware IO Tools for Xcode Install simulator in Applications folder Mobile Application Development in ios 32

Resources developer.apple.com/homekit/ HomeKit Developer Guide developer.apple.com/library/content/documentati on/networkinginternet/conceptual/homekitdeve loperguide Mobile Application Development in ios 33