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, 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

Tags: Snapsale DeviceLab

Categories: Work