This one is a real head-scratcher...
PART ONE
We have a swift iOS application with different targets for Dev and Prod (normal stuff).
We've incorporated Google Protobufs into it for one of our latest features. This was done using Google's J2ObjC library and the pod 'Protobuf', '= 3.11.4'
pod. (Our .proto
files were made with v3.11.4).
Running our Dev target works fine (mostly, see Part Two). Running our Prod target crashes in the constructor of any GPBMessage object.
It crashes within the + (GPBDescriptor *)descriptor
function of the pbobc.m
file of our message object...eventually getting to this error within GPBDescriptor.m
Line:
enumHandling_.enumDescriptor_ = coreDesc->dataTypeSpecific.enumDescFunc();
Error:
(lldb) po coreDesc->dataTpeSpecific
error: <user expression 2>:1:11: no member named 'dataTpeSpecific' in 'GPBMessageFieldDescription'
coreDesc->dataTpeSpecific
~~~~~~~~ ^
What's weird is this crashes in Prod and not Dev. Combing through both targets' Build Settings...they're identical. Build Phases are the same, Build Rules are the same, Plists are basically the same...
I don't know what else to check.
PART TWO
There is one GPB message that crashes on init in both our Dev and Prod targets. (We can run without it, so I've commented it out during development.) The difference between this message and the others is that this one is a list of enums. It crashes on the same line. ¯\(ツ)/¯
Thank you SO MUCH in advance! :D