SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Creating Enterprise
Friendly iOS Apps
MoDevEast 2013
December 12, 2013
About Me
Tony Lenzi
Technical Lead and iOS Developer
tony.lenzi@gmail.com
@tonylenzi
Increasing Demand
•

57% of CIOs say that mobile devices and apps
are a high priority or essential to their strategic
agenda

•

89% of enterprises support email on mobile
phones and tablets

•

Communications and productivity apps
dominate
Source: “Managing the Complete Customer Experience”, Peggy Anne Salz
GigaOm Research
Apps Deliver Value
•

Organizations want apps that enable
interactions that deliver value to their company
and their customers

•

Employees are customers too

•

MDM solutions make it easier for IT to manage
“I want a Blackberry
experience on iOS.”
- IT integrator at a Fortune 500
IT Crackberry
•

Easy to configure and distribute

•

Minutes, not hours

•

IT always has control of data on the device

•

Normally purchased and owned by the company

•

Device separation
Confidentiality

Information!
Security
Integrity

Availability
What’s Changed
User Expectations
•

Rapidly evolving apps that consumers use every
day

•

Emphasis on words like “delight”, “engaging”,
and “experience”

•

Why can’t I do this on my phone or tablet?
Enterprises need the benefits delivered by
consumer driven apps, but they also need to
retain some of the protections provided by
traditional enterprise software.
Data separation, not device separation,
enables users and protects the enterprise.
How can we enable enterprises to control
the use of their data in our apps?
iOS 7 in the Enterprise
Management
Authentication
Networking
Data Security
Mobile Device Management
•

Allows IT to manage devices, (un)install apps and
data

•

Single Sign-On

•

Per-app VPN

•

Managed “Open In”

•

iOS 7 allows pushing configuration files to
managed apps
App Configuration
•

Read a configuration dictionary from an MDM
server using 

[[NSUserDefaults standardUserDefaults]
objectForKey:

@“com.apple.configuration.managed”]

•

Listen for changes using
NSUserDefaultsDidChangeNotification
Config Use Cases
•

Disable iCloud sharing

•

Bootstrap URLs for services

•

Company file share location

•

Things IT may want to customize to make your
app usable on the first run
// config pushed by MDM stored here
NSDictionary *mdmConfig = [
[NSUserDefaults standardUserDefaults]
dictionaryForKey:@“com.apple.configuration.managed”
];
!

NSNumber *enableCloudSync =
mdmConfig[@“enableCloudSync”];
!

// check that it exists and is the correct type
if(enableCloudSync &&
[enableCloudSync isKindOfClass:[NSNumber class]]) {
…
} else {
// set default value for when unmanaged
}
App Feedback
•

Write feedback to NSUserDefaults key
com.apple.feedback.managed!

•

MDM server will read this dictionary from
managed apps

•

Error and usage statistics

•

Aggregate and respect privacy
- (void) webServiceTimeOut {
self.timeOutCount += 1;
NSMutableDictionary *feedback = [
[NSUserDefaults standardUserDefaults]
dictionaryForKey:@“com.apple.feedback.managed”]
mutableCopy];
!

if(!feedback)
feedback = [NSMutableDictionary dictionary];
!

}
!

feedback[@“timeOutCount”] = @(self.timeOutCount);
[[NSUserDefaults standardUserDefaults]
setObject:feedback
forKey:@“com.apple.feedback.managed”];
and remember…
•

NSUserDefaults is unprotected

•

Check the defaults every time the app starts

•

Validate your input types and values

•

Keep it small

•

Document your configurable settings
Single App Mode
•

MDM can control

•

In iOS 7, a managed app may request
permission to go to single app mode:

UIAccessibilityRequestGuidedAccessSession()

•

Client demo mode, cash registers, specific
employee roles, quizzes and exams
Single Sign-On
Built Into iOS!
•

App uses NSURLConnection and/or NSURLSession

•

IT defines app bundle IDs on their MDM server

•

Secured using Kerberos, password stored in the
keychain, not inside the apps

•

NSURLConnection is the backbone of
AFNetworking, NSURLSession is extended in
AFNetworking 2.0
App 1

App 2

App 3

VPN

Internet

Enterprise

Per-App VPN
Built Into iOS
Control Data Usage
•

Enterprise users may want to limit how much
cellular data their users use

•

urlRequest.allowsCellularAccess = NO;

•

Another opportunity to use managed
configuration profiles to give IT more control
Data Security
Built Into iOS!
•

Installed apps are protected automatically with
NSFileProtectionCompleteUntilFirstAuthentication

in iOS 7
•

Consider the sensitivity of each file or type of
data you are saving
•

NSFileProtectionNone

read or write anytime

•

NSFileProtectionComplete

encrypted unless the device is unlocked

•

NSFileProtectionCompleteUnlessOpen

if the file is open when unlocked, you may continue
to access it even if the user locks the device.

•

kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly

keeps keychain secrets on one device
Managed “Open In”
•

Not every business wants
their “business” on
Facebook

•

Managed apps only share
data with other managed
apps
App Licensing
•

Apple is now allowing volume purchasers to buy
licenses that may expire and/or be reassigned to
other users

•

Opens up purchasing models for schools, others
who may share and reuse devices

•

If you support this model, you need to be aware
of app revocation
Receipts and Revocation
•

iOS 7 receipts now include volume purchase
information

•

Information that ties your app to this device is on
the receipt

•

Validate that the receipt is still valid using StoreKit

•

You can not quit the app if it’s invalid, but you can
degrade the features/experience
Questions
References
•

“Extending your Apps for Enterprise and
Education Use”

Session 301, WWDC 2013

•

“Managing Apple Devices”

Session 300, WWDC 2013

•

“Using Receipts to Protect Digital Sales”

Session 308, WWDC 2013

Más contenido relacionado

La actualidad más candente

11.1 Android with HTML
11.1 Android with HTML11.1 Android with HTML
11.1 Android with HTMLOum Saokosal
 
GaETC: iPads, iPods, and iPhones...Oh MY!
GaETC: iPads, iPods, and iPhones...Oh MY!GaETC: iPads, iPods, and iPhones...Oh MY!
GaETC: iPads, iPods, and iPhones...Oh MY!Monika Davis
 
YOW! Connected 2014 - Developing Secure iOS Applications
YOW! Connected 2014 - Developing Secure iOS ApplicationsYOW! Connected 2014 - Developing Secure iOS Applications
YOW! Connected 2014 - Developing Secure iOS Applicationseightbit
 
JahiaOne 2015 - Jahia on your Wrist (The Apple Watch Integration example) by ...
JahiaOne 2015 - Jahia on your Wrist (The Apple Watch Integration example) by ...JahiaOne 2015 - Jahia on your Wrist (The Apple Watch Integration example) by ...
JahiaOne 2015 - Jahia on your Wrist (The Apple Watch Integration example) by ...Jahia Solutions Group
 
Experience years advanced iOS 6 with iPad device
Experience years advanced iOS 6 with iPad deviceExperience years advanced iOS 6 with iPad device
Experience years advanced iOS 6 with iPad deviceEthan Samuel
 
iOS Coding Best Practices
iOS Coding Best PracticesiOS Coding Best Practices
iOS Coding Best PracticesJean-Luc David
 
Using AIR for Mobile Development
Using AIR for Mobile DevelopmentUsing AIR for Mobile Development
Using AIR for Mobile DevelopmentVeronique Brossier
 
Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!Matheus Cardoso
 
Mobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 AndroidMobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 AndroidMohammad Shaker
 
Docker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin ArcillaDocker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin ArcillaDEVCON
 

La actualidad más candente (10)

11.1 Android with HTML
11.1 Android with HTML11.1 Android with HTML
11.1 Android with HTML
 
GaETC: iPads, iPods, and iPhones...Oh MY!
GaETC: iPads, iPods, and iPhones...Oh MY!GaETC: iPads, iPods, and iPhones...Oh MY!
GaETC: iPads, iPods, and iPhones...Oh MY!
 
YOW! Connected 2014 - Developing Secure iOS Applications
YOW! Connected 2014 - Developing Secure iOS ApplicationsYOW! Connected 2014 - Developing Secure iOS Applications
YOW! Connected 2014 - Developing Secure iOS Applications
 
JahiaOne 2015 - Jahia on your Wrist (The Apple Watch Integration example) by ...
JahiaOne 2015 - Jahia on your Wrist (The Apple Watch Integration example) by ...JahiaOne 2015 - Jahia on your Wrist (The Apple Watch Integration example) by ...
JahiaOne 2015 - Jahia on your Wrist (The Apple Watch Integration example) by ...
 
Experience years advanced iOS 6 with iPad device
Experience years advanced iOS 6 with iPad deviceExperience years advanced iOS 6 with iPad device
Experience years advanced iOS 6 with iPad device
 
iOS Coding Best Practices
iOS Coding Best PracticesiOS Coding Best Practices
iOS Coding Best Practices
 
Using AIR for Mobile Development
Using AIR for Mobile DevelopmentUsing AIR for Mobile Development
Using AIR for Mobile Development
 
Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!
 
Mobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 AndroidMobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 Android
 
Docker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin ArcillaDocker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin Arcilla
 

Similar a Creating Enterprise Friendly Apps

Intune Concept.pptx
Intune Concept.pptxIntune Concept.pptx
Intune Concept.pptxjmbrrvgzhr
 
I os enterprise_deployment_overview
I os enterprise_deployment_overviewI os enterprise_deployment_overview
I os enterprise_deployment_overviewAndrey Apuhtin
 
CIS14: Mobilize Your Workforce with Secure Identity Services
CIS14: Mobilize Your Workforce with Secure Identity ServicesCIS14: Mobilize Your Workforce with Secure Identity Services
CIS14: Mobilize Your Workforce with Secure Identity ServicesCloudIDSummit
 
UXT Chicago - Designing Mobile Apps for Enterprise Use
UXT Chicago - Designing Mobile Apps for Enterprise UseUXT Chicago - Designing Mobile Apps for Enterprise Use
UXT Chicago - Designing Mobile Apps for Enterprise UseJeff Steffgen
 
MMS 2015: What is ems and how to configure it
MMS 2015: What is ems and how to configure itMMS 2015: What is ems and how to configure it
MMS 2015: What is ems and how to configure itPeter Daalmans
 
5 Essential Tips for Creating An Effective BYOD Policy
5 Essential Tips for Creating An Effective BYOD Policy5 Essential Tips for Creating An Effective BYOD Policy
5 Essential Tips for Creating An Effective BYOD PolicyKaseya
 
Richard_Hayton_SUPPORTING_ANY_DEVICE_IT-tinget_2014
Richard_Hayton_SUPPORTING_ANY_DEVICE_IT-tinget_2014Richard_Hayton_SUPPORTING_ANY_DEVICE_IT-tinget_2014
Richard_Hayton_SUPPORTING_ANY_DEVICE_IT-tinget_2014Conference_by_EVRY
 
Modern Management for Identiteter og Enheter – Azure AD, Intune og Windows 10
Modern Management for Identiteter og Enheter – Azure AD, Intune og Windows 10Modern Management for Identiteter og Enheter – Azure AD, Intune og Windows 10
Modern Management for Identiteter og Enheter – Azure AD, Intune og Windows 10MVP Dagen
 
Android enterprise application development
Android enterprise application developmentAndroid enterprise application development
Android enterprise application developmentParamvir Singh
 
Securing and Managing Offce 365 with XenMobile
Securing and Managing Offce 365 with XenMobileSecuring and Managing Offce 365 with XenMobile
Securing and Managing Offce 365 with XenMobileCitrix
 
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...WSO2
 
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...WSO2
 
Managing_Devices_and_Corporate_Data_on_iOS
Managing_Devices_and_Corporate_Data_on_iOSManaging_Devices_and_Corporate_Data_on_iOS
Managing_Devices_and_Corporate_Data_on_iOSGrant Jolly
 
Enterprise Mobility Poster from Microsoft and Atidan
Enterprise Mobility Poster from Microsoft and AtidanEnterprise Mobility Poster from Microsoft and Atidan
Enterprise Mobility Poster from Microsoft and AtidanDavid J Rosenthal
 
CIS13: Beyond the Building: Secure Identity Services for Mobile and Cloud Apps
CIS13: Beyond the Building: Secure Identity Services for Mobile and Cloud AppsCIS13: Beyond the Building: Secure Identity Services for Mobile and Cloud Apps
CIS13: Beyond the Building: Secure Identity Services for Mobile and Cloud AppsCloudIDSummit
 
Smarter Commerce Summit - IBM MobileFirst Services
Smarter Commerce Summit - IBM MobileFirst ServicesSmarter Commerce Summit - IBM MobileFirst Services
Smarter Commerce Summit - IBM MobileFirst ServicesChris Pepin
 
Securing Teams with Microsoft 365 Security for Remote Work
Securing Teams with Microsoft 365 Security for Remote WorkSecuring Teams with Microsoft 365 Security for Remote Work
Securing Teams with Microsoft 365 Security for Remote WorkPerficient, Inc.
 
Mobile Security for the Enterprise
Mobile Security for the EnterpriseMobile Security for the Enterprise
Mobile Security for the EnterpriseWill Adams
 

Similar a Creating Enterprise Friendly Apps (20)

Intune Concept.pptx
Intune Concept.pptxIntune Concept.pptx
Intune Concept.pptx
 
Airwatch od VMware
Airwatch od VMwareAirwatch od VMware
Airwatch od VMware
 
I os enterprise_deployment_overview
I os enterprise_deployment_overviewI os enterprise_deployment_overview
I os enterprise_deployment_overview
 
CIS14: Mobilize Your Workforce with Secure Identity Services
CIS14: Mobilize Your Workforce with Secure Identity ServicesCIS14: Mobilize Your Workforce with Secure Identity Services
CIS14: Mobilize Your Workforce with Secure Identity Services
 
UXT Chicago - Designing Mobile Apps for Enterprise Use
UXT Chicago - Designing Mobile Apps for Enterprise UseUXT Chicago - Designing Mobile Apps for Enterprise Use
UXT Chicago - Designing Mobile Apps for Enterprise Use
 
MMS 2015: What is ems and how to configure it
MMS 2015: What is ems and how to configure itMMS 2015: What is ems and how to configure it
MMS 2015: What is ems and how to configure it
 
5 Essential Tips for Creating An Effective BYOD Policy
5 Essential Tips for Creating An Effective BYOD Policy5 Essential Tips for Creating An Effective BYOD Policy
5 Essential Tips for Creating An Effective BYOD Policy
 
2 app management win10
2 app management win102 app management win10
2 app management win10
 
Richard_Hayton_SUPPORTING_ANY_DEVICE_IT-tinget_2014
Richard_Hayton_SUPPORTING_ANY_DEVICE_IT-tinget_2014Richard_Hayton_SUPPORTING_ANY_DEVICE_IT-tinget_2014
Richard_Hayton_SUPPORTING_ANY_DEVICE_IT-tinget_2014
 
Modern Management for Identiteter og Enheter – Azure AD, Intune og Windows 10
Modern Management for Identiteter og Enheter – Azure AD, Intune og Windows 10Modern Management for Identiteter og Enheter – Azure AD, Intune og Windows 10
Modern Management for Identiteter og Enheter – Azure AD, Intune og Windows 10
 
Android enterprise application development
Android enterprise application developmentAndroid enterprise application development
Android enterprise application development
 
Securing and Managing Offce 365 with XenMobile
Securing and Managing Offce 365 with XenMobileSecuring and Managing Offce 365 with XenMobile
Securing and Managing Offce 365 with XenMobile
 
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...
 
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...
WSO2Con Asia 2014 - Embracing BYOD Trend Without Compromising Security, Emplo...
 
Managing_Devices_and_Corporate_Data_on_iOS
Managing_Devices_and_Corporate_Data_on_iOSManaging_Devices_and_Corporate_Data_on_iOS
Managing_Devices_and_Corporate_Data_on_iOS
 
Enterprise Mobility Poster from Microsoft and Atidan
Enterprise Mobility Poster from Microsoft and AtidanEnterprise Mobility Poster from Microsoft and Atidan
Enterprise Mobility Poster from Microsoft and Atidan
 
CIS13: Beyond the Building: Secure Identity Services for Mobile and Cloud Apps
CIS13: Beyond the Building: Secure Identity Services for Mobile and Cloud AppsCIS13: Beyond the Building: Secure Identity Services for Mobile and Cloud Apps
CIS13: Beyond the Building: Secure Identity Services for Mobile and Cloud Apps
 
Smarter Commerce Summit - IBM MobileFirst Services
Smarter Commerce Summit - IBM MobileFirst ServicesSmarter Commerce Summit - IBM MobileFirst Services
Smarter Commerce Summit - IBM MobileFirst Services
 
Securing Teams with Microsoft 365 Security for Remote Work
Securing Teams with Microsoft 365 Security for Remote WorkSecuring Teams with Microsoft 365 Security for Remote Work
Securing Teams with Microsoft 365 Security for Remote Work
 
Mobile Security for the Enterprise
Mobile Security for the EnterpriseMobile Security for the Enterprise
Mobile Security for the Enterprise
 

Último

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Creating Enterprise Friendly Apps

  • 1. Creating Enterprise Friendly iOS Apps MoDevEast 2013 December 12, 2013
  • 2. About Me Tony Lenzi Technical Lead and iOS Developer tony.lenzi@gmail.com @tonylenzi
  • 3.
  • 4.
  • 5. Increasing Demand • 57% of CIOs say that mobile devices and apps are a high priority or essential to their strategic agenda • 89% of enterprises support email on mobile phones and tablets • Communications and productivity apps dominate Source: “Managing the Complete Customer Experience”, Peggy Anne Salz GigaOm Research
  • 6. Apps Deliver Value • Organizations want apps that enable interactions that deliver value to their company and their customers • Employees are customers too • MDM solutions make it easier for IT to manage
  • 7. “I want a Blackberry experience on iOS.” - IT integrator at a Fortune 500
  • 8. IT Crackberry • Easy to configure and distribute • Minutes, not hours • IT always has control of data on the device • Normally purchased and owned by the company • Device separation
  • 11. User Expectations • Rapidly evolving apps that consumers use every day • Emphasis on words like “delight”, “engaging”, and “experience” • Why can’t I do this on my phone or tablet?
  • 12. Enterprises need the benefits delivered by consumer driven apps, but they also need to retain some of the protections provided by traditional enterprise software.
  • 13. Data separation, not device separation, enables users and protects the enterprise. How can we enable enterprises to control the use of their data in our apps?
  • 14. iOS 7 in the Enterprise Management Authentication Networking Data Security
  • 15. Mobile Device Management • Allows IT to manage devices, (un)install apps and data • Single Sign-On • Per-app VPN • Managed “Open In” • iOS 7 allows pushing configuration files to managed apps
  • 16.
  • 17. App Configuration • Read a configuration dictionary from an MDM server using 
 [[NSUserDefaults standardUserDefaults] objectForKey:
 @“com.apple.configuration.managed”] • Listen for changes using NSUserDefaultsDidChangeNotification
  • 18. Config Use Cases • Disable iCloud sharing • Bootstrap URLs for services • Company file share location • Things IT may want to customize to make your app usable on the first run
  • 19. // config pushed by MDM stored here NSDictionary *mdmConfig = [ [NSUserDefaults standardUserDefaults] dictionaryForKey:@“com.apple.configuration.managed” ]; ! NSNumber *enableCloudSync = mdmConfig[@“enableCloudSync”]; ! // check that it exists and is the correct type if(enableCloudSync && [enableCloudSync isKindOfClass:[NSNumber class]]) { … } else { // set default value for when unmanaged }
  • 20. App Feedback • Write feedback to NSUserDefaults key com.apple.feedback.managed! • MDM server will read this dictionary from managed apps • Error and usage statistics • Aggregate and respect privacy
  • 21. - (void) webServiceTimeOut { self.timeOutCount += 1; NSMutableDictionary *feedback = [ [NSUserDefaults standardUserDefaults] dictionaryForKey:@“com.apple.feedback.managed”] mutableCopy]; ! if(!feedback) feedback = [NSMutableDictionary dictionary]; ! } ! feedback[@“timeOutCount”] = @(self.timeOutCount); [[NSUserDefaults standardUserDefaults] setObject:feedback forKey:@“com.apple.feedback.managed”];
  • 22. and remember… • NSUserDefaults is unprotected • Check the defaults every time the app starts • Validate your input types and values • Keep it small • Document your configurable settings
  • 23. Single App Mode • MDM can control • In iOS 7, a managed app may request permission to go to single app mode:
 UIAccessibilityRequestGuidedAccessSession() • Client demo mode, cash registers, specific employee roles, quizzes and exams
  • 24. Single Sign-On Built Into iOS! • App uses NSURLConnection and/or NSURLSession • IT defines app bundle IDs on their MDM server • Secured using Kerberos, password stored in the keychain, not inside the apps • NSURLConnection is the backbone of AFNetworking, NSURLSession is extended in AFNetworking 2.0
  • 25. App 1 App 2 App 3 VPN Internet Enterprise Per-App VPN Built Into iOS
  • 26. Control Data Usage • Enterprise users may want to limit how much cellular data their users use • urlRequest.allowsCellularAccess = NO; • Another opportunity to use managed configuration profiles to give IT more control
  • 27. Data Security Built Into iOS! • Installed apps are protected automatically with NSFileProtectionCompleteUntilFirstAuthentication in iOS 7 • Consider the sensitivity of each file or type of data you are saving
  • 28. • NSFileProtectionNone
 read or write anytime • NSFileProtectionComplete
 encrypted unless the device is unlocked • NSFileProtectionCompleteUnlessOpen
 if the file is open when unlocked, you may continue to access it even if the user locks the device. • kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
 keeps keychain secrets on one device
  • 29. Managed “Open In” • Not every business wants their “business” on Facebook • Managed apps only share data with other managed apps
  • 30. App Licensing • Apple is now allowing volume purchasers to buy licenses that may expire and/or be reassigned to other users • Opens up purchasing models for schools, others who may share and reuse devices • If you support this model, you need to be aware of app revocation
  • 31. Receipts and Revocation • iOS 7 receipts now include volume purchase information • Information that ties your app to this device is on the receipt • Validate that the receipt is still valid using StoreKit • You can not quit the app if it’s invalid, but you can degrade the features/experience
  • 33. References • “Extending your Apps for Enterprise and Education Use”
 Session 301, WWDC 2013 • “Managing Apple Devices”
 Session 300, WWDC 2013 • “Using Receipts to Protect Digital Sales”
 Session 308, WWDC 2013