When I try to download the dSYM from the organizer, it gives me this error :
Missing App Version
An app record for “co.**” was found but a matching version for “1.0.3” build “10” was not.
I have enabled Bitcode. It's a swift app with Swift and Objective-C pods. Xcode Version 7.2 (7C68)
When I right click on the archive and look at it's package contents in Finder, I see a dSYMs folder. I zipped it and uplaoded it to Crashlytics, but it still shows dSYMs missing for all my builds. It even has App.dsym with some dsyms with UUIDs and others for my pods.
Is this an XCode bug?
I see somene has posted a similar question for tvOS on the apple developer forum but there are no answers there. I am not allowed to ask a question there for some reason :p
I haven't added a build to iTunesConnect yet, is that necessary to download dSYMs? Where does XCode download the dSYM from? Could it have something to do with the fact that my bundleId is of the form co.someString and not co.someString.someOtherString? I guess not, I'm just looking for anything.
Is disabling bitcode the only way to be able to get the dSYM for me?
Sounds like your dSYM file doesn't match the application binary, even if app version number and build number would be correct. Every time you build (archive) app, you get new and different dSYM file, too.
You cannot use just any dSYM file from any archived project, even if you made no code changes between archives. You must get the exactly correct archive and dSYM from within it.
Here's related info from HockeyApp, similar service to Crashlytics. Even if they are diff services, symbolicating crash reports is similar problem.
Related
I have some crashes in the Firebase Crashlytics console with missing dSYMs, so the console shows an alert icon, requiring me to upload dSYMs manually.
But the problem is these dSYMs were already overwritten and don't exist on the computer anymore, so it's not possible to make these issues available in the main issues list.
Does anybody know, is there any way to delete/close these issues at least?
I used a workaround. Crashlytics wants dSYMs before we can do anything with crashes? Ok, we'll give him.
Even if original dSYMs for crashed build are lost (or weren't generated), you may take version of project closest to crashed version and generate dSYMs (that's why it's good to have version control). If you can't find dSYMs, make sure they're enabled in build settings:
The problem is - generated dSYM will have another UUID, and Crashlytics won't match it with crashes to symbolicate. Here we do a hack, replacing UUID in generated dSYM with one of missing dSYM in console.
Find generated dSYM UUID in packet's info (CMD+I > "More info" > "dSYM UUIDs"):
Locate dSYM file in generated dSYM packet (open packet with "Show packet contents"):
Open file with any HEX editor (I used Hex Fiend from AppStore) and locate UUID (it's in the beginning of file); notice that it will be raw bytes, not a UUID string:
Replace generated UUID with one of missing dSYM, save, upload dSYM to console.
That's all. If you're lucky enough, crash may be correctly
symbolicated; otherwise you'll at least be able to close it)
Thanks. Todd from Crashlytics. Right now it's not possible to force close these crashes, though that's an interesting idea. Once you launch a new version you have dSYMs for these will be less visible in your dashboard.
Not so many years passed, and Crashlytics added solution, it's on a dSYMs tab:
Hello I have been digging to find the solution but unfortunately I have not been able to find an answer. My issue is that I have my application that uses crashlytics. When pulling my crashlytics I see the Dsyms missing issue, i tried to add all the missing ones through the organizer but unfortunately i am not able to find all of them. please note my applications are not in the app store and I do not have itunes connect I am using an enterprise account. I noticed when running my application through the simulator and forcing a crash, Fabric will ask me for a new dSYM that I am not able to find. where can i find this dsym? I have verified through my build settings that I have dWARRF with dSYM enabled on both debug and release. If you have any ideas please let me know. Thank you!!
If you’re using Xcode 10 on a new project, Xcode 10 adopts a new build
ordering that is independent of the ordered list in the Build Phases
of Xcode.
Put "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)" into your
Fabric Run Script’s “Input Files” section to ensure your
installation of Fabric goes smoothly.
Reference to Crashlytics documentation.
You can do the following (it works for me):
Archive a binary of your target. Select your Scheme and make sure you have "Generic iOS Device": selected. Then in the Xcode menu, go to Window->Organizer and you will see your build
Select the build. Check the date/time and version(build) numbers to ensure it is the one you want. Right-Click and select "Show in Finder"
Right-click in the .xcarchive file and select "Show Package Contents"
Look for the dSYMs directory. Right-click and compress.
Move the dSYMs.zip file to your Desktop for easy uploading to Crashlytics.
I've Googled this extensively, and either the situation someone's experiencing involves a different Xcode version (and therefore different build options), or a presence of a dSYM file.
So, here's the situation. I received a crash report through Xcode. It's just memory addresses. Trying to open it in project gives me the same memory addresses. Thought about manual symbolication but for that I need my dSYM file corresponding to the archive I built. But when I 'Show package contents' for the archive I built in finder, its dSYM folder is empty.
My Xcode settings at the time of archiving were:
DEBUG_INFORMATION_FORMAT: DWARF with dSYM File
STRIP_INSTALLED_PRODUCT: Yes Switching to No makes no difference.
DEPLOYMENT_POSTPROCESSING: No Switching to Yes makes no difference.
Also, I selected 'Include symbols' when uploading the archive to iTunes Connect.
The process for deployment with Apple is confusing-as-hell enough, without having to worry that when a crash does happen, the resport is in fact readable!
So my questions are:
1) Why was my archive missing a dSYM file?
2) If the dSYM file would've been generated, where could it be?
3) If I really do not have a dSYM file, can I still somehow get human-readable symbol names? I've got the original archive I uploaded and access to source code for that build.
3a) If I Product>Archive again (and assuming this time a dSYM does get generated), can I use this dSYM file instead? Or will it have a different UUID, causing it to be incompatible with the crash log cause...well...Apple?
Xcode version: 6.4
Here's what my crash log looks like in Xcode Organizer:
Thanks.
EDIT:
I upgraded to Xcode 7.3 before trying this but it may also work for version 6.
The solution to question (1) is to set the following in project build settings:
GCC_GENERATE_DEBUGGING_SYMBOLS
On XCode 8.3.2, select Yes on Generate Debug Symbols
For question 1), I also don't know. It may be a bug of Xcode. You can archive
the same code again, then generate a same dSYM file.
For question 2), you can search 'dSYM' in the folder '~/Library', because 'dSYM' file output in there generally. If not found, try searching it in the entire disk.
For question 3), you must have the system library symbol file that the crash log listed in 'Binary Images' section. You can find it in '~/Library/Developer/Xcode/iOS DeviceSupport'. If not found, you can connect an iPhone with the same OS version showed in the crash log to Xcode. After Xcode finished processing it, the system library symbol file of the iPhone can be copied to the folder. Then, you can re-symbolicate the crash log.
For question 3a), For the same app code, different Archive may be have a different dSYM file(UUID). If you use it to symbolicate the crash log, the symbolicated crash line is very close to the real crash line, so this can also help you to infer the real cause of crash.
From your screenshot, there only one line from your app code not be symbolicated. Now, you can generate the dSYM file of your app through using the app code which causes the crash to archive again. After you generate the dSYM file, use command line dwarfdump -u yourApp.app.dSYM to get UUID of it,Then check the uuid if contained in the first line of 'Binary images''. If NO, you can modify the UUID in the first line of 'Binary images'' to same as the new UUID which got from dwarfdump -u XXX.dSYM, Note the cpu architecture. Finish this, you can re-symbolicate the crash log in Xcode, or use command line symbolicatecrash crashreport.crash yourApp.app.dSYM. Note, you must guarantee the version of your app code same as version in the crash log, if not, the result is unbelievable.
I have the error: "It looks like we are missing dSYMs to process crashes for the versions below." - I have downloaded the dSYMs in the Xcode organiser, found the .xarchive and zipped the corresponding dSYMs folder and uploaded with success; but the error does not disappear i.e. does nothing:
How can I symbolicate my crash reports?
dSYM Folder:
I just had the same issue and searching for solutions brought me here. Since this is missing an answer and I solved the issue for me, I'll resurrect this question to maybe help others having the same issue in the future.
Below the part shown in your first screenshot, there should be a list "REQUIRED (These are needed before crashes can be processed)" stating which UUIDs are still missing their dSYM and from which Build they are.
Just download the dSYM of the respective Build(s) like stated in the official Docs » Crashlytics » All about Missing dSYMs.
(E.g. log into iTunes, select the respective Build and click on download dSYM at the Build Details screen)
The downloaded dSYM(s) can simply be manually uploaded as you already did the other file(s).
I've tried almost all the variants, described here on stack overflow and on Fabric info page, to solve the same issue. But, unfortunately, none of them helped. And I've found a new solution, which I haven't seen here on Stackoverflow and which fitted me.
I've integrated HockeyApp with the project of my app and uploaded the build into HockeyApp (the build is uploaded there with an archive which contains dSYMs). After that the crashes started finally appearing on Crashlytics as symbolicated crashes with details.
I just had the same issue. The reason was enabled bitcode. So disable it or download dSYMs from iTC and upload them manually. I didn't find bette solutions yet.
I've just created a new iOS Swift project, using Xcode 7 beta-4, and have integrated Crashlytics (part of Fabric now) with the usual process.
It integrated all fine, and I can simulate crashes etc.
However when I go to the Crashlytics dashboard it warns me that:
Missing dSYM
We're missing a dSYM to process crashes, upload it here!
And none of the crashes show up.
Clicking the warning message (it's link is mentioned here:
http://docs.fabric.io/ios/crashlytics/crashlytics.html#troubleshooting) gives me a list UUIDs Crashlytics is missing dSYMs for.
The page gives the option to upload a dSYM, which I have tried doing (getting it from /Users/me/Library/Developer/Xcode/DerivedData/MyApp-xxxxxxxxxxxxxxxxxxxxxxxxxxxx/Build/Products/Debug-iphoneos). However after doing so this does not resolve the issue.
I've tried getting the frameworks from CocoaPods instead of manually adding them, in case that made a difference. It didn't.
-
So my only thought is perhaps Crashlytics doesn't handle dSYMs produced by Xcode 7 beta? Or is there something fundamental I've overlooked?
Many thanks for your help!
-
UPDATE:
After many back and forth emails with the Crashlytics team, this particular problem was discovered by them to be caused by changes made in one the beta Xcode 7 versions. A fix to Crashlytics was pushed out and since then it worked.
If you're experiencing similar issues, I suggest first ensuring you're using a release version of Xcode, and also the latest version of Crashlytics :)
Go to Build settings and choose Dwarf with dSym File option for both debug and release builds.
You haven't uploaded dsym ..You can get dsym file from:
Goto https://itunesconnect.apple.com> SignUp> MyApps> Activity> Then select the version of App for which the Missing dsym error is showing and download the dsym file from there...
upload it to fabric
Hope so your issue is resolved..