The title of this question basically says it all. I enabled Crashlytics in my Today extension, and for some reasons, the dSYMs are not being uploaded, even though I'm not using Bitcode.
I tried uploading them manually (from ~/Library/Developer/Xcode/Derived Data/Timelines-evxmjnxmpmcivkavmpijzakaxkrp/Build/Products/Debug-iphoneos/Timelines.app.dSYM), but the web interface doesn't really give me any feedback. It shows this screen:
No matter how long I wait, once I refresh the page, it goes back to the 'upload dSYMS' screen.
I think the problem might be that the UUIDs of the missing dSYMs don't really match those that I found locally.
Some notes on my setup:
Xcode 8.2
Today extension running on iOS 10.2
Bitcode is not enabled.
Fabric and Crashlytics integration was done using CocoaPods.
Archive wasn't uploaded to App Store. I'm just testing it locally on my devices. But since the entry for crash reports was created in the web interface, I assume the automatic upload should work anyway.
My question basically is: how exactly can I upload the dSYMs manually? And, second one: how can I make the automatic upload of dSYMs work? Thank you.
It is described here completely ==> fabric.io.
As it said you can download it from activity tab in itunesconnect and then upload it to crashlytics website.
Related
For some reason we needed to change the package-id of our existing android application. We already use Fabric for Crashlytics.
I'm trying to bring that new app up in the Fabric dashboard, but it's not showing there, despite the device log showing no issues (as fas as I can see): device log
Any ideas why the new package-id isn't visible in our dashboard?
Best,
Sven
I experienced a very similar issue to this when building an app with multiple flavours. The solution is to manually specify the package name, and not let Fabric try to automatically grab it, as it tries very hard to "stick" your old package name.
There is a full post available (disclaimer: my site), but essentially you need to use:
Fabric.with(
Fabric.Builder(this)
.kits(Crashlytics())
.appIdentifier(BuildConfig.APPLICATION_ID)
.build()
)
Make sure to include all dependencies on their dedicated gradle.build and meta in manifest file. Next is to throw a force runtime error on your device with internet connection also do not forget to initialize it first with Fabric.with(this,new Crashlytics()). If this doesn't work try to download and install Fabric for Android plugin in Android Studio, restart the IDE and you will see a fabric icon above. Start it and select your package name.
I had the exact same problem, in the log I clearly see that the Crashlytics is in use.
I/CrashlyticsCore: Crashlytics report upload complete: <ID>
But I cannot see my project on the dashboard, and always redirect to the tutorial.
After a Build-Clean and an Android studio restart, build and run the app again to my phone, and voilá, it finds itself. Now working, without any change.
I have the same problem. After hours of researches I resolve this for my application.
First: After adding new flavour, I make changes in Firebase console (added new app in existing project, with production SHA1, changed google-services.json).
After that app does not show in fabric dashboard and fabric plugin in Android Studio. Problem was resolved after linking new app in crashlitycs in firebase console. And after that check your roles, must have Owner role (on Firebase Console Project).
I have a question concerning dSYMS and how Crashlytics handles them.
My application contains different targets and the whole project is compiled with bitcode enabled because of the Watchkit App and Watchkit App Extension targets.
I then followed the Missing dSYMs Documentation in order to manually upload my missing dSYMs.
It worked, the Required missing dSYMs are now striped on my dashboard.
But I was wondering, how exactly does it work? This version of my application is on the AppStore for 1 month.
Will I get crash reports only from today, the date I uploaded my dSYMs ?
Should I manually upload for every releases?
I don't really understand the process.
Mike from Fabric here.
dSYMs contain the symbols for your app needed to provide fully symbolicated stack traces. When you build locally in Xcode, the dSYMs are on your local machine and so the Fabric run script build phase can upload them.
With Bitcode enabled, Apple is recompiling your app on their servers which creates new dSYMs. Since it's happening on their services, Fabric has no way to upload these automatically. Apple does provide the dSYMs through Xcode or iTunesConnect. Since we can't access those dSYMs (we would need your Apple developer credentials and we don't want to have them), you do need to get the dSYMs from Apple and upload them to Fabric for each release through Apple or Testflight. You can also use the upload-symbols script to upload them in bulk. The upload-symbols script will also work from CI machines.
When a crash comes into Fabric, we look if we have the dSYM needed to symbolicate the crash. If we don't, we will alert you via the dashboard and your Fabric app settings page. If a crash has a missing dSYM, we will store it for 7 days. If the missing dSYM is not uploaded in this time, then we will drop the crash and not process it. If the missing dSYM is uploaded, then the crash is enqueued to be processed and it can take between a few minutes to a few hours to process and display.
With that said, the best way to handle this is to use the upload-symbols script to get the symbols to us even if there isn't a reported missing dSYM yet, so that we have the symbols when a crash happens. If we have the dSYM when the crash is reported, the crash will be processed within a few seconds (on average).
An alternate approach is to use fastlane's refresh_dsyms command to get the dSYMs and upload them.
I had archieved the xcode project and uploaded it into itunes connect. This is 5 time uploading, for internal testing. It shows the following error
I don't have any idea that why the error are showing, i'm using Xcode 7.2 . Can any one help to resolve this error, i stuck for more than a day.
Try with Application Loader.
sometimes i faced same issue with Xcode7.2 then will try upload app with Application Loader. it's worked fine.
For uploading app with Application Loader ....
Step-1) First create IPA of your App.and Export your IPA which is created with iOS App Store Deployment.
Step-2) Right Click on XCode(from dock) >> Open Developer tool >> Application Loader
Step-3) Choose IPA (which is saved for iOS App Store Deployment) and Next to upload. it will be take some small time and after few mins it will be show on itunes connect.
after few mins it will be show on itunes connect.it is very easy and faster uploding compare to xcode. Hope it Helps you!.
its currently a bug, many dev are facing it.
Also you can follow it here
I've installed Testflight (1.2 B3) as stated in the documentation. Builds are uploading and updating fine. I can see sessions (mostly anonymous :/), I receive the logs (TFLog) - but I do not receive any crash reports. I even introduced a crash-on-event (a method not found thing) - but theres is nothing on Testflight about it.
Provisioning is via a developer profile which embeds several devices.
The problem occurs on iOS6 and iOS5 / iPhone5 and iPad3. The is being build against iOS6.
Any ideas?
UPDATE
I've tested several other frameworks and ways to receive crash reports. Nothing worked so I suspect something in my code (obviously). Are there any other switches that XCode 4.5.1 might have enabled and that way disable any error reporting during a "production environment" like setup?
UPDATE 2
As of now we're using Testflight only for distribution of beta versions and switched to Crashlytics for crash reporting. It's a bit more streamlined and fetches most crashes.
I also do not get any crash reports via TestFlight. This is what the TestFlight people told me:
Our team is currently looking into an issue associated with auto
versioning of the app when uploaded and SDK data not reporting
properly. Looking at the URL you provided it looks like the build
version is not changing before uploading the app to TestFlight and our
auto versioning implementation is causing an issue with general SDK
data reporting.
I will share this with our team and we will contact you when we have
an update available.
I tried to update the build version to avoid auto-versioning, but it did not help me. But maybe this issue is hitting someone else.
Testflight did not satisfy our needs to log crashes. That is why we skipped to Crashlytics (as I said in the original post). The issues with Testflight seem not to be resolved. We still do use it for distribution, that is what it's good at.
I'm developing iOS apps and I'd like to share my apps with TestFlight testers. This is not the problem and works fine (via email). However, when I'm uploading a new build, I'd like to have in-app updates.
The SDK describes this as being possible, but I don't see anything from an update in my app.
I closed the app from "Multitasking".
I added the SDK to my project and in the AppDelegate my TeamToken, Checkpoints, etc. work fine.
Any ideas?
On testflight, have you enabled the force upgrade? (Your Application -> Build -> Build information -> Forced upgrades)
Also please make sure that the activity report is showing your session when you start your app.