How To Fix Deep Link/Push Notifications Crashes On Unity iOS after Apple Privacy Manifests update (and Why Software Design Matters)
A nasty crash appeared after the update from Unity 2021.3.31f1 to 2021.3.36f1, and the update was required due to the Apple privacy update and the introduction of Privacy manifest files since the support for it was added relatively recently. So you either have already encountered this crash or would encounter it soon if you publish your games to the App Store and use Facebook SDK and deep links as the deadline for this update is really close.
Strangely it was reproduced only on iOS 15 and 16, while iOS 17 was okay.
It turned out to be an interesting investigation, so I wanted to share the details with you.
It's funny how the regex to replace the generated UnityAppController.mm in FB SDK has been sitting there since 2015 and only now fired so badly causing a crash on a subset of devices. And it happened due to the UnityAppController.mm template being updated in one of the newer Unity versions.
And it's a perfect example of "Unknown Unknowns" discussed in "A Philosophy of Software Design" by John Ousterhout. Unknown unknowns increase the complexity of your system, but when it happens between 2 third parties it becomes multitudes times harder to track and resolve.
I definitely recommend the book.
According to the issue tracker, it also happens in 2022 and 2023, so now you know what to do if your app starts crashing on iOS after Unity update.
https://gamedev.center/how-to-fix-deep-link-push-notifications-crashes-on-unity-ios-and-why-software-design-matters/
#crash #ios
Post #2396
1.06K