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.
I think you know the answer deep down in your heart. Embrace the wall, live the garden.