November 2nd I started working at Snapsale as the head of iOS development. At the moment that means the head of me, so I get to do all the fun stuff myself. :-)

In that context I’m setting up an iOS test lab, that I’ve called “Snapsale iOS Lab” (yes, I’m that original in my naming). For my own sake, to remember with future devices, and to inspire other iOS developers (this might even apply to some degree to other mobile app devs), here is the list of tasks I do for each device.

When setting up a new iOS device:

Set it up with the labs iCloud account

Set no TouchID or PIN code

Turn off key sound

Give it a name with the template “iOS Labs [iOS/iPhone/AppleTV] [modelNumber] w/iOS [version]”

Turn off automatic screen lock

Turn on automatic downloads and updates of apps

Set up email with Gmail account associated with the labs iCloud account

Download all the purchased apps from the app store, remembering especially

TestFlight

Facebook

Instagram

Install the latest apps from TestFlight and say yes to notifications

Set up Facebook

Set up Instagram

Attach to test server, remember to trust the device on the Mini and the other way around, including Watch if paired

Grab the device UDID and register in Apples Developer Member Center

If this was the last device, update the developer and ad-hoc provisioning profiles to all registered devices. Download the provisioning profiles, put them in the servers “Provisioning Profiles” Dropbox folder, and replace them in the repos that have them committed

I expect the last two steps can be automated through Fastlane.io, but I haven’t come around to that yet.

I also expect that many of these steps can be fast-forwarded by taking a backup with encryption enabled through iTunes on the test server and then restoring it onto the new device