Why does recompiling from bit code make me unable to symbolize in the Xcode ad hoc release and how to fix it?

Thus, it made me dunk, but I finally found out that the bitcode compilation option when exporting my application for adhoc deployment causes my debugging symbol file (dSYM) and my application UUID to be incompatible with the meaning I cannot Symbolize any failure logs

Disabling the option fixes this, but is there a way I can fix this option? I read the advice for this option and it says that the store uses this method. Can't I read crash logs from the app store now, or is this just a local problem?

Here is what I get from the old build to this version of Xcode:

dwarfdump --uuid app DD25E6C9-... (armv7) 29F74B2E-... (arm64) dwarfdump --uuid app.dsym DD25E6C9... (armv7) 29F74B2E... (arm64) 

Fine Now with the bit code:

 dwarfdump --uuid app E7D2BE71-... (armv7) 5C871FD7-... (arm64) dwarfdump --uuid app.dsym BC93BCF5-... (armv7) 3312658C... (arm64) 

Obviously, this will not mean. I tried it with an option and it matches again. Is this a problem with Xcode not restoring characters for a new bit code assembly? And why oh why is this default value turned on and doesn't warn you about your crash logs?

+7
ios xcode bitcode symbolicatecrash adhoc
source share
1 answer

When the bitcode is enabled, the Xcode archiving process creates: 1. Native arm64 or armv7 code 2. Bitcode 3. dSYM file (corresponds to the UUID of the native code)

When you create an ad-hoc distribution and enable the "compile bitcodes" option, Xcode recompiles Bitcode to Native, which can and usually results in different UUIDs for the arm64 and armv7 parts. The original app.dSYM is not touched (and therefore does not match the new binary files), instead new dSYMs are generated in the same xcarchive folder, they have the form "E2015333-1220-391E-928C-04C32A179EC9.dSYM" and match the actual UUID of newly compiled binaries.

The story does not always end, these new dSYM files can be confused (I have instead of __hidden # 232434 instead of the actual symbol names). Mappings to deobfuscate them are also located in the xcarchive folder in the folders named "BCSymbolMaps".

To disable such dSYM, you would use the following command:

 dsymutil --symbol-map <bcSymbol-file> <obfuscated-dsym-file> 
0
source share

All Articles