Instead we access it when either we need to submit a crash report, when the preferences window open (where the contact address is shown), or when creating a new bundle (where email is also used for the bundle’s contact).
This is to avoid cyclic dependencies since it was previously in a somewhat high-level framework, so everything that framework depended on, could not augment crash reports.
Use APP_VERSION instead of APP_REVISION in various target names.
Indicate a few build commands are generators, so that their output is not removed on ‘ninja -t clean’.
Move generated dummy files (for tagging, uploading, deploying, etc.) to sub-directories to reduce noise in build directory.
This is both to remind the user that crash reports are automatically submitted and to make it easy for them to point us to a specific crash, as notification center will now work as a list of recent crashes; click on one of them to see the online version.
According to the documentation, sharedAddressBook should return nil when user hasn’t granted access, but one user is reporting random crashes related to this code.
We now explicitly disable it for targets that hasn’t yet been upgraded to ARC. This way, it’s easier to get an overview of which targets hasn’t yet been upgraded and ensures new targets has ARC enabled.