I have an iOS app that is only crashing with the client on iOS8.0
At first I tried to install iOS simulator8.0 on my xcode7.0, OS X El Capitan to test the code but, facing some issues, I dropped the case
Now, what I am trying to do is get the crash log from xcode's organizer, but weird things are happening:
I am logged in xcode with my iTunes account
The app had the checkbox on for "Include app symbols for your application…" when uploading it to testflight, BUT the build details in iTunes Connect shows "Includes Symbols: NO"
The organizer does not show every versions of the app on iTunes Connect, although we can see all the versions and build numbers from my colleague's xcode.
Organizer doesn't show all the crash log of the app of the given build number although I can see some crashes on different builds (On the other hand, my colleague can not see any crash log happening on the app for the current version and for all the previous versions)
Can anyone help me on any (or both) of the issues? Thanks
NB: I want to avoid to ask the client to send me his device's crash logs. Although one time I asked a client for the crash log from the device and there wasn't any crash registered on the device
The reason you and your colleague do not see the same crash logs is likely
because your colleague is assigned a lesser role in your team.
(Say you are admin and he's technical)
Can't help with the Includes Symbols: NO issue cause I have
debug symbols stripping set to NO for both debug an release targets
and yet I see the exact same issue (Includes Symbols: NO in itc).
Apple just does not like to symbolicate I guess...
Related
Installed with testflight the application does appear in the list of target applications to share an image with. When I select my application icon in the list I do get a normal Post dialog. After pressing "Post" in the dialog the application does open but nothing else happens.
When the same version of application is installed with xcode the shared file is delivered and the application displays the shared image.
I am not even sure how to debug such an issue as the application installed by testflight does not appear in the list of installed applications in xcode Devices window. Nothing that I can find in device logs either.
Please suggest any approach to troubleshooting the issue.
Update: I found a way to get much more detailed logs from device than the one provided by xcode's "Devices" window: deviceconsole utility. This gives at least some information to approach troubleshooting.
Update 1: It turns out that the application installed through ad hoc ipa file exported from the same archive that was submitted to testflight shows the same problem. This allows much quicker testing turn around.
This answer indicates that the problem can be caused by "Deployment Target" of extension set above the ios version of test device. I did try different combination of this setting in the application and extension, nothing helped thus far.
Update 2: I created code-level support request with apple for this issue and provided full source of the application to them. After few months of apathetic communications they concluded that the problem is due to a bug and suggested to create report Apple Bug Reporter. I did that and after another few months of more apathetic communications the issue was promptly closed on the basis that the application does not crash. Frustrating, but I still need to resolve the problem, now looks like without help from vendor.
If the deployment target is higher than the version number of the actual phone, your code cannot run. So the only choice is reducing the deployment target of the extension to be the same as the app.
I’d check if you have somehow set different deployment targets for debug and release.
Ok. I am on the latest version of Xcode, macOs, everything is updated. I just uploaded a new build to TestFlight and all of a sudden no crash reports are showing up in Organizer.
I know we had a crash because my tester showed me his phone - I had him go to Privacy settings and turn on the "share Analytics with developers" option, just as Apple says in their documentation.
This is what I see, despite multiple crashes from one of my testers and after waiting over 9 hrs for it too come through:
The odd thing is my last build generated full crash reports, which was great. I just retired that build, but the new build is not generating reports.
This is my scheme settings if that changes anything, I am new to test flight crash testing:
What am I doing wrong here?
I found that for me, the crash logs were not showing up in Xcode. However, if I completely exit Xcode and then re-open it the crash logs appeared. Not sure why this is. So to see my crash logs I had to:
Fully exit Xcode (Quit Xcode from the Xcode menu)
Reopen your project in Xcode
Go to Window > Organizer
Select the Crashes tab
You should now be able to select your appropriate build number from the drop down menu
Your crashes should now show up.
Keep in mind there may be a slight delay between when Apple receives it and when they show up in Xcode.
Is there any way to get crash information in iTunes Connect? I notice under App Analytics it displays the number of "Opt-in Only Crashes". I press the number under it (in my case 2). This takes me to a page that only seems to show the days that the crash happened. Is there any way I can see useful crash information, for example line of code, etc.?
To see where is the problem just open your Xcode > Window > Organizer > Crashes from your Application.
You already deployed your app on App Store (or as an Ad Hoc or Enterprise build) then you won't be able to attach Xcode's debugger to deployed app for debugging. To debug problems, you need to analyze Crash Logs and Console output from the device. To read crash reports with backtraces its need to be symbolicated before they can be analyzed. Symbolication is a process which replaces memory addresses with human-readable function names and line numbers.
To understanding and Analyzing Application Crash Reports you can refer Symbolicating Crash Reports, Debugging Deployed iOS Apps or Analyzing Crash Reports.
Overview of the crash reporting and symbolication process.
Set Debug Information Format (DEBUG_INFORMATION_FORMAT) in build settings these debug symbols are stored inside the binary or in a companion Debug Symbol (dSYM) file.
When you archive the application for distribution, Xcode will gather the application binary along with the .dSYM file and store them at a location inside your home folder.
At the time of deploying on the App Store or a beta test using Test Flight, include the dSYM file when uploading your archive to iTunes Connect.
When your application crashes, an unsymbolicated crash report is created and stored on the device.
You can retrieve crash reports directly from their device by following the steps in Debugging Deployed iOS Apps. If you have distributed your application via AdHoc or Enterprise distribution, this is the only way to acquire crash reports from your users.
Crash reports retrieved from a device are unsymbolicated and will need to be symbolicated using Xcode. Xcode uses the dSYM file associated with your application binary to replace each address in the backtrace with its originating location in your source code. The result is a symbolicated crash report.
If the user has opted to share diagnostic data with Apple, or if the user has installed a beta version of your application through TestFlight, the crash report is uploaded to the App Store.
The App Store symbolicates the crash report and groups it with similar crash reports. This aggregate of similar crash reports is called a Crash Point.
The symbolicated crash reports are made available to you in Xcode's Crashes organizer.
Yes, You can view those crashes in Xcode. This can found in apple docs in Analyzing crash reports
I was finally able to put the app on my phone to test it but soon as I open the app, it crashes..It is written in swift. Is it even compatible on the iPhone yet? I'm currently running 7.0.4. Also is there any where I can access the crash logs? I tried to look in Devices -> Device logs, but didn't see my app in the logs.
Has anyone been able to get it working on their phone and how?
I made my own certificates and editted the info.plist to get it through xCode without dev account..but I don't think that matters
you can get crash logs using iPhone configuration utility application.
you can download it from here : http://support.apple.com/kb/dl1465
You can get the crash reports using the Xcode organizer.
Connect the device.
Open the Xcode organizer.
Select the devices tab (Xcode 5.1)
Select Devices Logs under the device.
This will also trigger the symbolication process of the crash reports, so you should see your class names, methods, filenames and line numbers a few seconds after selecting a crash report.
The top level Device Logs item will only show the crash reports of your devices, once you did the above steps to get the organizer to import the crash reports from a device.
I have a project I can successfully build/install using developer/debug to a device or simulator.
When I make an ad hoc build i can build-run onto the simulator, but not onto the device.
I'm trying to perform a direct install because the ad hoc installed app is crashing (nil added to array) where the debug version is not.
I also have tried to attach to the running ad hoc installed app. The app will run indefinitely (but crash if i perform a particular use case.) But if I attempt to attach to the running app, it will crash.
It happens to be a Box2d/Cocos2d application - but i don't have any reason to think they are the cause. Xcode 4.3.2, iPhone4 iOS 5.1
the message when build-and-run is attempted:
error: failed to launch '/Users/bshirley/Library/Developer/Xcode/DerivedData/foo-bar-evrbckppmbsspqhezhleaxkmymxn/Build/Products/Adhoc-iphoneos/foo-bar.app/foo-bar' -- failed to get the task for process 6892
Anyone have some insight into the problem or tracking it down?
Edit, I thought I'd add some key words so searches might be more likely to find:
One issue with diagnosing the post-mortem crash was that the stack trace was not symbolized in the Device Logs of the Organizer in Xcode. That left me with 6+ deep stack trace w/i my code and no real reason to determine where it actually was.
If it is a release build, the app will (in a default setup) have a flag preventing outside processes from hooking into it (for security reasons). This includes the debugger. If you try, you will get the exact error message you indicate.
EDIT Sorry, small error. A release build alone will not cause this. A build with an adhoc certificate will cause this, because it is meant for final install on a device (not debugging).
If borrrden is correct (and it seems reasonable that he is, connecting one app to a signed running app would be a security issue), I can't actively debug the adhoc app.
The most useful thing i found for tracking down this issue, is Build Settings -> Symbols Hidden by Default - this value is only NO for debug. Setting it for NO on adhoc allowed me to see the entire stack trace when inspecting the Device Logs in the Xcode Organizer.
That led me to the particular method that was invoking the crash causing issue. Which led to the question why wasn't it crashing in the debug build. Didn't have time to diagnose that, just fix the problem.