At every Worldwide Developers Conference (WWDC) in recent years, Apple has announced a new version of Xcode and App Store services, but this year the company has outdone itself: Besides a newly rewritten Xcode, Apple unveiled substantial changes to the App Store in the way users access apps and also in what developers can offer on their App Store pages.
Here's what these announcements mean for developers who provide apps through the iTunes App Store and write software for Apple's iOS, macOS, watchOS, and tvOS platforms. Plus, we cover news about macOS High Sierra, Swift Playgrounds, and Swift 4.0.
SEE: WWDC 2017: The 3 biggest product announcements (TechRepublic)
Xcode 9 is a completely re-written version of Xcode that features a brand new source code editor that has been written in Swift. This is one of the biggest changes for developers, because of the many new features and support it adds for Swift code formatting, editing, and refactoring.
Some of the new source code editor changes include:
- the ability to edit Markdown documents right from within Xcode with full highlighting support;
- the ability to automatically spot issues with Swift code as you type, removing the need to compile first to see build time issues, as well as providing more details if Xcode spots issues; and
- it offers more helpful automatic fixes.
There's also a new source code refactoring system built in. For the first time, this includes the ability to easily refactor Swift codebases.
Xcode 9 is chock-full of other niceties. Here are some of the highlights:
- Faster indexing with the ability for Xcode to index a project while building.
- New build system written in Swift that will improve caching and parallelism to decrease Swift build times significantly.
- GitHub and GitHub enterprise support for cloning codebases, displaying the entire working copy, and the ability to perform branch updates right from within the Source Inspector.
- Main thread sanitizer to offer hints when Xcode detects that UI code is running on a thread other than main.
- Xcode Server is now bundled in Xcode 9, making it easier than ever to create and edit continuous integration bots.
- UI testing is 3x faster and up to 10x faster with new testing suites.
- iOS simulator can support multiple booted devices.
- Xcode 9 can deploy debug builds wirelessly to networked iOS and tvOS devices—you only need to plug the devices in once to prepare them in the Devices section of Xcode.
I'm sure I echo the sentiments of Apple developers everywhere when I say that Xcode 9 looks like a stellar release. I'm extremely happy to see Apple taking the time to fix issues that have bugged developers from the beginning of Swift development.
SEE: CNET's coverage of WWDC 2017 (CNET)
Swift Playgrounds 1.5 and 2.0
Two new releases of the Swift Playgrounds app for iPad were announced this week: Swift Playgrounds 1.5 and 2.0.
Apple pre-announced Swift Playgrounds 1.5, which adds Bluetooth connectivity support for drones, Spheros, LEGO toys, and other devices. This allows users of Swift Playgrounds to bring their code to life with real-world toys and enhance the learning ability when Swift and Swift Playgrounds are used in conjunction with programming courses that Apple has developed for high schools and colleges. This version of Swift Playgrounds was immediately made available for users to download from the iTunes App Store.
Apple also unveiled Swift Playgrounds 2.0, a new major version of the app that will be released in the Fall 2017. An early beta of it was released to developers, and access can be requested through the Apple Developer Download portal.
Swift Playgrounds 2.0 adds many new features, including:
- integrated API documentation for code;
- Swift 4.0 and Swift 3.2 support for existing and new codebases;
- support for the new iOS 11 SDK; and
- support for Camera and ARKit for augmented reality programming.
SEE: How to use the Swift Playgrounds iPad app to code on the go (TechRepublic)
Apple unveiled Swift 4.0 at WWDC 2017. The most important change in this version of Swift is that there is no code conversion for Swift 3.x projects in Xcode 9; Apple achieved this by creating Swift 3.2, which lets existing Swift 3.0 projects build without issue in Xcode 9. When you're ready to do the Swift 4.0 conversion to get the new language features and improved performance, you will have a little bit of work to do, but it will not be nearly as difficult as the Swift 2.x to 3.0 transition.
Other features include the ability to use the new Codable protocol to add the ability to serialize struct data seamlessly using JSONDecoder and JSONEncoder.
Swift 4.0 also includes:
- Multiline String literals;
- a new String that uses collections;
- improved dictionary functionality; and
- improved keypaths for key value coding.
Learn more about Swift 4.0's features in WWDC 2017 Session 402 ("What's New in Swift").
SEE: Job description: iOS developer (Tech Pro Research)
Developers everywhere have been clamoring for App Store changes for years, and that's exactly what we got this year. iOS 11 will have a completely revamped App Store that will feature developer interviews for apps, and offer a more curated experience that separates games from other apps.
SEE: Gallery: Everything iOS 11 from Apple's WWDC 2017 keynote (TechRepublic)
Developers will also have more control over the way their apps appear in the store. Through iTunes Connect, users will be able to customize the look of their pages, add marketing materials, videos, in-app purchases, and other assets that appear and match the new look of the store.
One of the biggest changes to the App Store is the ability to implement a Phased Release of your app. This means that you can set the number of devices that should receive your app when you submit an update in order to test infrastructure and ensure a positive rollout.
Get more details about how this customization can happen by watching WWDC 2017 Session 302 ("What's New in iTunes Connect").
macOS is going 64-bit only
Apple announced during the Platforms State of the Union that all macOS apps will be going 64-bit only soon. macOS High Sierra was unveiled at WWDC '17, and it will be the last major version of macOS that will support 64-bit apps without compromises.
What does this mean for developers? Apple announced that no new 32-bit apps can be submitted to the App Store after January 2018. Any 32-bit apps already on the store can be updated through June 2018, at which time Apple will no longer accept 32-bit binaries through iTunes Connect.
- WWDC 2017: Apple launches augmented reality developer tools with ARKit (ZDNet)
- WWDC 2017: Apple positions Mac updates, macOS High Sierra for VR developers (ZDNet)
- Michelle Obama reminds tech industry — again — girls can code (CNET)
- Warning: iOS 11 won't work with these iPhones and iPads (TechRepublic)
- New iOS 11 feature automatically deletes unused apps to free up storage on your iPhone (TechRepublic)
- How to download macOS High Sierra and which Macs are compatible (TechRepublic)
- Top 5 WWDC 2017 announcements that impact businesses (TechRepublic)
- Download: The truth about MooCs and bootcamps—Their biggest benefit isn't creating more coders (TechRepublic)
Cory Bohon is an indie developer, creating both iOS and OS X applications at Cocoa App (his own company), MartianCraft, and for various other clients. As a part of full disclosure, he does not write about any software that he has created or has helped to create through these outlets.
Cory Bohon is an indie developer specializing in iOS and OS X development. He runs a software company called Cocoa App and is also a developer at MartianCraft. He was introduced to technology at an early age and has been writing about his favorite technology part-time since 2007. He runs a development blog named ObjDev when he isn’t writing about consumer tech.