Couchbase mobile database API thread safety concepts
In order to make sense of a crash report you will need to symbolicate
Symbolication being the process of replacing memory addresses in a crash report with human-readable function names and line numbers.
To do this you need to have debug symbol (
.dSYM) files for the application and for Couchbase Lite’s framework.
To locate the local dSYM files:
For scheme based builds, they are located in the derived data path
For the target based builds, they are located in the configuration build directory path, as specified in the target setting
For archives, they are located in
If you still cannot locate the file, then use
dSYM folder is located in the same directory as the Couchbase Lite binary framework (this also applies for Cocoapod and Carthage).
It has the same filename as framework but has a
Apple creates new dSYM files for apps uploaded to the App Store or TestFlight with Bitcode enabled. To symbolicate crash reports generated by these apps you must download the generated dSYM files. Do this using Xcode’s Organizer or direcly from App Store Connect.
Within Xcode’s Archives Organiser, select the required archive
Within the Archive Information dialog panel, select Download Debug Symbols button
The dSYM files are downloaded to the archive bundle in a folder named
See Download debug symbols: https://help.apple.com/xcode/mac/current/#/devef5928039
You can upload your dSYM files to third-party crash reporting tools for analysis, either automatically via script or a manual zip file upload. Links for some of the more popular crash reporting tools are included below.
Firebase Crashlytics: https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports
Microsoft Visual Studio App Center: https://docs.microsoft.com/en-us/appcenter/diagnostics/ios-symbolication
Xcode includes obfuscated symbols in dSYM files if apps with Bitcode enabled are uploaded to Apple without symbols.
In such cases you need to to de-obfuscate dSYM files before symbolicating.
De-obfuscation is done automatically if downloading through Xcode. But if you use App Store Connect, you may need to, use the
xcrun command on each .dSYM file inside the downloaded dSYM folder.
xcrun dsymutil -symbol-map <pathToApplicationArchieve>.xcarchive/BCSymbolMaps <pathToDownloadedDSYMs>/3B15C133-88AA-35B0-B8BA-84AF76826CE0.dSYM
|See Translating 'hidden' symbol names back to their original names: https://developer.apple.com/library/archive/technotes/tn2151/_index.html|