News

Tips for Developing iOS 11 Apps for iPhone X

After Apple's big iPhone X reveal, an online instructor has shared with ADTMag readers some tips for developing new apps for the upcoming iOS 11 that will power the device.

If you haven't heard, Apple yesterday unveiled iPhone X, just one week before the iOS 11 release.

"iPhone X features an all-screen Super Retina display for more immersive app experiences and Face ID, a secure new way to unlock, authenticate, and pay," Apple said. "The TrueDepth camera works with ARKit, and the A11 Bionic chip is designed for Core ML and Metal 2."

Among all the new features, it's the ARKit for augmented reality that stands out for Angela Yu, who teaches an iOS 11 course at Udemy.

ARKit, along with CoreML ("integrate machine learning models into your app") will lead to a completely new category in the app store, Yu told ADTMag.

"One of the biggest complaints of independent developers is that the App Stores are saturated, there are millions of incredible apps that address every facet of mobile-enabled life," Yu said. "But ARKit is different. While we've been anticipating the augmented reality headsets from MagicLeap for over six years, Apple's placed the ability to create immersive AR experiences in every iPhone."

ARKit
[Click on image for larger view.] ARKit (source: Apple)

Popularized by last year's debut of Pokémon GO, augmented reality is the next big thing in mobile development, highlighting Apple's efforts in that space.

"iOS 11 introduces ARKit, a new framework that allows you to easily create unparalleled augmented reality experiences for iPhone and iPad," Apple said. "By blending digital objects and information with the environment around you, ARKit takes apps beyond the screen, freeing them to interact with the real world in entirely new ways."

Arch-rival Google is trying to keep pace, having just last month announced its ARCore SDK to keep pace with Apple's ARKit, unveiled in June.

Core ML
[Click on image for larger view.] Core ML, the Foundation of ARKit (source: Apple)

But that might be tough with Apple's head-start.

"Already, developers have created ARKit apps that point you in the direction you need to go in augmented reality, portals that transport you into a virtual reality, and I can't wait to see all the new releases that are currently in development," Yu said.

She should know. Her Udemy course -- "iOS 11 & Swift 4 - The Complete iOS App Development Bootcamp" -- uses the full ARKit and CoreML modules, with more than 10,000 enrolled students using them along with Xcode 9.

Speaking of Xcode 9, Yu also provided some tips for switching to that updated IDE.

"The changes between Xcode 8 and 9 were minimal in terms of user interface," she said. "The most notable update was the brand-new source control navigator. Previously, I've always recommended students to use the git command-line tools for version control. But with the latest updates in Xcode 9, a real focus has been placed on improving version control within Xcode.

"For example, in Xcode 9, to create a remote repository on GitHub for your project, it's as easy as going into the source control navigator and right clicking on the master branch, then selecting 'Create remote in GitHub'. Super streamlined workflow coming your way!"

Yu also warned of some bugs that may be encountered in the shift from iOS 10 to iOS 11, especially concerning quickly deprecating 32-bit apps.

"With the release of iOS 11, Apple officially drops support for 32-bit apps," she said. "So if you created an app that targeted only 32-bit runtime environments, it's the last call to update your apps. Currently, 32-bit apps won't even open in iOS 11 and instead shows an alert to the user that the developer needs to update the app. Which is not a great user experience.

"To update your apps, simply open your project in the latest version of Xcode, change the Architectures build setting in your project to 'Standard Architectures' (including 64-bit), then update your app on the App Store."

For more tips on programming for iOS 11, see Apple's documentation.

About the Author

David Ramel is an editor and writer for Converge360.