I have two frameworks, with one dependent on the other. The calling framework is hitting a dyld: missing symbol called error and crashing the app.
dyld doesn't report what symbols it is, but I've traced it to a call to Heap.shared.addSource(a, isDefault: b)
Using DYLD_PRINT_BINDINGS=1, I get this interesting output:
dyld[95410]: <.../bind#135> -> 0x103fcafb4 (HeapSwiftCore/_$s13HeapSwiftCore0A0C6sharedACvgZ)
dyld[95410]: <.../bind#137> -> 0x1802bfda0 (libdyld.dylib/_$s13HeapSwiftCore0A0C9addSource_9isDefaultyAA0E0_p_SbtFTj)
All non-static members of the Heap class are marked as coming from libdyld.dylib, rather than the correct module. (I'm assuming this is the cause of the missing symbol.)
If, in the app itself, I call the method directly, the call from the app succeeds and the binding is set to the correct module.
dyld[95410]: <BadDYLD.debug.dylib/bind#8> -> 0x103fcbf30 (HeapSwiftCore/_$s13HeapSwiftCore0A0C9addSource_9isDefaultyAA0E0_p_SbtF)
Am I right in my assumption, that the log message is reporting the true issue. And if so, what could cause the symbol to load incorrectly like that?
