Our app can consistently kill springboard

In our app we have a form builder and something that has been working fine for years now crashes springboard every time without fail. The whole screen goes black with a grey spinner in the middle, and then after a little period I get put back on the home screen. In the Xcode Simulator, it doesn't crash springboard but instead the Simulator process and its child 'backboardd' end up using up all the memory in my machine until either it grinds my machine to the point its barely usable or I manually force kill the backboardd process. I really dont understand how my sandboxed app is killing springboard.

I've gone through my code and commented out bits until it stopped crashing springboard, and its something to do with calling invalidateIntrinsicContentSize of a UIView. I suspect this is not the issue and may just be some weird side affect of the real problem. I need to have that code in there, so I really can't ship a version without it easily. I really dont want to rewrite alot of my layout code here.

Because my app is not 'crashing', I'm not getting any crash logs so I really can't tell how many of my users are being affected by this.

Has anyone had an experience with anything like this? Any suggestions?

I have filed a Feedback (FB11751672), and I am hopeful that it has enough information.

Replies

After a fair bit more debugging, I worked out what exactly in my code is causing the crash. Through an error and a pretty rare set of steps, I was accidentally setting a view's size to be much too great. The view was in a scrollview which I suspect triggered springboard to explode. Anyway I've fixed my issue. I will comment on the Feedback, and let them know what happened.

I have encountered the same problem as you. When our app was switched to the background, Springboard occasionally crashed, but our app was not affected and was not killed. This problem has been bothering me for a long time, and I finally found out that it was caused by writing a large-sized image to the sandbox ~/Library/SplashBoard/Snapshots path. I hope it can be helpful for those who encounter the same problem