I hadn't even thought about using a Particle.variable @Ric - that's a great idea! I'll definitely implement that.
As far as flashing to the device OTA via the iOS SDK, I found what appears to be an Objective-C implementation in on the particle-sdk-ios GitHub page (see code below), but have not figured out how it should be, or whether it even can be implemented in Swift.
-(nullable NSURLSessionDataTask *)flashFiles:(NSDictionary *)filesDict completion:(nullable ParticleCompletionBlock)completion
Has anyone managed this? Thanks again for all of your help!