App compiled for 9.3.5 crashes on older iPad

I have a newer iPad and an older iPad2. My app is written in Swift and compiled for 9.3.5, which is the OS installed on the older iPad2. ***My app runs fine in the simulator and on the newer iPad.*** On the older iPad2, a lot of mundane things work in the app, but it crashes with errors that are only semi-repeatable when I ask it to do its real work. The problem seems to have something to do with an object being garbage collected before it should be, but I am not sure that is really the problem, as the debugger sometimes gives other death messages that are completely different. Any ideas on this?

Replies

Is the crash only when running against the debugger?


What happens if you disconnect the device from your mac/Xcode, then close and reopen that app from there?


>...it crashes with errors

>...something to do with an object being garbage collected before it should be

>...sometimes gives other death messages that are completely different


When mentioning errors, do your best to share them. verbatim, thanks. Pls. do not post the entire dump unless requested. See:For Best Results - Read the Label

It’s very likely that you have a memory management bug that just happens to be exposed by this older OS release. I recommend that you apply the Standard Memory Debugging Tools, starting with zombies.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
And here is the problem: In iOS 9.3.5, subclass CALayer, then instantiate. Your app will crash. The subclass doesn't even need to have any instance variables or methods. Just define a subclass, then instantiate. Instant death. Looking a little farther into it, the subclass initializer immediately deallocates the instance. I asked Apple about this. They said they won't do anything about it.

In iOS 9.3.5, subclass CALayer, then instantiate.

Ah, this is the first time you’ve mentioned any involvement with CALayer. That is a known issue, and you can find a long discussion of it on this thread.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"