iOS6, Application receives SIGSTOP if installed from Cydia - ios

I have an application that can be installed in two forms: .ipa file and a Cydia package. It works well on iOS5. But on iOS6 a strange thing is happening, when the app was installed from Cydia. When I press the Home button, iOS sends SIGSTOP and the app is terminated. I don't have UIApplicationExitsOnSuspend set to TRUE in Info.plist. Any ideas why it's happening and how to prevent this?
Also on iOS6, it became possible to delete a Cydia app from SpringBoard, which does not look like a good feature, because the app in Cydia is still shown as installed. Is there any flag to avoid this?
EDIT:
I found that my app was killed because of strange deadlock and crash report was not generated because device had too much crash dumps on filesystem (I found this in console log). After deleting few logs from FS, I came to this problem https://stackoverflow.com/questions/15164548/cocos2d-x-example-app-crashes-when-pressing-home. I'm not using cocos2d, but seems problem with OpenGL subsystem. It crashes even it's just initialised and not rendering anything. I was trying to call glFinish(), unload shader programs and [EAGLContext setCurrentContext:nil], but all of these do not help.
EDIT:
I solved this by full release of my rendering subsystem including OpenGL context when app is deactivated. Fortunately it was easy to do.

Related

OS killing the app when it going to background

I'm develop application on React native and have an unexpected behavior. When I minimize the app OS kill it, so when I come back to the app it start loads again. I just want to keep using app from the moment I minimezed it.
The same when I blocking device. Is it something wrong with my app or it's default behavior of OS?
It was caused by errors in "Release" build of the app. So, it's not a normal behavior!

iOS: Application crashes after getting restarted after memory issue termination

I have an application written in Swift 2.1, under XCode 7.3. The steps to reproduce the issue are as follows:
Run application and then move it to background (etc. open another app etc.).
Play with other apps until our app gets "Terminated due to memory issue".
Try relaunching application through recently used apps menu (the one that shows after double clicking the Home button).
And now weird things happen. If the application is connected to XCode, the restart is flawless: app gets cold start and is running fine. However, when it is running standalone it crashes after few seconds of displaying last frozen screen. I am totally stuck: there is neither any sign of this crash in device logs, nor Crashlytics which we use to report crashes sends anything. There is also no problem with optimization, as some folks have suggested in other similar situations, since it happens on the same exact debug build. What is more surprising, the app launched from spring board starts normally. I would be grateful even for hints how to tackle this situation.
EDIT:
I forgot to mention that this behaviour is 100% reproducible on iOS 9.3 and 9.3.1. I have encoutered it on iPhone 4S and 6S Plus.

iOS 8 enterprise apps are stuck in limbo inside the device

In trying to release a new update to one of my enterprise iOS apps, I'm finding that the OTA download is failing. It will give me the "Would you like to install 'xxx'" alert, and tapping 'Install' is about as far as it will go. There's no indication that anything is happening. This occurs on my iPhone 6 and iPad both running the most recent release of iOS 8.
Running the devices on the iPhone Configuration Utility, it shows the list of installed apps, and the one app that is refusing to install has an "Install" button where all the others have "Uninstall." In the screen cap below you'll see the renamed bundle and the original bundle.
When I click the "Install" button, the iPhone Configuration Utility crashes.
I managed to get it to work using a workaround that I found elsewhere on StackOverflow, which requires renaming the app's Bundle Identifier, but it still seems like a pi$$-poor way to do it.
It seems clear that the app is somehow stuck in limbo, showing up on the app list but not showing up on the iPhone screen, and also is refusing to be overwritten. My question is, is there a way to purge the old app from the iPhone's memory, and possibly reload it using the original Bundle Identifier?
Apple still hasn't fixed this correctly in even the latest versions. There are several manifestations: the app does download, but the device doesn't quit the calling app, so you don't know if the app downloads or not. If the app was never on your device before, it usually downloads. If it was there before, and was deleted, it doesn't download. If the downloaded app is already running in the background, or you're doing in-app downloading, it often doesn't download because it doesn't want to replace a running app. I usually start the download, then switch immediately to the springboard to watch it download. If I see the clock dial on the app icon, then I know it's downloading. Changing the bundle is not a good thing, not to mention not giving any user feedback when you tap "Install."
As far as updating the app from the in app prompt.
It's a problem with apple/ios8. They aren't exiting the app after the install. If you quickly tap the home button after you hit install. Occasionally you will get a successful download.
For future use you could find out a way to use exit which will kill the app but apple warns against using exit due to poor user experience. But if apple isn't providing a good user experience in the first place for this process I think this warrants the use imho.

Can you enable watchdog in iOS for debug mode?

One of my apps got rejected because it exceeded the startup time limit. The watchdog process killed it. Is there any way you can enable this watchdog component in debug mode? I've read somewhere that it's disabled for debugging purposes (which seems logical to me). Just wondering if you can manually enable it with some setting or something.
Btw, I know how to fix this problem, moving the whole startup code to a background thread did the trick.
Anyone got an idea?
Well it's active when you launch an app not through Xcode (i.e. with no debugger attached), so you could just install your app via Xcode, unplug it, launch the app. Then you'll see if it takes too long. But really, you shouldn't be thinking that you need that as a feature during debugging. You should just return ASAP from applicationDidFinishLaunching and do your work later like you have mentioned.

IPad - Crashing with no apparent reason

I know it's a bit weird but I have no code at all to put here, unless I copy all of it.
My project is crashing with no apparent reason. I've read this solution: iPhone application is crashing and not leaving behind a .crash log file
and I'm using Instrument for searching for leaks and other possibilities for those crashes.
Another strange thing is: even when I run my app with debug on XCode, it just stop to work on my IPad but it looks it is still running.
And the last and more strange thing: there's no crash log at all on my device. Before somebody ask, it is enable to record crash logs.
Does anybody have any idea for helping me?
Regards
I've had this happen to me before on various platforms. If its crashing on you, whether its an iPhone app, openGL / DirectX program, try these steps:
Have you tried to undo your last change and get to the point where it last worked?
Have you tried placing a print outputs to the terminal to see how far your program is executing? Start at the beginning and work your way into your program. This is especially useful when there is no crash log.
Also in particular to iPhone apps: Have you checked your xib's? Did you recently re-factor and change the name of a class maybe? You might need to re-link your nib to your classes. This on more than one occasion has caused apps of mine to crash with no error. Hope this helps.
I doubt you are still wondering about this, but my answer is that you were experiencing your app getting killed by the OS due to using too much memory. This will silently fail in the log in my experience when running on the device.
You will have to go into the Organizer to the device console and crash reports that get stored on the device to see the clues.
The reason your crash stopped when you got an iPad 2 is because the iPad 2 has twice the memory of the iPad 1 (which is dramatically under-stocked with RAM)

Resources