An iOS Developer Wishlist for iOS 9

iOS Apple

After two years of aggressive feature releases with iOS 7 and iOS 8, we're looking forward to the rumored focus on stability and performance improvements in iOS 9. After polling the Savvy Apps team, here are some of the items we'd like to see announced for iOS 9 at WWDC15 next Monday.

Stabilized Swift

Announced at last year's WWDC, Swift's rapid evolution is making it difficult for developers to adopt it. We have to learn Swift, write code in Swift, then frequently fix all the compile errors when Swift is updated. We're more reluctant to use Swift because it ends up requiring more work to maintain Swift code throughout all its iterations. These issues would cost our customers time and money, which is why we've only written certain functions in Swift. We'd like to see some amount of stabilization to make it a more legitimate choice when starting new apps

Reduced Load Times and Bug Fixes in Storyboards

Large storyboards often take a long time to load. They are also difficult to manage and navigate. So, we would like to see performance and reaction improvements for storyboards, as well as reduced load times for large storyboard files. With any luck, iOS 9 will also do away with a particularly obnoxious bug involving storyboard view frames. We've noticed that sometimes labels and text fields shift out of place in view frames after we've saved, closed, and reopened Xcode. Funny enough, Xcode generates a warning when this occurs, telling us that the components have been moved around and that they need to be fixed. But we know who the real culprit is. Thanks, Xcode

Objective-C Based UI Testing Framework

Right now Apple uses UIAutomation to test the user interface in apps. This framework requires developers to write JavaScript even though everything else in the app is Objective-C or Swift. In an ideal world for iOS developers, we would have an Apple-supported UI testing framework that uses Objective-C and Swift. This approach would eliminate the need to code in JavaScript or opt for a third-party developer library that uses Objective-C but isn't supported or maintained by Apple

Easier to Implement IAP Auto-Renewable Subscriptions

In-app purchases that use auto-renewable subscriptions are still difficult to implement and test. There’s neither an iOS or REST API that allows you to get the expiration date for a subscription. Currently, you get a JSON object that needs to be parsed for the relevant information. It would be nice to have a simple way to ping Apple with a receipt and get a simple “not cancelled” or expiration date object returned. We'd like to see updates to auto-renewable subscriptions or a new renewable In-App Purchase system that's easier and more reliable to test and use. In the interim, we're planning a blog post on this topic because it's still very tricky to set up and implement.

Opt-Out vs Opt-In Diagnostic and Crash Reporting

Apple's update to crash reporting is a new contender in crash reporting space. We've been impressed with the data but it would be more useful with more exposure. So, it's important for Apple to have all users submit crash data. At the moment, users have to opt-in to send crash reporting data, limiting the amount of data available to developers. On a related note, check out our comprehensive breakdown on iOS crash reporting options

In-App Feedback Tool

While TestFlight provides powerful distribution options for app testing, it falls short on delivering useful tester feedback to developers. Instead, we have to rely on third party tools, like Instabug, to receive feedback that includes screenshots or console data. We'd like to see the ability to send this type of feedback on ad hoc builds via TestFlight without using a third-party tool

Complications for the Lock Screen

You may not be familiar with the word “complications” but you've likely seen them on a watch or possibly an Apple Watch. They are often the little boxes on a watch face that detail additional information. This could include the date, weather, or even elevation. On the Apple Watch, complications don't require a swipe to access and are great for providing additional context. Like Rene Ritchie, we'd like to see complications added to the iPhone Lock Screen in iOS 9. We'd also like the ability to manipulate them, to determine what the data looks like when its displayed

Custom Default Apps

We'd like to see the ability to select system-wide, custom default apps to handle web browsing, email, and calendar functions. As a creator of a calendar and weather app, we know firsthand that not having these defaults means users have to constantly fight to use their preferred apps over the default ones. With this support, developers could then register to become a default app, which is especially important for developers who release multiple apps meant to work alongside one another or take the place of the iOS defaults. Federico Viticci goes into more detail about the need for custom default apps in his own iOS 9 wishlist

What Do You Want to See in iOS 9?

We released this survey to capture your thoughts on what should be included in iOS 9. Submit your opinion or hit us up on Twitter @savvyapps and we'll consider adding any relevant ideas.

Whitney Rhodes is the lead editor for the Savvy Apps blog. She helps share Savvy Apps' extensive knowledge with all who seek to build better apps.

You made it this far so...