I have encountered this twice recently where I am trying to list the external symbols for an iOS mach-o binary and none of the tools can provide any output. The following is an example of the output from jtool:
jtool -S BinaryName -arch arm64 U U U U U U U U
This particular binary was a fat binary hence having to pass it the arch but I also tried thinning it and running the command on just the arm64. The previous binary I had encountered this was not a fat binary though. Unfortunately I can't actually share either of the binaries, which I appreciate makes it harder to answer, as they are from a client.
I thought I had a reasonable understanding of the mach-o format although very inexperienced reversing.
I don't know if this is a trick I'm not aware of, how are these symbols resolved at runtime if they can't be parsed by any of these tools? Is there a way to "undo" this and list the symbols normally without running the binary?