I currently have an App that is on the Mac App Store that a couple people have reported instability with. I was able to reproduce the crashes and fix the problem, but what concerned me is that I have no Crash Reports listed for the App in iTunes Connect. When reproducing the crashes myself I did not get the standard crash report dialog asking if I wanted to send the crash report. In Console I do get:
6/22/11 9:05:25 AM ReportCrash[1902] Saved crash report for Application [1893] version 1.0 (1.0) to /Users/Name/Library/Logs/DiagnosticReports/Application_2011-06-22-090525_MacBook-Pro-4-Lyfe.crash
From what I could find on line the crash reporting should be automatic and you should only have to worry about implementing custom crash reporting if you want the reports sent directly to you.
My question is, why are crashes for my App not being sent back in to Apple and then ultimately showing up for me in iTunes Connect? My app is a menu bar item and does not have a full set of menus or dock icon if it matters at all.
Kris,
You do not get all the crash reports on iTunesConnect.
This is how it works:
Lets say you are an iPhone user, when you first activate your iPhone, it asks you if you'd like to send anonymous reports to apple, if you checkmark yes, only then the crash reports from your phone would be sent to apple.
Another thing to keep in mind is, even if a person has checkmarked this option, these reports would be sent, only when the user syncs his iOS device with the iTunes.
So essentially, the answer is
You cannot rely on iTunesConnect to get your app's crash
reports
Instead you should use a third party solution, like: Hoptoad:
airbrakeapp.com
I am very sure that there are other solutions like hoptoad as well, but this is what I have used and works very well.
Related
I've been debugging a complication of mine for several weeks now, and I am completely unable to figure out what runtime behavior (crash? hang? out of budget?) causes it to go completely blank.
I've left the exact same complication running overnight in the simulator as on my real watch, and my real watch (Series 2) will go blank yet the simulator catches no crashes or other failures that I can tell.
Does anyone know what going blank means for a complication on watchOS?
Sometimes it’s just watchOS, I think. When was the last time you power cycled the Watch? Also, have you looked at the Watch log files for your app? In devices from Xcode, you can view all the logs. See if there are any crash logs for your app on the Watch.
In iTunes Connect there is a button "TestFlight Beta Testing" in order to do just that.
I have a binary uploaded and ready. A few users are selected for testing.
This time, that button just does nothing. After tapping it, it goes green. But no invitation emails are ever sent out. If I reload the page, that button is unchecked/white. Bug or did I miss something?
Update: it seems to be working again. Nothing to see. Move on.
I'm also having problems sending out invites.
Seems to be an issue on Apple's end - TestFlight is experiencing problems: https://developer.apple.com/system-status/
During last days it doesn't work for me. Like an author I push the button but any mails don't send.
Is it possible to 'hack' or develop an app that lets you launch an app by pressing an iPhones power button or volume buttons or possibly from the passcode screen?
As an example: pressing the power button 5 times launches the app or sends an emergency SMS. Or entering a certain code into the passcode / lock screen sends an SMS
No. All these features are managed by a different process than your application, and you cannot directly influence that process. You can develop a JailBreak tweak that will allow you to do so, but obviously this is not for Apple AppStore.
What you are asking about is against the Apple Developer TOS. If you do it, you will not pass the App Store Review process and hence will not be able to distribute vie the iTunes App Store. If you don't care about that, then there may be jail break hacks that can help you with that.
a user of my app reports that the app crashes when accessing the settings charm. The charm shows the text "Getting info from ". After A while the text changes to "Can't get settings for this app right now" and a little while later the app is terminated.
After several thousand downloads from the Store this is the first time, that such a problem is reported. During the development of the app I came accross a similar problem: When I tried to add more than 7 setting entries in OnCommandsRequested() the app showed the same problem and crashed with an exception:
The operation attempted to access data outside the valid range
(Exception from HRESULT: 0x8000000B)
Too many SettingsCommand items have been added to the Settings pane.
at System.Runtime.InteropServices.WindowsRuntime.IVector`1.Append(T
value) at
System.Runtime.InteropServices.WindowsRuntime.VectorToCollectionAdapter.Add[T](T
item) at
Microsoft.Advertising.WinRT.UI.AdControl.onAdSettingsCommandsRequested(SettingsPane
settingsPane, SettingsPaneCommandsRequestedEventArgs eventArgs)
It seems that it is not allowed to add more than 7 entries to the settings pane and the app crashes because the Advertising SDK tries to add its privacy statement.
After I discovered this limitation I removed one entry from the settings and the problem was solved.
How is it possible that this problem shows up in the store version of the app although the number of entries has been reduced? How is it possible that (as far as I can tell) the problem only shows up at one device while it works without any problem on thousands of other devices?
A theory:
Could it be, that (for some reason) the system tries to add another entry to the settings on this devices and thus triggers the problem? What kind of entry could that be? Why is it not added on other devices?
Thank you very much!
I'm writing a simple Cocoa Application, no core data or multiple document support. Running on a Mac Pro, OS X 10.6.6, Xcode 3.2.3.
I have reduced my application to the following code in my AppDelegate class:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSOpenPanel *openPanel = [NSOpenPanel openPanel];
[openPanel runModal];
return;
}
From within the debugger, I will run my application. As expected a somewhat not-to-useful OpenPanel will appear. I will click Cancel and it will disappear. All this is as expected. When I click [Command + Q] to Quit the application, the UI will go away but the debugger will indicate that the application is still running (as does the console output).
Based upon all the information I'm reading, I should not have to do anything else in order for this to run right. I've downloaded several examples on the Open Panel's usage but most use the deprecated methods of opening modal giving additional information as parameters. FWIW, I tried those methods and am still seeing the same result.
One last item, when the Open dialog appears, just for an instant I see a message box asking me something to the extent if I want my application to receive incoming connections. The dialog quickly disappears. I don't know if that is part of my problem or not. [Update - this deals with my Firewall being turned on.]
Yes, I'm fairly new at Objective C but not at programming in general. Any words of wisdom is greatly appreciated!
2011.02.07 - Update:
I have walked the debugger line by line without incident. There is no indication of any program failure in the console window.
I say that the debugger is still active after [Command + Q] because the Stop Process toolbar button is still enabled as is the Break button. Further the console indicates that after I tell the application to terminate (either via the menu or key command) that it is still running. The following is the Complete console output from start of run to after I Quit the application.
Program loaded.
run
[Switching to process 62370]
Running...
The Activity Monitor (system tool) will show my application terminating (no longer shows up as a process) but the Debugger will still not transition to "edit" mode - if I tell Xcode to run the debugger again, it will ask me if it's OK to Stop the current debugging session. If I was in Windows I would start looking for background threads keeping the process alive but as far as I know, NSOpenPanel should not be doing something like that.
I have further simplified the program to nothing more than creating a brand new Cocoa application and inserting the code snippet above - no other additions to the template project or updates in any way.
And lastly, when the application is run under the Leaks Performance Tool, everything runs fine when the panel is created but never used. When created and actually used though, at the end of the run I will get the following message in the tool "insufficient task_for_pid privileges (leakagent64)". Googling this hurts. If I read it right, the debugger does not have sufficient permissions to fully kill the target process ??? Now that sounds stupid but ... It does not make sense!
Another update - I just downloaded and ran FunHouse, one of the SDK sample applications that also uses NSOpenPanel. Well don't I feel special. It exhibits the same exact behavior. So from this I conclude either Apple has a bug in their code, my machine is special and messed up, and finally, it is Not my code that is at fault. That being the best part. Tomorrow, I will use a friends Mac and see if the same behavior is exhibited on his box.
This is just too weird.
I rebooted my box, took it to work and found it worked like a charm! I will assume this is fixed and has nothing to do with any other connected devices at home as compared to at work.
If it re-exhibits at home, then it is a network/device issue. Thanks all for your inputs and suggestions! Very much appreciated.
What, specifically, does the debugger say? It's possible that your program crashed, so the debugger is showing you information about the crash.
What if you omit any attempt to run an Open panel?