Apps don’t spring, full-featured, onto our devices. App developers have to put the code and all the other assets together and create that thing—and it’s a whole process. Developers rely on beta testers to take their in-progress code and discover all sorts of ways in which the software fails—so they can be fixed before the app is released to the general public.
On iOS, developers use an Apple tool called TestFlight to send beta versions of their apps to testers. It’s got a lot of convenient features, but hasn’t been available for macOS before. On Monday at WWDC, Apple announced that TestFlight is (finally) coming to the Mac, and it’s good news for developers and testers alike.
TestFlight for Mac will support regular Mac apps, but it’ll also support iOS apps running on Macs with Apple silicon. (Developers decide who gets to see their iOS apps, controlling whether an iOS app is available for Mac testers on a group-by-group basis.)
As a user, TestFlight will work more or less like it does on iOS today. There’s an app you can use to add or remove apps you’re testing. You can choose to automatically update to the latest builds as they’re uploaded by the developer, or take control of that process manually. Beta apps from TestFlight will appear with a yellow dot next to their name in the Dock and in Launchpad, and in the Finder their Kind will be labeled as Beta Application.
Developers will need to provide a provisioning profile for their apps to be distributed via TestFlight, but that’ll be handled automatically by Xcode if the app is handling signing. If signing is being handled manually, a developer will need to explicitly include that profile.
And then there’s Xcode Cloud, which Apple also announced on Monday, and is rolling out in a limited beta now, with a larger group of testers later this year, and broader availability next year. Apple’s goal with Xcode Cloud is to allow developers to build and test apps faster, especially when collaborating with other members of a development team. While developers will still build their apps on their local Macs, Xcode Cloud lets developers design custom workflows that can allow, for example, commits to specific branches to result in custom builds or TestFlight distributions.
In addition to being integrated directly into the Xcode app, Xcode Cloud has a web app version as well. It will allow developers to test their code on virtualized Apple hardware, which might be a great alternative to having to keep a bunch of devices around and laboriously build and deploy on each of them. Apple also says that it’s focused on security in Xcode cloud, because every build environment is temporary—and securely torn down between builds—and all code is encrypted when it’s not being used.