Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
THE APP DEVELOPERS GUIDE TO WINNING IOS 8BY DAN ROWINSKI
INTRODUCTION01
pple kicked off the Mobile Revolution in 2007. At the time,
the iPhone was a curiosity, lampooned by some, praised by
others. In seven years, it has proven to be the most important
driver of technological industry growth since the inception of the
World Wide Web.
In the process, Apple has made a household name out of the
operating system for the iPhone: iOS.
It is hard to imagine now that now that iOS is part of the popular
lexicon, but it originally did not have a dedicated name. When the
first iPhone was released in July 2007, Apple just said that it ran a
version of Apple’s desktop operating system, Mac OS X. In 2008,
Apple started calling it “iPhone OS” (which subsequently led to the
debut of the Apple App Store). It wasn’t until the fourth iteration in
2010 that Apple renamed the operating system to the iconic iOS.
Here we are, the autumn of 2014, ready to dive into iOS 8.
Wrap your mind around the notion of the Mobile Revolution,
because it informs everything about iOS 8. Apple fundamentally
changed the computing paradigm with the iPhone, imagining a
world where a powerful computer was in everybody’s pocket,
connected to the Internet and easy to use.
A Microsoft CEO Satya Nadella has styled the Mobile
Revolution as, “ubiquitous computing and ambient
intelligence,” as a means of describing the spread of
smartphones everywhere connected to the Internet and
the cloud. The notion of ubiquitous computing doesn’t just
stop with the smartphone, even if that is where it started.
The Mobile Revolution has pushed the bounds of hardware
and software as developers, manufacturers and engineers
have built systems that are smaller and more powerful to
increase the capabilities of these pocket-based computers.
The PC shrunk to fit into a phone. With that accomplished,
all those small and powerful components in the phone are
ready to explode like a supernova, invading every gadget
that we touch: our cars, our homes, our watches, our
televisions … everything.
We worked so hard to get the technology to fit in one
device. Might as well use it in all devices.
This is the essence of iOS 8, leading us into the Second
Phase of the Mobile Revolution.
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
BIG SPLASH
BIG SPLASH
WHAT’S NEW02
WHAT’S NEW IN IOS 8?Apple has said that iOS 8 is the biggest release of iOS ever. It has more than 4,000 application
programming interfaces for developers to play with and a variety of new standards and frameworks
in which to develop iOS apps.
Since it was announced at Apple’s World Wide Developer Conference in June, iOS 8 has flown a
bit under the radar. iOS 8 does not have the hype of its predecessor iOS 7, where the beta release
that was meant solely for developers but saw broad downloads by millions of people because it
fundamentally changed the design and functionality of the operating system from previous versions.
This time around, no major design or user interface changes are coming to iOS 8. The iOS 8 beta
period was truly a developer release, giving iOS app builders the summer to adapt to the new
operating system before it goes public after the launch of the iPhone 6.
Apple added a variety of new tools to iOS 8. It wants to invade home automation with HomeKit.
Your health and fitness now have a new repository for data in HealthKit and the iOS Health app (not
to mention the Apple Watch, coming in early 2015). Photo storage is improving with PhotoKit and
Apple has done some big things on the backend of the entire system with iCloud and CloudKit.
The biggest and most immediate concerns for developers come in the form of App Extensions
that provide interoperability between apps, Handoff (Continuity) that shares content between Apple
devices and Adaptive Layout, which will help iOS developers build apps for the new variety of Apple
screen sizes.
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
03
XCODE 6: GETTING STARTED WITH IOS 8 •• If you are reading this ebook, we presume that you know a
thing or two about iOS. To develop iOS 8 apps you will need Xcode 6, which was released as a Gold
Master version ahead of the official public release of iOS 8 on September 17th. Xcode 6 includes all
the libraries and frameworks needed for both iOS and Mac OS X development and includes the iOS
Simulator and the Xcode integrated developer environment.
Here are some highlights of Xcode 6 that developers will need to become familiar with:
• N E W S W I F T P R O G R A M M I N G L A N G U A G E :
Apple released a new programming
language that it hopes will eventually
replace both C and Objective-C
languages for future iOS development.
Xcode 6 provides a playground for
developers to learn the language and
make it as easy as possible to learn,
build and debug. Xcode documentation
shows helpful hints and libraries for
when to employ Swift or Objective-C
among other helpful features to get
started with Swift.
• T E S T I N G : Xcode 6 lets developers use performance
measurement and asynchronous code testing
through an enhanced XCTest framework.
• I N T E R F A C E B U I L D E R : The iOS family now has a large
variety of screen sizes. The new Interface Builder in
Xcode 6 helps developers build apps that will work
across a range of screens and includes live rendering,
support for size classes and custom iOS fonts. More
on this in the Adaptive Layout section below.
WHAT’S NEW
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
04
• D E B U G G I N G : Several new debugging tools are in Xcode
6, including a “view debugging” function for debugging
visual and design problems. The queue debugging has been
enhanced with a new bug navigator. Debug gauges provide
“at-a-glance” information about resources while debugging
and includes three new gauges for network activity, file
activity and iCloud.
• I O S S I M U L A T O R : The new iOS Simulator has configurations
to keep data and configuration settings together.
• G A M E D E V E L O P M E N T : Both of Apple’s primary
game development frameworks have been
upgraded in iOS 8 including SceneKit and
SpriteKit and have new support in Xcode 6.
• H O M E K I T A C C E S S O R Y S I M U L A T O R : If you
are developing for the smart home with
iOS 8, Xcode 6 has a simulator to test on
accessories like lights or appliances.
The Xcode Server, instruments, app compiler and localization features also have new features and
enhancements. Make sure to take an in-depth look at what is new in Xcode 6 as you get started with
iOS 8 development.
WHAT’S NEW
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
WHAT YOU NEED TO KNOW TO DEVELOP FOR IOS 8
Let’s break down just about everything
that you are going to need to know
to get started with iOS 8.
Note: Gaming is a huge part of the app
economy and iOS 8 development. Apple has improved
its gaming frameworks and engines with SceneKit,
SpriteKit and Metal for both casual and hardcore game
development. This book will not cover the gaming
aspects of iOS 8 as they are a separate topic that we will
tackle in the near future.
This book also not cover Swift, Apple’s new programming
language, as it is not specifically pertinent to what is
new in iOS 8 and a large topic that we will cover in
depth soon.
05
APP EXTENSIONS •• In iOS, apps have long been treated
as individual silos. You have one app for email, one app
for sports scores, one app for music. To access the data
and functionality of each of those apps, you would have to
manually switch from one to the other, like jumping from one
square to another in hopscotch. The individual app—and its
limited functions—has long been the king of iOS.
Android has never had this particular problem. Since its
inception, Android has always allowed developers to share
functionality and data between apps. The system is called
Android Intents and nearly 90% of apps in the Google Play
store employ it to one degree or another. Intents allows apps to
employ third-party (not system-level) keyboards, embed social
sharing or play music from a wholly different app. Because
of Intents, Android has long been the more egalitarian app
developer environment, making it easier to share properties
between apps.
Apple has finally awoken up to this subtle but important
difference of iOS to Android and is set to remedy it in iOS 8.
Dubbed “App Extensions,” iOS 8 apps are about to get a lot
more integrated with each other and the operating system.
DEVELOPMENT
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
06
EXTENSION POINTS •• Both iOS and Mac OS X have
a variety of different kinds of App Extensions.
Each of these extensions is connected to an aspect
of the operating system. According to Apple’s
documentation, each “system area that supports
extensions is called an extension point. Each
extension point defines usage policies and provides
APIs that you use when you create an extension for
that area.”
When building applications for iOS 8, it will be
important to note that extensions can expand an
app’s functionality outside of its own walls, to
various points of the operating system. This can
help reinforce users behavior and usage of the
app, providing interesting and useful information
outside of the app’s central silo.
Seven different types of app extensions exist within iOS and
Mac OS X:
• T O D A Y : An update or task in the Today section of the drop
down Notification Center.
• S H A R E : Share content with other apps or to a website.
• A C T I O N : View or employ content within another app.
• P H O T O E D I T I N G : Edit a photo or a video in the native iOS
Photos application (iOS only).
• F I N D E R : Show information about file synchronization in the
Finder (Mac OS X only).
• D O C U M E N T P R O V I D E R : Access and manage a set of files
(iOS only).
• C U S T O M K E Y B O A R D : Replace the native iOS keyboard with
a third-party keyboard (iOS only).
An app can employ one or more extension points, depending
on what type of functionality it seeks.
DEVELOPMENT
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
A CONTAINER FOR EXTENSIONS •• An extension is not an
app, though it does have its own binary that gets written
and rendered to the operating system. Apps that contain
multiple extensions are referred to as “container apps” and
developers will need to build and design some custom user
interface elements for each extension point that an app will
provide.
This is where it can get slightly confusing. Developers will
need to submit these containing apps to Apple separately
from their primary apps (defined as “host apps”) even though
the container apps will ultimately be served to the user in a
single app downloaded from the App Store.
The benefit of the container app is that once a user downloads
an app that has extensions in it, that functionality will live
across the operating system.
07 DEVELOPMENT
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
WIDGETS (IN A MANNER OF SPEAKING) •• Since Apple detailed
the broad strokes of iOS 8 at its World Wide Developer
Conference in June, people have spoken in gushing tones
that iOS is finally getting “widgets.”
The idea of widgets has Apple fans tittering about finally
getting Android-styled apps that automatically update and
function from the home screen. If iOS users are expecting
these kinds of widgets, they are going to be disappointed.
The widgets in iOS 8 are actually called “Today” extensions
because they live in the Notification Center of iOS 8. The
Today extension points will act like a widget, but only in the
Today menu item. That means that users won’t be able to
download a live-style “widget” like lives on the home screen,
like they would on Android with the likes of the Facebook,
Google Now, Evernote or Spotify widgets.
08 DEVELOPMENT
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
09
INTENTS & PURPOSES •• If the Today extension is Apple’s
version of Android or Windows Phone-style mobile widgets,
the Action and Share extensions are essentially the equivalent
of Android Intents.
Action extensions help users manipulate a piece of content
with an app. For instance, Action extensions can help a user
edit a piece of text in a text-editor app. Action extensions are
dependent on the type of content that is being manipulated
and will not work with different types of content they are
not specified for (a text extension won’t work on a video
etc.). In iOS 8, Action extensions can assists users in viewing
a document in a type way and will always appear as an action
sheet or a full-screen modal view.
The Share extension is exactly what it sounds like: it allows
users to share content between apps and websites. The Share
extension is Apple’s way of opening iOS 8 and Mac OS X to
all types of sharing apps and behaviors. Previously, only apps
like Facebook and Twitter could do this on iOS as they were
natively baked into the platform. Now all social apps can
have the same native functions across the operating system
that Facebook already does.
A STEP INTO ANDROID’S REALM•• Extensions are
going to be a massive boon to iOS developers, if a
little bit of a headache. The additional container
app that defines what extensions are used and
where they point is going to be painful for
developers. At the same time, if you app needs
additional capabilities but the development team
does not have the time or expertise to build it,
iOS 8 extensions can be immensely helpful.
iOS Extensions allow iPhone and iPads to have
one of the most-requested features that has long
been Android specific: third party keyboards.
With the coming of iOS 8, the likes of SwiftKey
and Swype from Nuance will be available to all
apps on iPhones and iPads.
DEVELOPMENT
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
10
ADAPTIVE LAYOUT, CLASS SIZES AND THE IPHONE 6 •• The iPhone
6 and iPhone 6 Plus comes in two sizes—4.7-inches and
5.5-inches, respectively. Design layout for iOS 8 is still simpler
than the thousands of different varieties and sizes of Android
devices, but iOS design is not as easy as it used to be.
Even before new screen sizes for the iPhone 6 and iPhone 6
Plus, iOS screen sizes currently in consumers’ hands range in
form from 3.5-inches, 4-inches, 7.9-inches and 9.7-inches. Add
in two more display sizes and iOS design becomes just a little
more complicated.
Adaptive Layout was introduced in iOS 7 and is being expanded
upon with new size classes in iOS 8 that allow for designers
to create a single layout that translates to both the iPad and
iPhone. Instead of creating an entirely new storyboard for the
iPad, designers can now choose between regular class size
(iPad) or compact (iPhone). Apple says that every size device
with have a designated size class.
Going back to what’s new in Xcode 6, iOS 8 now allows
development for different screen size classes. Apple refers to
this as unified storyboards for universal apps. Developers can
DEVELOPMENT
now take their Storyboard and .xib
files can be used for all of Apple’s
different sizes and orientations,
including the new wide-view
orientation in the iPhone 6 and
iPhone 6 Plus. The Interface Builder
in Xcode will allow developers
to build the iOS app with core
components that will be in place
for every screen size and then do
custom design work to fit certain
screen size differences within the
iOS device lineup.
Each dimension of an iOS 8 app can either be compact—
such as the horizontal of an iPhone landscape—or compact
such as the height or width of an iPad. Interface Builder in
Xcode will be able to handle size classes and dimensions
without much additional work for the developer, in theory.
The auto layout has proven to still be a headache for
some developers and will choose to perform the layouts
programmatically.
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
11
ASPECT RATIO, RESOLUTION AND THE NEW USER EXPERIENCE
Apple has finally broken out of its mold and listened to what
people want. Consumers want bigger screens on smartphones.
Thus, mobile app developers want bigger screens on because
that is what consumers want.
Well, Apple has delivered.
The iPhone 6 has a 4.7-inch screen with a 4.7-inch, 1334-by-
750 screen that translates to 326 pixels-per-inch (ppi). Good
news for developers, this is the exact same pixel count as the
iPhone 4S, iPhone 5, iPhone 5C, iPhone 5S and iPad Mini with
Retina Display.
The iPhone 6 Plus has a 5.5-inch screen with a 1920-by-1080
resolution with 401-ppi. The new pixels-per-inch count will be
what developers are going to focus on because it is this metric
that will directly affect what their existing apps will look like
on larger screens. To this end, Apple has created a desktop-
class scaler in the Xcode integrated developer environment to
deal with all the new screen sizes and (limited) pixel variation
among iOS devices. Apple also employs the Adaptive Layout
feature introduced in iOS 7 (and advanced in iOS 8) to help
developers make apps that fit any of its device sizes.
More good news for developers, Apple has stayed consistent
with the aspect ratio of the iPhone with the new models,
continuing its use of 16:9 it introduced in the iPhone 5.
Previous versions of the iPhone had 4:3 or 3:2 aspect ratios.
New form factors mean more opportunities for developers.
When Apple released the iPad, many developers created
whole new apps for the larger screen, with entirely new
user experiences. The iPhone 6 and iPhone 6 Plus offer
developers a means of taking advantage of new screen real
estate and new an interesting ways while the universal
storyboards allow them to keep the core elements of an
app the same across size classes.
The iPhone 6 Plus especially presents new challenges
to app designers. Apple seemingly has coined the term
“reachability” for the ability to handle the 5.5-inch screen
with one hand. That means that apps designers will want to
place button and action objects at the corners of their apps,
as opposed to the center where it will be difficult to reach
with a thumb. The iPhone 6 Plus will also have the ability
for apps to have a custom-designed landscape orientation
for each app.
DEVELOPMENT
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
12
TOUCH ID•• Apple has opened the Touch ID biometric authentication fingerprint
sensor to third-party developers in iOS 8. Consumers do not have to worry
that third-party developers (who may not always be the most upstanding of
digital citizens) are accessing their fingerprints as all of the biometric data will
be stored and sandboxed on the iPhone and not in iCloud or on third-party
developer servers.
Apple has a new item in the iOS Keychain to work with TouchID. iOS 8 also has
a new “LocalAuthentication” framework to work with Touch ID which can also
be provisioned for iOS devices that do not have Touch ID.
Apple has taken data security very seriously with Touch ID, which is one of the
reasons that it did not open up the development standard when it was introduced
with the iPhone 5S in 2013. After a year of watching how users employ Touch ID,
Apple is ready to take the training wheels off, to a certain extent, to the third-
party developer community.
Developers that deal with sensitive data might be keen on employing the new
Touch ID framework for access to apps. Banks and financial processors could
be keen on Touch ID for both internal and external purposes as well as health
insurers and healthcare professionals. Touch ID with a PIN number has the
potential to be a real-world version of two-factor authentication for data-
sensitive apps.
DEVELOPMENT
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
13 DEVELOPMENT
HANDOFF (CONTINUITY) •• After the various new user
interface features that people will experience with App
Extensions in iOS 8, the next most visible and viable feature
will be Continuity, also known as Handoff.
Handoff enables users to seamlessly transition the use of
one app to another device. For instance, if you are reading
this article on your Mac, you can shift it to your iOS device
that is signed into the same iCloud account. Other Apple
apps like Maps, Mail, Contacts, Note, Calendar etc. can take
advantage of Continuity.
Third-party developers will be able to implement Continuity
in iOS 8 as well with the object in the NSUserActivity class
in the iOS Foundation. APIs found in the UIKit and AppKit in
iOS will support some functions of Handoff as well.
Handoff is for those people that love their Apple
devices. They own an iMac and a MacBook, an iPad and
an iPhone. Probably and Apple TV as well. Their cars
will eventually be CarPlay enabled and they absolutely
can’t wait for the inevitable iWatch. That’s a lot of
iStuff. Handoff is Apple’s plan to connect all of it with
seamless transitions from one to the other.
Engagement and user retention is always of tantamount
importance to developers and app publishers. How to
get people to open your app more and spend more
time in it? Handoff could be one of the answers to that
questions, giving users the ability to never truly leave
and app, but rather just hand it off from one Apple
device to the next as they go through their days.
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
14
SIRI •• Apple’s digital voice assistant Siri does not have any significant
upgrades in iOS 8. From a consumer perspective, Siri has a couple new
features including touchless activation dubbed, “Hey Siri” which wakes
Siri up for queries such as weather, Web search or sports scores.
Siri has better voice recognition and can help set reminders, make
calendar dates or keep notes. Siri now has native integration with
Facebook and Twitter and can open apps with voice commands. Siri can
also take dictation for emails or texts and has been integrated for “eyes
free” driving with voice commands in Apple’s CarPlay.
Siri has also been integrated into new databases in iOS 8 including
Fandango, restaurants information and local search. Siri also has
Shazam-like functionality where it can listen to a song and tell you the
album and artist.
DEVELOPMENT
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
15
APPLE PAY •• Apple thinks it can do what no company in the United
States has yet been able to do: gain mass consumer and retail adoption
of mobile payments. Combined with its Passbook apps, Apple’s ambition
is to be the de facto mobile wallet that will replace consumers credit
cards once and for all.
We’ve heard this before.
Google tried to go down this road before with Near Field Communications
and the Google Wallet. Google reportedly spent upwards of half-a-
billion dollars to break into the payments industry and in the end was
left with little traction and low consumer and retail adoption. PayPal,
Square, LevelUp and other companies have long tried to break down
the mobile payments door and have had varying degrees of success but
nothing approaching a revolution in payments.
From a practical standpoint, Apple’s new mobile payments system is
not specifically related to iOS 8, but rather the NFC-enabled iPhone 6
and iPhone 6 Plus. Apple Pay will be available to the iPhone 5S, iPhone
5C and iPhone 5 through the Apple Watch when it becomes available
in 2015.
Apple Pay will come with three layers of security, starting with the
Secure Element chip that sandboxes all payments data on the iPhone 6
and iPhone 6 Plus. A secure element chip is fairly standard in all forms
of NFC payments and is no different in the iPhone. The second layer of
security is that the iPhone obfuscates the actual card
number of the credit card being stored in Apple Pay
and replaces it with an iPhone-only account number
so that the actual credit card number is never stored
directly on the iPhone.
The third element ties up the first two in that Apple
does not share the actual card information (name,
credit card number etc.) with the merchant but creates
a one-time payment number for each purchase which
is verified through Apple Pay’s partnerships on the
backend of the transactions, such as the issuing bank
and payment processor like Visa or MasterCard.
Enterprises, retail stores and any player in the
commerce and sales industry is going to want to
keep track of how well Apple penetrates the mobile
payments business. If Apple is able to make mobile
payments a commonplace practice through Apple Pay,
then the entire industry in the U.S. will have to adjust
to the new paradigm. It will not happen overnight,
but monitoring the progression and adoption of Apple
Pay will be essential for all companies and developers
going forward.
DEVELOPMENT
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
THE KITS16
THE KITSThe frameworks and software developer kits in iOS are
where we will see where iOS 8 breaks out of the iPhone
and iPad and into everyday aspects of our lives.
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
17
HEALTHKIT •• Apple wants all of your fitness and health related data.
Health and fitness are going to be the primary selling points for the Apple
Watch when it is released in early 2015. The Apple Watch will come
with a variety of healthy apps that help track calories and activity and
dedicated workout apps. Apple will accompany this with the upgraded
M8 motion coprocessor in the iPhone 6 and iPhone 6 Plus which will
also be open to developers through iOS 8.
HealthKit is a developer framework that lives in the Core Services Layer
of iOS 8 and provides developers the ability to read and write health
data to a central app (iOS Health) on iPhones and iPads. Data is stored
and secured in the Health app and users have the ability to decide which
data is shared with the app.
HealthKit is essentially a secure data repository for
health and fitness data from third-party apps and
accessories in iOS 8. Dig into HealthKit documentation
and you will essentially find a tutorial in how to store
and retrieve this health data sandboxed on the iPhone.
From the fitness side of the equation, developers
like RunKeeper or Runtastic can choose to push
user health information to the Health app through
HealthKit. HealthKit also allows for Bluetooth and
Wi-Fi connectivity for health accessories and APIs for
collecting and storing health information, like blood
glucose levels and blood pressure.
HealthKit offers an array of opportunities to build
healthcare apps, but its implementation is not without
obstacles. The Health Insurance Portability and
Accountability Act of 1996 (HIPAA) has long been a
limiting factor in health software development. HIPAA
controls the flow of personally identifiable information
to a “covered entity” such as health care provider or
insurance company. Apple has reportedly met with
the FDA and Office of the National Coordinator for
Health Information Technology (ONC) to determine
the HIPAA compliance of HealthKit.
THE KITS
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
HOMEKIT •• Have you ever envisioned your iPhone as the
remote control for you life? You can use it to come home
and turn up the heat your apartment, turn on the lights, set
the home security system, turn on some music and set the
oven to preheat? This is where HomeKit (mixed with certain
other iOS 8 functions like Handoff) will come in handy.
HomeKit is located in the Core Services Layer of iOS 8
and provides the hierarchy for how developers can create
capabilities through the iPhone and iPad that control various
aspects of your home.
Three major functions can be controlled via HomeKit:
18
• The ability to discover accessories
and add them to a persistent, cross-
device database.
• Display, edit and act upon
connected home data and content.
• Communicate with accessories and
allow them to perform actions (like
turning on the lights).
THE KITS
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
19
The data containment of HomeKit-enabled configuration is centered on locations
within a house or an apartment. It works on a hierarchy of areas in the house where
an accessory is located and has an app that can control it.
Here’s the hierarchy of data classes for HomeKit:
• H O M E S : The top-level container that represents what could be considered a single
home. Homes contain data for either single dwellings or a set of single dwellings (like
a vacation cottage and a suburban house).
• R O O M S : An optional part of homes that a user designates by name. Apple uses the
example of rooms for when a user might like to say, “Siri, turn on the kitchen lights.”
• A C C E S S O R I E S : These are the actual gadgets that are equipped in homes and placed in
rooms and tend to be home automation devices like lights or a garage door opener.
• S E R V I C E S : What an accessory actually does and can be controlled by the user. This is
where app developers will tap into the appropriate APIs to make accessories perform
a function.
• Z O N E S : The ability to group rooms into categories and perform actions on that group.
For instance, the ability to turn off all the lights upstairs.
THE KITS
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
20
PHOTOS FRAMEWORK•• Apple did much of its photo and image improvement work in iOS 7,
so the new Photos framework in iOS 8 is a little light on heavy-hitting features. Native photo
and video editing in the iOS camera app is handled by the Photos App Extension.
The new Photos framework in iOS 8 provides an alternative to the Assets Library framework.
The Photos framework provides APIs for handling how images are handled in iCloud and
provides a “thread-safe architecture” for acquiring and caching photos.
Apple has also given the camera app more granular control by the user, such as the ability
to manually control settings, like white balance and focus. Improved camera functionality in
iOS 8 and the iPhone 6 and iPhone 6 Plus also include the ability to determine if a photos
is captured in HDR (High Dynamic Range, a software function for increasing photo quality),
improved image stabilization in the iPhone 6 Plus, the ability to capture photos in higher
resolution and a new auto-focus feature.
THE KITS
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
21
CLOUDKIT•• Apple’s relationship with cloud technology has been
tenuous at best over the last couple of years. CloudKit is Apple’s attempt
to give iOS developers a full backend suite of cloud capabilities. At its
most basic level, CloudKit is the pipes that iOS data travels upon in
this new framework, allowing developers to securely store and retrieve
iCloud data within their apps.
CloudKit is almost a “backend-as-a-service” type of integration, like
Kinvey or Parse have become for mobile middleware, but without the
full service stack of many third-party services. CloudKit will be helpful
to developers that do not employ backend technicians as it will help
develop apps without having to learn server-side logic.
At its most basic level, CloudKit provides a service for managing
transfer of data from an app to Apple’s iCloud servers. All data is saved
as “Records” in CloudKit that places value on individual objects of data
for transfer, organization and management. Cloudkit basically means
that many developers don’t have to have a server to save state across
devices anymore.
THE KITS
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
22
While fragmentation is a concept often associated with the Android Operating System,
elements are starting to slip into iOS. The new testing matrix for iOS is growing ever
more complicated to account for variations in processors, screen sizes, resolutions
and sensors. What looks great on the screen of an iPhone 4S may appear jagged and
empty on an iPhone 6 Plus. A game that takes advantage of new frameworks such as
Metal may run flawlessly on an iPhone 6, but crawl to a halt on an iPad 2.
In addition to the new emulators and automation bots available in Xcode 6 it is
important to test on real devices in real locations. Testing in the wild, with professional
testers, will help you discover edge cases and unexpected behaviors that your end
users are likely to encounter when your apps leave your test lab. And with the new
screen real estate available in the iPhone 6 and iPhone 6 Plus, you’ll want to perform
a usability study to understand how your users expect to interact with your app in
these new form factors.
TESTING YOUR APPS
TESTING YOUR APPS FOR IOS 8
THE APP DEVELOPERS GUIDE TO WINNING IOS 8
ABOUT APPLAUSE23
ABOUT APPLAUSE
100 Pennsylvania Ave.Framingham, MA 01701
1.844.500.5556www.applause.com
Applause is leading the app quality revolution by
enabling companies to deliver digital experiences
that win – from web to mobile to wearables and
beyond. By combining in-the-wild testing services,
software tools and analytics, Applause helps
companies achieve the 360° app quality™ they need
to thrive in the modern apps economy. Thousands
of companies – including Google, Fox, Amazon, Box,
Concur and Runkeeper – choose Applause to launch
apps that delight their users.
Applause in-the-wild testing services span the app
lifecycle, including functional, usability, localization,
load and security.
Applause app quality tools help companies stay connected
to their users and the health of their apps with the
Applause SDK, Applause Analytics and the 360° App
Quality Dashboard.
The company is headquartered near Boston, with offices
in Cambridge, San Mateo, Seattle, Germany, Israel and
Poland – with resellers serving dozens of international
markets. Since launching as uTest in 2008, Applause
has raised more than $80 million in funding, generated
triple-digit revenue growth annually, made consecutive
Inc. 500 appearances and was named the 7th Most
Promising Company in America by Forbes in 2014.