iOS App crashing on production but not on debugging - iphone

I have been working on an iOS app. It was working fine until a couple of days ago, it started behaving strangely. The app crashes on production but it creates no crash logs. However, when same scenario is tested out in QA, it works fine. Now I have been trying to find out the reason but without any crash logs or crash in debugging mode, it has become very difficult for me.
Any suggestion, how to tackle it?
Thanks!
P.S. I am using XCode 4.6.1 and app is for iOS 6.0.

Answering my own question, I have found out after detailed research on the internet that some crashes kill the application before logging the Crash Log. My error was that of a delegate property for my services. After long hard tries, I got to the root cause of the problem, since I had converted the code to ARC so the delegate property was unsafe_unreatained, which released the delegate while it was still in use by the service, so I just had to convert it into strong and set it to nil in dealloc. Further description can be seen here: https://stackoverflow.com/a/9065105/1351911.

I had the same problem, building ipa's in Xcode 4.6.1 with sdk version 6.0 or above crashes the app like anything. Try archiving it in Xcode 4.4 or 4.3 may be a lower version and try.

Related

app crash in ios 6

My app is working fine for iOS 5.1 simulator and less but its getting crashed for ios 6 simulator. No changes done in code for both versions. At debugging this error appears:
[unknown]Not safe to look up objc runtime data.
After googling i found this link.
Not safe to lookup objc runtime data
but nothing helped right for me.
Any help would be greatly appreciated

Do I need to keep "recompiling" my iPhone app code everytime apple releases a new iOS version?

New here guys but have got a genuine problem. I have an iPhone app that was developed using SDK4. With apple introducing the new iOS version 6, does my code need to be recompiled on the new SDK to make it compatible with version 6?
Right now it crashes on iOS6. Also, do I need to do that everytime apple brings out a new version? I wonder every other app on earth already does that ?!
The problem with major iOS upgrades is method deprecation. It may happen that some parts of your code relies on methods that are not supported in iOS6. When this happens you should first check for API changes then recompile it with the latest API. If your code base works fine with iOS6 than there is no need for recompiling it, but unfortunately that doesn't seems to be your case.
Sometimes you don't need too. Most of the time, Apple publishes updates for libraries, so sometimes the old code is not compatible anymore. You have to recompile it, or you'll find issues.
For example I had a working app on iOS 5. With the iOS 6 update, I had to refer some code new because the app crashed with SIGABRT. Before iOS 6 it was working fine. Through Xcode's Debugger, most of the time finding issues is not hard work.
I've found that most of the time a crash will be caused by an existing bug in my application that I wasn't aware of. Subtle changes revealed it. It is rarely just a question of recompiling, but of fixing that bug.
Just recompiling can be dangerous. Apple can (and does) detect what version of the development tools your app was compiled with, maintains some behaviour that will keep your app running. Update, and you'll get the new behaviour instead.
I didn't have to recompile mine just for the sake of IOS6. They worked fine. But I had to adjust for 4" iphone 5 screen.

App crashing after disabling arc

I have an already developed project for ios3 and ios4 developed on sdk4.but my app get crashed on ios 5 while it was working fine on lower version.
As my guess it's due to ARC concept of ios5.
So what i tried is
installed sdk 4.2.
refractor project from EDIT option for ARC.(I get some error while converting for arc.i continued).
Disabled arc from build settings.
also set the flag -fno-objc-arc
But no luck app still crashing.
it crash on accessing property value.
Why did you guess it was ARC? ARC doesn't even happen unless you specifically ask it to do so. I'm betting it had more to do with an API change between ios 4 and ios5.
My advice is to use your source control to go back to your version before you made those changes, run it again on ios5, read the stack trace, and find out what is really causing your app to crash.

Xcode - No provisioned iOS device is connected

I was using Xcode this afternoon and debugging an app on my device just fine. When I got home from the office and plugged in my phone to keep working, XCode would no longer let me debug on my device. The error I received was:
Error Starting Executable. No provisioned iOS device is connected.
So I hopped over to the Organizer, and here is what I saw:
So what gives? Anyone seen this before?
Thanks!
Well I don't know why this helped, but if anyone else sees this thread the thing that "fixed" the problem was to remove the SDK from my machine, restart XCode, then plug in the device. XCode then popped up an alert view asking to collect the debugging symbols from the device, which I allowed it to do. From then on it worked like a charm.
You may be testing your application on simulator and accidentally, device is selected instead of simulator. It help me to sort out this problem.
Make sure you have upgraded to the latest Xcode 3.2.5 with iOSK 4.2.1 SDK.
I had another way of fixing this problem.
I tried upgrading my device to iOS5 Beta 7 ...to test my app in iOS5
Once i finished testing it, wanted to get back to iOS4.3.5 on my device...
it took a little pain but managed to restore it back to the original
but then the debugging didn't work and got the same error as mentioned here.
So i wanted to see what i see in that snapshot that you have : and there it was...
A button called "enable for debugging" if i'm not mistaken.
Worked like a charm.... :)

Iphone - deprecated funcions... will they crash the iphone?

I am dealing with an old code designed for iPhone OS 2.0. In this code I have some instructions that we deprecated on iPhone 3.0.
I am not willing to change the version because I have many customers, specially on iPod Touch, that are still using 2.0. If I update the instructions they will be unable to continue receiving the updates.
The application is compiled for 2.0 and always have been like that.
I have submitted a new version for Apple, where some bugs were corrected and new functionality was added. I have always sent this app to apple and they never complained. Now they rejected the application telling me that it is crashing under OS 3.1.3.
I've followed their instructions but I don't see any crash and the part of the code that uses the "deprecated" function works perfectly on 3.1.3.
Compiling the project for 3.1.3, I see a yellow warning on Xcode telling me that one instruction was deprecated on 3.1.3.
The big question is: will this instruction work on 3.1.3 and should I ignore this warning?
Can this make the iPhone crash?
In my mind, all new versions of the iPhone OS keeps back compatibility with older versions, so, as I think, any application compiled for 2.0 will run on 3.1.3 and all versions up.
As you see, I have tested this on 3.1.3 and the application works perfectly.
How can that be? Any ideas?
thanks for any help.
Deprecated calls are designed to work in the OS release that they became deprecated in, but stop working in some (undefined) future OS. The deprecation is a warning to developers: Hey, you should change your code, this WILL break in the future. It's a way to update the API-base without breaking everyone.
In summary, you're okay to use these calls now, but you'll want to edit the code should you ever decide to ditch 2.x operability.