SlideShare a Scribd company logo
1 of 34
Tools & Libraries 	

for iOS
Teri Grossheim	

Mobile+Web Devcon Chicago 2014
Agenda
Tools & Frameworks	

Swift Basics	

HTML5
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Apple Developer Programs
Separate programs for iOS & OS X (Individual
vs. Company)	

Apps distributed on App Store	

iOS Developer Enterprise Program	

iOS Developer University Program	

Safari Developer Program	

Register as an Apple Developer	

Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Apple Developer Library
For iOS, OS X, Safari, iAd	

	

 Programming Guides	

	

 Reference Code	

	

 Sample Code	

Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Tools & Frameworks
Xcode	

	

	

 Xcode Service	

	

	

 Instruments	

	

	

 The Developer Library	

Other Tools	

iOS SDK	

	

	

 Frameworks
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Xcode
Suite of Development Tools	

Write & Debug	

iOS Simulator	

Instruments	

Interface Builder
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Xcode
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Xcode Service
OS X Server	

Enable Access to Source Code Repositories	

Configure Bots to Perform Continuous
Integrations	

Manage & Monitor Bots from Log Navigator &
Web Browser	

Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Instruments
Analyze performance
of iOS apps	

Gathers data about:	

	

 Memory Usage	

	

 Disk Activity	

	

 Network Activity	

	

 Graphics	

Correlation of data
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Playgrounds
A new type of document in
Xcode 6	

	

 Design a new algorithm	

	

 Create new tests	

	

 Experiment with new APIs	

Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Other Tools
AppCode	

Injection for Xcode	

Dash	

Objective-Clean	

Hockey Coach
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
iOS SDK
Cocoa Touch Layer: Key frameworks 
Media Layer: Graphics, audio, and video
technologies
Core Services Layer: Fundamental
system services for apps
Core OS Layer: Low-level features
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Cocoa Touch Layer
Key Technologies
AirDrop	

Text Kit	

UI Kit Dynamics	

Multitasking	

Auto Layout	

Storyboards	

APNS	

Gesture Recognizers	

Standard SystemView Controllers
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Cocoa Touch Layer
Frameworks
AddressBookUI MapKit
EventKitUI MessagesUI
iAd.framework UIKit
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Core Services Layer
Peer-to-Peer Services	

iCloud Storage	

Automatic Reference
Counting	

Block Objects	

Data Protection	

File-Sharing Support	

Grand Central Dispatch	

In-App Purchase	

SQLite	

XML Support	

Key Technologies
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Core Services Layer
Frameworks
Accounts Event Kit
Address Book Foundation
Ad Support HealthKit
CFNetwork HomeKit
Core Data JavaScript Core
Core Foundation PassKit
Core Location PushKit
Core Motion StoreKit
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Core Services Layer
New for iOS 8
HealthKit Headers	

!
HKDefines	

HKHealthStore	

HKMetadata	

HKObjectType	

HKStatistics	

HKType Identifiers	

HKUnit
HomeKit Headers	

!
HMAccessory	

HMCharacteristic	

HKCharacteristicMetadata	

HMError	

HMHome	

HM Service
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Core Services Layer
New for iOS 8
Network Extension Headers	

!
NEOnDemandRule	

NEVPNConnection	

NEVPNProtocolIKEv2	

NEVPNProtocolIPSec	

!
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Core Services
!
	

 iBeacon/Location Based Apps 	

	

 Passes & Passbook	

	

 Health/Fitness Apps	

	

 Home Automation Apps	

	

	

 	

Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Core OS Layer
Frameworks
Accelerate
Core Bluetooth
External Accessory
Generic Security Service
Security
System
64-bit Support
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Swift
Cocoa & Cocoa Touch	

Objective-C & C	

Xcode 6 (beta)	

Fast, Modern, Safe, 

Interactive	

Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Swift - The Basics
var languageName: String = “Swift”	

var version: Double = 1.0	

var introduced: Int = 2014	

var isAwesome: Bool = true
Constants &Variables
	

 let languageName: String = “Swift”	

	

 var version: Double = 1.0	

	

 let introduced: Int = 2014	

	

 let isAwesome: Bool = true
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Swift - The Basics
	

 var languageName: String = “Swift”	

	

 var version: Double = 1.0	

	

 var introduced: Int = 2014	

	

 var isAwesome: Bool = true
Type Inference
	

 let languageName:“Swift”	

	

 var version = 1.0	

	

 let introduced = 2014	

	

 let isAwesome = true
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Swift - The Basics
Strings
let someString = “I appear to be a string”	

// inferred to be of type String	

!
urlRequest.HTTPMethod = “POST”	

!
let components = “~/Documents/Swift”.pathComponents	

// [“~”,“Documents”,“Swift”]
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Swift - The Basics
Characters
for character in “chicago” {	

	

 printIn(character)	

}	

!
c
h
i
c
a
g
o
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Swift - The Basics
Building Complex Strings
let a = 3, b = 5	

!
// “3 times 5 is 15”	

!
let mathResult = “(a) times (b) is (a * b)”	

!
// “3 times 5 is 15”	

!
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Swift - The Basics
Array & Dictionary
let components = “~/Documents/Swift”.pathComponents	

// [“~”,“Documents”,“Swift”]	

// returns an Array, not an NS array
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Swift - The Basics
Typed Collections
var names: String [ ] = [“Aaron”,“Anne”,“Bill”,“Jim”]
var names = [“Aaron”,“Anne”,“Bill”,“Jim”]	

// an array of String values
var numberOfLegs = [“dog”: 4, “spider”: 8, “zebra”: 4]	

// an Dictionary with String keys and Int values
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Swift - The Basics
Modifying an Array
var shoppingList = [ “Butter” , “Carrots” ]	

printIn(shoppingList[0])	

shoppingList += “Sugar”	

shoppingList += [ “Salt” , “Pepper” , “Thyme” ]	

shoppingList[1] += “Three carrots” 	

shoppingList[4…6] += [ “Sage” ,“Rosemary” ,“Garlic” ]	

[ “Butter” , Carrots” ]	

[ “Butter” ,“Carrots” ,“Sugar” ]	

[ “Butter” ,“Carrots” ,“Sugar” ,“Salt” ,“Pepper” , Thyme” ]	

[ “Butter” ,“Three carrots” ,“Sugar” ,“Salt” ,“Pepper” ,
Thyme” ]	

[ “Butter” ,“Three carrots” ,“Sugar” ,“Sage” ,“Rosemary” ,
Garlic” ]
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Swift - The Basics
Modifying a Dictionary
var numberOfLegs = [“dog”: 3, spider”: 8, “zebra”: 4]	

numberOfLegs[“snake”] = 0	

numberOfLegs[“dog”] = 4
[ “dog”: 3,“spider”: 8, “zebra”: 4]	

[ “dog”: 3,“spider”: 8, “zebra”: 4, “snake”: 0]	

[ “dog”: 4,“spider”: 8, “zebra”: 4, “snake”: 0]
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
Swift - The Basics
RetrievingValue from a Dictionary using Optionals
var numberOfLegs = [“dog”: 4, spider”: 8, “zebra”: 4]	

!
let possibleLegCount: Int? = numberOfLegs [ “ant” ]	

!
if possibleLegCount == nil {	

	

 printIn(“Ant wasn’t found”)	

} else {	

	

 let legCount = possibleLegCount!	

	

 printIn(“An ant has (legCount) legs”)	

}
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
HTML5
!
Safari Developer Library	

Safari Extensions	

Web Inspector	

Web App & iOS Web Apps	

Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
References
WWDC 2014 Videos	

	

	

 Introduction to Swift

	

	

 Swift Playgrounds	

Other Tools	

Adam Swinden: http://ios.devtools.me

Ben Scheirman: http://benscheirman.com/2013/08/the-ios-developers-toolbelt/ 	

iOS Developer Library	

Xcode Overview: https://developer.apple.com/library/mac/documentation/ToolsLanguages/Conceptual/
Xcode_Overview/Xcode_Overview.pdf 

Xcode Service: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-
continuous_integration/000-About_Continuous_Integration/about_continuous_integration.html#//apple_ref/
doc/uid/TP40013292-CH1-SW1 

iOS Technology Overview: https://developer.apple.com/library/ios/documentation/miscellaneous/conceptual/
iphoneostechoverview/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007898-CH1-SW1 

iOS Technology Overview: iOS Developer Tools: https://developer.apple.com/library/ios/documentation/
miscellaneous/conceptual/iphoneostechoverview/iPhoneOSDeveloperTools/iPhoneOSDeveloperTools.html 

Safari for Developers: https://developer.apple.com/safari/features/ 

iOS 7.1 to iOS 8.0 API Differences: https://developer.apple.com/library/prerelease/ios/releasenotes/General/
iOS80APIDiffs/index.html#//apple_ref/doc/uid/TP40014455	

Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
ThankYou - Q&A


@terigrossheim	



terigrossheim@icloud.com



Teri Grossheim



google.com/+TeriGrossheim	

!
Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014

More Related Content

Viewers also liked

iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)Jonathan Engelsma
 
Beginning iOS Development with Swift
Beginning iOS Development with SwiftBeginning iOS Development with Swift
Beginning iOS Development with SwiftTurnToTech
 
Swift Tutorial Part 2. The complete guide for Swift programming language
Swift Tutorial Part 2. The complete guide for Swift programming languageSwift Tutorial Part 2. The complete guide for Swift programming language
Swift Tutorial Part 2. The complete guide for Swift programming languageHossam Ghareeb
 
I os swift 3.0 初體驗 & 玩 facebook sdk
I os swift 3.0 初體驗 & 玩 facebook sdkI os swift 3.0 初體驗 & 玩 facebook sdk
I os swift 3.0 初體驗 & 玩 facebook sdk政斌 楊
 
Distributing information on iOS
Distributing information on iOSDistributing information on iOS
Distributing information on iOSMake School
 
Advanced Core Data
Advanced Core DataAdvanced Core Data
Advanced Core DataMake School
 
Tutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingTutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingLorisPack Project
 
iOS Swift & FireBase 玩上雲端囉
iOS Swift & FireBase 玩上雲端囉iOS Swift & FireBase 玩上雲端囉
iOS Swift & FireBase 玩上雲端囉政斌 楊
 
How to create edit checks in medidata rave painlessly
How to create edit checks in medidata rave painlesslyHow to create edit checks in medidata rave painlessly
How to create edit checks in medidata rave painlesslyWeihong Yang
 
Swift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming LanguageSwift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming LanguageHossam Ghareeb
 
Introduction to Swift programming language.
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.Icalia Labs
 
Swift Tableview iOS App Development
Swift Tableview iOS App DevelopmentSwift Tableview iOS App Development
Swift Tableview iOS App DevelopmentKetan Raval
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to SwiftGiordano Scalzo
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming LanguageGiuseppe Arici
 

Viewers also liked (17)

Medidata Rave Coder
Medidata Rave CoderMedidata Rave Coder
Medidata Rave Coder
 
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
 
Beginning iOS Development with Swift
Beginning iOS Development with SwiftBeginning iOS Development with Swift
Beginning iOS Development with Swift
 
Swift Tutorial Part 2. The complete guide for Swift programming language
Swift Tutorial Part 2. The complete guide for Swift programming languageSwift Tutorial Part 2. The complete guide for Swift programming language
Swift Tutorial Part 2. The complete guide for Swift programming language
 
I os swift 3.0 初體驗 & 玩 facebook sdk
I os swift 3.0 初體驗 & 玩 facebook sdkI os swift 3.0 初體驗 & 玩 facebook sdk
I os swift 3.0 初體驗 & 玩 facebook sdk
 
Distributing information on iOS
Distributing information on iOSDistributing information on iOS
Distributing information on iOS
 
Advanced Core Data
Advanced Core DataAdvanced Core Data
Advanced Core Data
 
Developing iOS apps with Swift
Developing iOS apps with SwiftDeveloping iOS apps with Swift
Developing iOS apps with Swift
 
Tutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networkingTutorial on using CoreOS Flannel for Docker networking
Tutorial on using CoreOS Flannel for Docker networking
 
iOS Swift & FireBase 玩上雲端囉
iOS Swift & FireBase 玩上雲端囉iOS Swift & FireBase 玩上雲端囉
iOS Swift & FireBase 玩上雲端囉
 
How to create edit checks in medidata rave painlessly
How to create edit checks in medidata rave painlesslyHow to create edit checks in medidata rave painlessly
How to create edit checks in medidata rave painlessly
 
Swift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming LanguageSwift Tutorial Part 1. The Complete Guide For Swift Programming Language
Swift Tutorial Part 1. The Complete Guide For Swift Programming Language
 
Introduction to Swift programming language.
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.
 
Swift Tableview iOS App Development
Swift Tableview iOS App DevelopmentSwift Tableview iOS App Development
Swift Tableview iOS App Development
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to Swift
 
Swift Introduction
Swift IntroductionSwift Introduction
Swift Introduction
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming Language
 

Similar to Tools, Frameworks, & Swift for iOS

Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08Ari Leichtberg
 
Playing with parse.com
Playing with parse.comPlaying with parse.com
Playing with parse.comJUG Genova
 
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Tom Johnson
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015Tom Johnson
 
Getting Started with Office 365 Development
Getting Started with Office 365 DevelopmentGetting Started with Office 365 Development
Getting Started with Office 365 DevelopmentDragan Panjkov
 
Documenting Your API
Documenting Your APIDocumenting Your API
Documenting Your APIMailjet
 
Notes (2012-06-08)
Notes (2012-06-08)Notes (2012-06-08)
Notes (2012-06-08)Chris Pitt
 
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureBuilding Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureXamarin
 
Open Event API
Open Event APIOpen Event API
Open Event APIAvi Aryan
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
Javascript, DOM, browsers and frameworks basics
Javascript, DOM, browsers and frameworks basicsJavascript, DOM, browsers and frameworks basics
Javascript, DOM, browsers and frameworks basicsNet7
 
Building Event-driven Serverless Applications
Building Event-driven Serverless ApplicationsBuilding Event-driven Serverless Applications
Building Event-driven Serverless ApplicationsAmazon Web Services
 
Introduction to Social APIs
Introduction to Social APIsIntroduction to Social APIs
Introduction to Social APIsjsiarto
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursRestlet
 
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco DevNet
 
Mobile Development integration tests
Mobile Development integration testsMobile Development integration tests
Mobile Development integration testsKenneth Poon
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationChris Schalk
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdatePatrick Chanezon
 

Similar to Tools, Frameworks, & Swift for iOS (20)

Swift meetup22june2015
Swift meetup22june2015Swift meetup22june2015
Swift meetup22june2015
 
Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08
 
Playing with parse.com
Playing with parse.comPlaying with parse.com
Playing with parse.com
 
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015
 
Getting Started with Office 365 Development
Getting Started with Office 365 DevelopmentGetting Started with Office 365 Development
Getting Started with Office 365 Development
 
Documenting Your API
Documenting Your APIDocumenting Your API
Documenting Your API
 
Notes (2012-06-08)
Notes (2012-06-08)Notes (2012-06-08)
Notes (2012-06-08)
 
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureBuilding Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
 
Open Event API
Open Event APIOpen Event API
Open Event API
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
Javascript, DOM, browsers and frameworks basics
Javascript, DOM, browsers and frameworks basicsJavascript, DOM, browsers and frameworks basics
Javascript, DOM, browsers and frameworks basics
 
Building Event-driven Serverless Applications
Building Event-driven Serverless ApplicationsBuilding Event-driven Serverless Applications
Building Event-driven Serverless Applications
 
Introduction to Social APIs
Introduction to Social APIsIntroduction to Social APIs
Introduction to Social APIs
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hours
 
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
 
Mobile Development integration tests
Mobile Development integration testsMobile Development integration tests
Mobile Development integration tests
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial Presentation
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social Update
 
API for Beginners
API for BeginnersAPI for Beginners
API for Beginners
 

More from Teri Grossheim

T. Grossheim - Value Curve.pdf
T. Grossheim - Value Curve.pdfT. Grossheim - Value Curve.pdf
T. Grossheim - Value Curve.pdfTeri Grossheim
 
KMG Cisco Case Competition - IoT Marketing Group.pptx
KMG Cisco Case Competition - IoT Marketing Group.pptxKMG Cisco Case Competition - IoT Marketing Group.pptx
KMG Cisco Case Competition - IoT Marketing Group.pptxTeri Grossheim
 
T. grossheim perceptual mapping
T. grossheim   perceptual mappingT. grossheim   perceptual mapping
T. grossheim perceptual mappingTeri Grossheim
 
T. grossheim ethnographic study
T. grossheim   ethnographic studyT. grossheim   ethnographic study
T. grossheim ethnographic studyTeri Grossheim
 
T. grossheim conjoint analysis - final
T. grossheim   conjoint analysis - finalT. grossheim   conjoint analysis - final
T. grossheim conjoint analysis - finalTeri Grossheim
 
Hyatt Hotels Case Study
Hyatt Hotels Case StudyHyatt Hotels Case Study
Hyatt Hotels Case StudyTeri Grossheim
 
Risk & Compliance: Futureproof IT
Risk & Compliance: Futureproof ITRisk & Compliance: Futureproof IT
Risk & Compliance: Futureproof ITTeri Grossheim
 
Cisco VP Letter of Recommendation
Cisco VP Letter of RecommendationCisco VP Letter of Recommendation
Cisco VP Letter of RecommendationTeri Grossheim
 
Teri Grossheim - Amazon Presentation
Teri Grossheim - Amazon PresentationTeri Grossheim - Amazon Presentation
Teri Grossheim - Amazon PresentationTeri Grossheim
 
Vendor Management & AP Audit Report - Data Mining & Analytics
Vendor Management & AP Audit Report - Data Mining & AnalyticsVendor Management & AP Audit Report - Data Mining & Analytics
Vendor Management & AP Audit Report - Data Mining & AnalyticsTeri Grossheim
 
Crimes Project - Data Mining & Analytics
Crimes Project - Data Mining & AnalyticsCrimes Project - Data Mining & Analytics
Crimes Project - Data Mining & AnalyticsTeri Grossheim
 
'Bing365' Group Case Presentation - Microsoft Competition
'Bing365' Group Case Presentation - Microsoft Competition'Bing365' Group Case Presentation - Microsoft Competition
'Bing365' Group Case Presentation - Microsoft CompetitionTeri Grossheim
 
Tips & Tricks for Creative Computing
Tips & Tricks for Creative ComputingTips & Tricks for Creative Computing
Tips & Tricks for Creative ComputingTeri Grossheim
 
BI Practices Overview - Amazon
BI Practices Overview - AmazonBI Practices Overview - Amazon
BI Practices Overview - AmazonTeri Grossheim
 
Precision Marketing Presentation
Precision Marketing PresentationPrecision Marketing Presentation
Precision Marketing PresentationTeri Grossheim
 
Consulting Report - Ethnographic Study Techniques
Consulting Report - Ethnographic Study TechniquesConsulting Report - Ethnographic Study Techniques
Consulting Report - Ethnographic Study TechniquesTeri Grossheim
 
Repositioning of Wendy's
Repositioning of Wendy'sRepositioning of Wendy's
Repositioning of Wendy'sTeri Grossheim
 
Consulting Report - Revolution Brewing
Consulting Report - Revolution BrewingConsulting Report - Revolution Brewing
Consulting Report - Revolution BrewingTeri Grossheim
 

More from Teri Grossheim (18)

T. Grossheim - Value Curve.pdf
T. Grossheim - Value Curve.pdfT. Grossheim - Value Curve.pdf
T. Grossheim - Value Curve.pdf
 
KMG Cisco Case Competition - IoT Marketing Group.pptx
KMG Cisco Case Competition - IoT Marketing Group.pptxKMG Cisco Case Competition - IoT Marketing Group.pptx
KMG Cisco Case Competition - IoT Marketing Group.pptx
 
T. grossheim perceptual mapping
T. grossheim   perceptual mappingT. grossheim   perceptual mapping
T. grossheim perceptual mapping
 
T. grossheim ethnographic study
T. grossheim   ethnographic studyT. grossheim   ethnographic study
T. grossheim ethnographic study
 
T. grossheim conjoint analysis - final
T. grossheim   conjoint analysis - finalT. grossheim   conjoint analysis - final
T. grossheim conjoint analysis - final
 
Hyatt Hotels Case Study
Hyatt Hotels Case StudyHyatt Hotels Case Study
Hyatt Hotels Case Study
 
Risk & Compliance: Futureproof IT
Risk & Compliance: Futureproof ITRisk & Compliance: Futureproof IT
Risk & Compliance: Futureproof IT
 
Cisco VP Letter of Recommendation
Cisco VP Letter of RecommendationCisco VP Letter of Recommendation
Cisco VP Letter of Recommendation
 
Teri Grossheim - Amazon Presentation
Teri Grossheim - Amazon PresentationTeri Grossheim - Amazon Presentation
Teri Grossheim - Amazon Presentation
 
Vendor Management & AP Audit Report - Data Mining & Analytics
Vendor Management & AP Audit Report - Data Mining & AnalyticsVendor Management & AP Audit Report - Data Mining & Analytics
Vendor Management & AP Audit Report - Data Mining & Analytics
 
Crimes Project - Data Mining & Analytics
Crimes Project - Data Mining & AnalyticsCrimes Project - Data Mining & Analytics
Crimes Project - Data Mining & Analytics
 
'Bing365' Group Case Presentation - Microsoft Competition
'Bing365' Group Case Presentation - Microsoft Competition'Bing365' Group Case Presentation - Microsoft Competition
'Bing365' Group Case Presentation - Microsoft Competition
 
Tips & Tricks for Creative Computing
Tips & Tricks for Creative ComputingTips & Tricks for Creative Computing
Tips & Tricks for Creative Computing
 
BI Practices Overview - Amazon
BI Practices Overview - AmazonBI Practices Overview - Amazon
BI Practices Overview - Amazon
 
Precision Marketing Presentation
Precision Marketing PresentationPrecision Marketing Presentation
Precision Marketing Presentation
 
Consulting Report - Ethnographic Study Techniques
Consulting Report - Ethnographic Study TechniquesConsulting Report - Ethnographic Study Techniques
Consulting Report - Ethnographic Study Techniques
 
Repositioning of Wendy's
Repositioning of Wendy'sRepositioning of Wendy's
Repositioning of Wendy's
 
Consulting Report - Revolution Brewing
Consulting Report - Revolution BrewingConsulting Report - Revolution Brewing
Consulting Report - Revolution Brewing
 

Recently uploaded

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Tools, Frameworks, & Swift for iOS

  • 1. Tools & Libraries for iOS Teri Grossheim Mobile+Web Devcon Chicago 2014
  • 2. Agenda Tools & Frameworks Swift Basics HTML5 Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 3. Apple Developer Programs Separate programs for iOS & OS X (Individual vs. Company) Apps distributed on App Store iOS Developer Enterprise Program iOS Developer University Program Safari Developer Program Register as an Apple Developer Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 4. Apple Developer Library For iOS, OS X, Safari, iAd Programming Guides Reference Code Sample Code Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 5. Tools & Frameworks Xcode Xcode Service Instruments The Developer Library Other Tools iOS SDK Frameworks Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 6. Xcode Suite of Development Tools Write & Debug iOS Simulator Instruments Interface Builder Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 7. Xcode Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 8. Xcode Service OS X Server Enable Access to Source Code Repositories Configure Bots to Perform Continuous Integrations Manage & Monitor Bots from Log Navigator & Web Browser Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 9. Instruments Analyze performance of iOS apps Gathers data about: Memory Usage Disk Activity Network Activity Graphics Correlation of data Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 10. Playgrounds A new type of document in Xcode 6 Design a new algorithm Create new tests Experiment with new APIs Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 11. Other Tools AppCode Injection for Xcode Dash Objective-Clean Hockey Coach Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 12. iOS SDK Cocoa Touch Layer: Key frameworks Media Layer: Graphics, audio, and video technologies Core Services Layer: Fundamental system services for apps Core OS Layer: Low-level features Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 13. Cocoa Touch Layer Key Technologies AirDrop Text Kit UI Kit Dynamics Multitasking Auto Layout Storyboards APNS Gesture Recognizers Standard SystemView Controllers Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 14. Cocoa Touch Layer Frameworks AddressBookUI MapKit EventKitUI MessagesUI iAd.framework UIKit Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 15. Core Services Layer Peer-to-Peer Services iCloud Storage Automatic Reference Counting Block Objects Data Protection File-Sharing Support Grand Central Dispatch In-App Purchase SQLite XML Support Key Technologies Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 16. Core Services Layer Frameworks Accounts Event Kit Address Book Foundation Ad Support HealthKit CFNetwork HomeKit Core Data JavaScript Core Core Foundation PassKit Core Location PushKit Core Motion StoreKit Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 17. Core Services Layer New for iOS 8 HealthKit Headers ! HKDefines HKHealthStore HKMetadata HKObjectType HKStatistics HKType Identifiers HKUnit HomeKit Headers ! HMAccessory HMCharacteristic HKCharacteristicMetadata HMError HMHome HM Service Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 18. Core Services Layer New for iOS 8 Network Extension Headers ! NEOnDemandRule NEVPNConnection NEVPNProtocolIKEv2 NEVPNProtocolIPSec ! Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 19. Core Services ! iBeacon/Location Based Apps Passes & Passbook Health/Fitness Apps Home Automation Apps Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 20. Core OS Layer Frameworks Accelerate Core Bluetooth External Accessory Generic Security Service Security System 64-bit Support Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 21. Swift Cocoa & Cocoa Touch Objective-C & C Xcode 6 (beta) Fast, Modern, Safe, 
 Interactive Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 22. Swift - The Basics var languageName: String = “Swift” var version: Double = 1.0 var introduced: Int = 2014 var isAwesome: Bool = true Constants &Variables let languageName: String = “Swift” var version: Double = 1.0 let introduced: Int = 2014 let isAwesome: Bool = true Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 23. Swift - The Basics var languageName: String = “Swift” var version: Double = 1.0 var introduced: Int = 2014 var isAwesome: Bool = true Type Inference let languageName:“Swift” var version = 1.0 let introduced = 2014 let isAwesome = true Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 24. Swift - The Basics Strings let someString = “I appear to be a string” // inferred to be of type String ! urlRequest.HTTPMethod = “POST” ! let components = “~/Documents/Swift”.pathComponents // [“~”,“Documents”,“Swift”] Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 25. Swift - The Basics Characters for character in “chicago” { printIn(character) } ! c h i c a g o Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 26. Swift - The Basics Building Complex Strings let a = 3, b = 5 ! // “3 times 5 is 15” ! let mathResult = “(a) times (b) is (a * b)” ! // “3 times 5 is 15” ! Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 27. Swift - The Basics Array & Dictionary let components = “~/Documents/Swift”.pathComponents // [“~”,“Documents”,“Swift”] // returns an Array, not an NS array Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 28. Swift - The Basics Typed Collections var names: String [ ] = [“Aaron”,“Anne”,“Bill”,“Jim”] var names = [“Aaron”,“Anne”,“Bill”,“Jim”] // an array of String values var numberOfLegs = [“dog”: 4, “spider”: 8, “zebra”: 4] // an Dictionary with String keys and Int values Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 29. Swift - The Basics Modifying an Array var shoppingList = [ “Butter” , “Carrots” ] printIn(shoppingList[0]) shoppingList += “Sugar” shoppingList += [ “Salt” , “Pepper” , “Thyme” ] shoppingList[1] += “Three carrots” shoppingList[4…6] += [ “Sage” ,“Rosemary” ,“Garlic” ] [ “Butter” , Carrots” ] [ “Butter” ,“Carrots” ,“Sugar” ] [ “Butter” ,“Carrots” ,“Sugar” ,“Salt” ,“Pepper” , Thyme” ] [ “Butter” ,“Three carrots” ,“Sugar” ,“Salt” ,“Pepper” , Thyme” ] [ “Butter” ,“Three carrots” ,“Sugar” ,“Sage” ,“Rosemary” , Garlic” ] Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 30. Swift - The Basics Modifying a Dictionary var numberOfLegs = [“dog”: 3, spider”: 8, “zebra”: 4] numberOfLegs[“snake”] = 0 numberOfLegs[“dog”] = 4 [ “dog”: 3,“spider”: 8, “zebra”: 4] [ “dog”: 3,“spider”: 8, “zebra”: 4, “snake”: 0] [ “dog”: 4,“spider”: 8, “zebra”: 4, “snake”: 0] Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 31. Swift - The Basics RetrievingValue from a Dictionary using Optionals var numberOfLegs = [“dog”: 4, spider”: 8, “zebra”: 4] ! let possibleLegCount: Int? = numberOfLegs [ “ant” ] ! if possibleLegCount == nil { printIn(“Ant wasn’t found”) } else { let legCount = possibleLegCount! printIn(“An ant has (legCount) legs”) } Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 32. HTML5 ! Safari Developer Library Safari Extensions Web Inspector Web App & iOS Web Apps Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 33. References WWDC 2014 Videos Introduction to Swift
 Swift Playgrounds Other Tools Adam Swinden: http://ios.devtools.me
 Ben Scheirman: http://benscheirman.com/2013/08/the-ios-developers-toolbelt/ iOS Developer Library Xcode Overview: https://developer.apple.com/library/mac/documentation/ToolsLanguages/Conceptual/ Xcode_Overview/Xcode_Overview.pdf 
 Xcode Service: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide- continuous_integration/000-About_Continuous_Integration/about_continuous_integration.html#//apple_ref/ doc/uid/TP40013292-CH1-SW1 
 iOS Technology Overview: https://developer.apple.com/library/ios/documentation/miscellaneous/conceptual/ iphoneostechoverview/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007898-CH1-SW1 
 iOS Technology Overview: iOS Developer Tools: https://developer.apple.com/library/ios/documentation/ miscellaneous/conceptual/iphoneostechoverview/iPhoneOSDeveloperTools/iPhoneOSDeveloperTools.html 
 Safari for Developers: https://developer.apple.com/safari/features/ 
 iOS 7.1 to iOS 8.0 API Differences: https://developer.apple.com/library/prerelease/ios/releasenotes/General/ iOS80APIDiffs/index.html#//apple_ref/doc/uid/TP40014455 Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  • 34. ThankYou - Q&A 
 @terigrossheim 
 terigrossheim@icloud.com
 
 Teri Grossheim
 
 google.com/+TeriGrossheim ! Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014