Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store...

39
Building Apps with ArcGIS Runtime SDK for iOS Divesh Goyal Eric Ito

Transcript of Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store...

Page 1: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Building Apps with ArcGIS Runtime SDK for iOS

Divesh Goyal Eric Ito

Page 2: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Topics

• Runtime Overview • Offline* • Popups • Security • Licensing*

* New at 10.2.2

http://www.imore.com/sites/imore.com/files/styles/large/public/field/image/2014/03/topic_iphone_5c.png?itok=z2U8jqc9

Page 3: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET
Page 4: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET
Page 5: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Runtime platforms

QT

OS X

Windows Store

JavaSE

Windows Mobile

iOS

Android

Windows Phone

Mobile

Desktop

Embedded

.NET

Desktop Client

Page 6: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Take your data with you.

No connection? No problem.

Offline

http://www.wallpapervortex.com/wallpaper-35500_miscellaneous_walking_in_the_middle_of_nowhere.html

Page 7: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Getting data onto the device.

Offline

http://www.maclife.com/files/u220903/iphone_5_plugged_in_620px.png

Page 8: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Building offline apps with Runtime - I & II Primrose B, 4 – 6:30 PM

Building offline apps for iOS & Mac Mojave, 2:30 – 3:30 PM

In-depth

Page 9: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

DEMO

Page 10: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Plan for interruptions.

Offline

http://cdn.imore.com/sites/imore.com/files/field/image/2012/09/remind_me_later_iphone_hero2.jpg

Page 11: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Understand app state transitions

https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/Art/high_level_flow_2x.png

Page 12: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Refresh content in the background

Be opportunistic.

Offline

http://www.imore.com/sites/imore.com/files/styles/large_watermark_bottom_right/public/field/image/2014/02/background_app_refresh_settings_iphone_hero.jpg?itok=ezqD0NRp

Page 13: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Background Fetch

Page 14: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Background Fetch (step 1)

Page 15: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Background Fetch (step 2 - check status)

Page 16: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Downloading in the Background

Page 17: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Notify the user of new content.

Get back in the game.

http://cdn.iphonehacks.com/wp-content/uploads/2013/06/ios-7-notification-center.png

Page 18: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

DEMO

Page 19: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Commentary, Pictures...

Explore maps with

Popups

Page 20: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Popups

Explore maps with Charts...

Page 21: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/7/8/1373301210934/shadow-of-man-

Graphs...

Explore maps with

Popups

Page 22: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/7/8/1373301210934/shadow-of-man-

Attributes, pictures, videos, pdf files, office docs...

List feature details

Popups

Page 23: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/7/8/1373301210934/shadow-of-man-

Collect new information

Popups

Page 24: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/7/8/1373301210934/shadow-of-man-

Validate with the data model.

Popups

Page 25: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/7/8/1373301210934/shadow-of-man-

Augment with rich media.

Popups

Page 26: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/7/8/1373301210934/shadow-of-man-

Capture location with on-board GPS.

Popups

Page 27: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Write less code.

Popups

http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/7/8/1373301210934/shadow-of-man-

Page 28: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

DEMO

Page 29: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Don’t forget to lock up.

Security

http://4.bp.blogspot.com/-fjKsKOJwLgA/Tt_mDAXbXOI/AAAAAAAAAMI/OvL_fdtLgVo/s1600/Data+security+2.jpg

Page 30: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Protect files with On-disk encryption

Security

http://i0.wp.com/techfat.com/wp-content/uploads/2013/09/Apple-event-74.jpg

Page 31: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

oAuth, HTTP, IWA, PKI Certificates...

Your choice

Security

Page 32: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Keychain is your friend.

Security

http://www.securelist.com/en/images/pictures/klblog/208193452.png

Page 33: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

DEMO

Page 34: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Same game, new rules.

Licensing

http://www.photographergrabber.com/wp-content/uploads/2013/11/contract-magnifying-glass.jpg

Page 35: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Runtime Licensing

Page 36: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

All capabilities. Period.

Development & Testing

Licensing

Page 37: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

Connected capabilities + Offline map viewing

Basic level

Licensing

//Set client ID [AGSRuntimeEnvironment setClientID:@"DuxuhOEH9dAC4JCY" error:&err];

Page 38: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET

All capabilities, including offline routing, geocoding, editing, and sync.

Standard level

Licensing

//A) Set your authorization code [[AGSRuntimeEnvironment license] setLicenseCode:@”<code>”];

//B) Set license w/ org account info = [[AGSLicenseInfo alloc] initWithPortalInfo:portalInfo]; [[AGSRuntimeEnvironment license] setLicenseInfo:info ];

OR

Page 39: Building Apps with ArcGIS Runtime SDK for iOS · Runtime platforms . QT . OS X . Windows Store JavaSE . Windows . Mobile . iOS Android Windows . Phone . Mobile . Desktop . Embedded.NET