Apple states "An application should register [with APN servers] every time it launches and give its provider the current token"
Second, here is the upgrade test sequence and results:
-
Start with iOS4 installed on iPhone4; backup device in iTunes
-
Upgrade to iOS5
From a previous test, I know that the APN token is now different -
Restore the backup to the device
The APN token is now the same as step 1. -
Reset iOS (clean device)
The APN Token changes -
Backup a different phone to iTunes and restore that backup to test device; basically, I'm restoring the "wrong" backup, as if I were switching phones.
The APN token changes again; further it is distinct and does not match the tokens either the original token or the "cloned" token. -
Restore the "correct" backup to the device.
The APN token is now the same as step 1. -
Lastly, I upgraded the phone to iOS6 (beta2), restored my backup, and re-tested. As expected, the token continued to match the token in step 1.