At the docs of App it says that in order to obtain an attest, this code must be run on an Apple device


import DCAppAttest


let service = DCAppAttestService.shared
if service.isSupported {
   guard let attestationKey = DCAppAttestService.shared.generateKey() else {
        print("Error generating attestation key.")
        return
    }

    // Generate a nonce (you may need to use a more secure source for your actual use case)
    let nonce = Data.random(count: 32)

   // ......
}


Then there’s also TTL, that is, every 60 minutes some earlier generated token will have to be refreshed. On an Apple device again, presumably.

Is there a way to execute all of this in non-Apple environment? Or will this code have to be run on an Apple device or server and there’s no way around this?


I need to automate this, to generate lots of attests often, for different clients, and I don’t want to rent a Mac server instead of a Linux one.