What is the recommended way to prepare for a new iOS version?

Today I found out that in order for background push to be working on iOS 13, I need to set a new header called "apns-push-type". According to the documentation, this header is "Required when delivering notifications to devices running iOS 13 and later [...]".


My question is more of a general type: How is a developer supposed to prepare for a new iOS version and become aware of such things?


The following questions arise:

  • Is there an official document or guidline along the way of "what needs to be changed for the upcoming iOS version"?
  • Why is something like that not mentioned in the release notes?
  • Are we expected to re-read the whole API documentation?
  • Are we expected to watch all WWDC speeches?
  • Are we expected to catch such changes via trial and error using the developer beta versions?
  • ... or did I just miss something?

Replies

Apple can't predict how your code/app will perform against their APIs, that's your job as a dev and why it's called 'development'. Testing & discovery is all part of the process and why betas are made available.


Dev-woke includes but is not limited to:

- reading the beta and release notes, keeping in mind things are far too fluid for them to be anything more than reference

- checking headers/comments in each API you rely on

- test/test/test - See: Testing Your App on Beta OS Releases

- understanding the difference between warnings and errors and what your reaction should be in both cases

- understanding the specific short and long term impactsof deprecations on -your- code

- scan the forums/internet for what others are doing/seeing

- file bugs to see what comes back

- as applies, use support tickets w/DTS if you get stuck, being sure to have a (non-beta dependant) project that demos your issue


Good on you for checking headers. Be careful out there.