I have been developing a game in c++ using vulkan and moltenVK for porting to iOS and Mac. The game works fine when I run it through XCode on my iPhone, but when I distribute the app through TestFlight, it crashes immediately. Here is some of the crash report
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000048
Exception Codes: 0x0000000000000001, 0x0000000000000048
VM Region Info: 0x48 is not in any region. Bytes before following region: 4367466424
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
—>
__TEXT 104524000-104798000 [ 2512K] r-x/r-x SM=COW …ons And Mania
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: SIGNAL 11 Segmentation fault: 11
Terminating Process: exc handler [5132]
And the stack trace points to the first time my program calls MVKBuffer::MVKBuffer() via vkCreateBuffer.
I’ve verified that the build works when running from my machine, it’s only when I build for a generic iOS device (arm64) and distribute through the app store that this is a problem. I haven’t figured out how to enable validation layers for iOS, but I’m not getting any validation layer stuff running on Mac.
Any idea why I would get a segfault when creating buffers?