My submissions for a newer minor version of a Mac app (whose previous version already ready for sale) are rejected due to the reviewers experiencing a crash. (The review is done on macOS Big Sur 11.5.2).
Although I create the archive in Xcode 12 on Catalina (to ensure backwards compatibility), I tested the created universal binary on 10.13, 10.15 and 11.3 as well as 11.5.2, and never experienced the crash myself in any of those environments, so I have no idea what's going wrong, as there is not really any substantial change in the new version compared to the previous approved version except for a few bug fixes consisting of changing the ordering of a few if else conditions, etc - no new UI objects or classes.
My Macs are all Intel-based, so I asked the last reviewer if they were experiencing the crash on an M1 Silicon Mac, and then they replied it's an i5 iMac! (with BigSur 11.5.2)
The crash occurs right after the reviewer clicks a button and triggers an IBAction or so they say.
At first, I suspected that the first reviewer had ran out of RAM because of leaving too many (other) apps and windows in the background, so I added the following code inside the function triggered by that IBAction:
let a = DispatchSource.makeMemoryPressureSource(
eventMask: [.warning], queue: .main)
a.setEventHandler(handler: {
debugPrint("memory warning!")
_ = showAlert(withTitle: "Your Mac is running out of memory", message: "Try closing other applications.\n\nYou can as well submit a support request...")
})
a.resume()
After testing this addition on 10.15 and 11.5.2 still no crash on my side, so I submitted this build via App Store Connect. And In the next 12-24 hours, boom, another rejection with a new crash report. It turns out this had nothing to do with memory shortage whatsoever.
I will appreciate any help to find the root cause of the issue.
Full crash report from the first reviewer:
MultiVerse.Crashlog-0825-111137.log
Full crash report by the second reviewer:
MultiVerse_2021-08-26-144423_marti2s-iMac.crash