Remotely debug iOS app - iphone

I am developing an iOS (5.0+) app, which works very fine on 6 different devices in our company.
When we send the build to the customer, they report they have tested it on 5 different devices and the app is always crashing right after launch.
I have integrated TestFlight and Flurry SDKs to track usage and problems.
The strange thing is that no crashes are reported from both TestFlight and Flurry.
I have adviced the customer to remove the provisioning profiles and try to install everything from scratch, which did not produce different results.
The app is in the App Store, approved from the first try.
It is even stranger that the customer reports crashing when installing a TestFlight build and installing from the App Store.
Is the app going to be approved in the App Store if it crashes right after launch?
Any ideas on how to remotely debug the app or how to proceed in this case?
Thanks and happy holidays!

One option is to ensure your logging and get the crash logs. This Apple documentation shows how to get the logs both with and without Xcode available:
http://developer.apple.com/library/ios/#qa/qa1747/_index.html
After you get the logs, here's documentation on how to read and analyze:
http://developer.apple.com/library/ios/#technotes/tn2151/_index.html

The problem has been resolved by adding both German and English localization to the project settings and having 2 storyboards for each language. Big up #RoboticCat!

Related

iTunes Connect Vague App Rejection - Pulling My Hair Out

So, I recently uploaded about 9 apps that were mutations of an original one, just with different content and the same framework...
So, today all 9 of the apps went into review at the exact same time although they were each uploaded a day apart, which I thought was really odd. 5 hours later I get 9 rejection emails and the same rejection as follows:
2.2
We found that your app failed to launch on iPhone 5 running iOS 6, on both Wi-Fi and cellular networks.
We encountered the issue when selecting the application on the Home screen - the app displayed a launch image then quit unexpectedly.
This may be because iOS 6 uses a watchdog timer for applications; if
an application takes too long to complete its initial startup, the
operating system terminates the application.
For information about the watchdog timer, please see Technical Q&A: Application does not crash when launched from debugger but
crashes when launched by user..
Another possibility could be a missing entitlement. For more information, please see the Technical Note: Resolving "0x800003A",
applications not launching and "missing entitlement". For discrete
code-level questions, you may wish to consult with Apple Developer
Technical Support. Please be sure to:
include the complete details of your rejection issues
prepare any symbolicated crash logs, screenshots, and steps to reproduce the issues for when the DTS engineer follows up.
For information on how to symbolicate and read a crash log, please see Tech Note TN2151 Understanding and Analyzing iPhone OS
Application Crash Reports.
If you have difficulty reproducing this issue, please try testing the workflow as described in
https://developer.apple.com/library/ios/qa/qa1764/Testing Workflow
with Xcode's Archive feature".
I've uploaded a number of apps before and have never received this sort of issue.. So, I followed their suggestions and it's not the dogwatch timer, as the app runs absolutely flawless when ran from xcode on my iPhone 4s with iOS6, and also runs without any issues when I distribute it as ad-hoc enterprise, and sync the app through a .ipa file onto my iphone...
Although, before testing any of this I went through and revoked my development and distribution certificates, went through my keychain and deleted all instances of any certificates related to apps, and keys. Then refreshed everything. All my code signing / provisioning profiles are valid, I re-added my device to the provisioning portal as well.
Does anyone else have any ideas? I'd like to be positive I fixed the problem before uploading my apps again, waiting a week just to be rejected once again and have to start all over. Any help or leads would be greatly appreciated!
I have also double checked all of my info.plist bundle identifiers and they all match the dist and development profiles associated with each app.
I finally got around to finding a friend with an iPhone 5. The crashing WAS due to armv7s architecture being used. So I stripped out all architectures and used only armv7. Worked like a charm and the app ran as smoothly on my 4s as it did on my friend's iphone 5.
Did you try compiling in armv7 only? (forget the armv7s support). By the way, yeah, it's impossible to test it without any iphone5 hardware, and the simulator actually don't simulate anything. With only armv7 feature it should (i really say "should") behave like in iPhone 3G/4/4s on ios6.
Or did you have some runtime behavior depending on the device? What are you actually set on startup?
Look at this post:
http://wanderingcoder.net/original-armv7s-psa/
Even if it talk about linker error, here is the philosophy: Don't publish something you haven't, can't test. Use armv7s only when you will get rich an have an iPhone 5

iPhone app crash immediately after update

today my app update it has been released in the store, when updated or downloaded for the first time the app immediately crash on start.
I've tested the app on simulator and on device (the same where I've installed the update from the store) and I never experienced this problem.
My update it has been submitted with Organizer after the archiving, in the Distribute section.
Apple do not perform these types of controls before to release an app?
Anyone experienced a similar problem? I have no idea what could be the cause..
Thank you, Stefano.
Here's the best way to test a production build without deploying to the store:
Set your build Scheme to "iOS Device"
Do an Archive build
Select your archive and click Distribute
Choose "Save for Enterprise or Ad-Hoc Deployment"
Pick your code signing cert
After saving the ipa file, use Apple's iPhone Configuration Utility(*) to install it on your device
You should always perform two tests:
installing on a blank device after uninstalling your app *and any profiles in Settings -> General -> Profiles"
installing over the top of the previous version of your app, to make sure any files/preferences/etc are properly converted to the new format
(*) the iPhone Configuration Utility is mostly used for enterprise app deployment, but it's also useful for developers and is available as a free download for mac and windows at support.apple.com. You can also use iTunes instead, but it's convoluted.
As for why your app is crashing? No idea... it could be anything. Standard debugging advice applies.
The issue is related to the Framework. I had this exact error. It wasn't a case of logic as it was crashing before the AppDelegate was even called and my usage of NSMetadataQuery was much later in the life cycle than that.
It turns out that weak linking the Foundation framework was required.
Problem was solved by changing (under the Project Info in Xcode) the dependency option of the Foundation.framework from required to optional. Check for any such frameworks.
Try deleting any old versions of the app you have on your device, and reinstall. Also try on a different device, maybe with a different apple id to your developer account.
This happened to our app also, and apparently, other apps too.
Apple is aware of the problem and is currently working on a solution.
see this article:
http://techcrunch.com/2012/07/05/apple-responds-to-app-crashing-issues-has-a-dedicated-team-working-on-a-fix/
If you are using core data & you have updated database in your latest version without versioning core data in that case app crashes on launch after update.

I can actually install a few apps without provisioning

Yesterday I was playing with the three20 library. I hit the command+enter to build and run the app on my simulator, to my surprise it installed the app on my device iPod Touch 4th Gen. I really dont know how that happened, I tried doing it with few of my other project and unfortunately it did not work.
Today, I downloaded the quick contacts sample code from Apple's developer site and the same thing happened, I could install the app on my device without any provisioning. I see that for the above two projects (three20 and quick contacts) my device is listed in the active executables.
But for other projects my device isn't listed. I tried running the above two apps on other devices which failed with a message - "No provisioned iOS device found". My device isn't jailbroken, its a brand new one I bought a few days ago.
Am I missing something, because being able to install apps without going thru Apple's portal is a huge bonus and I would like to achieve the same functionality for my other apps too.
I tried attaching screenshots, but looks like I atleast need 10 points to do so and I'm new here. Sorry.
Have a look at the XCode Organizer; As of a few versions ago it now manages a 'Team Provisioning Profile' that works off any bundle identifier and any of your devices if they've been added to your developer account. This is not a special provisioning profile, just an automatic one it sets up for you if you tell it your iTunes Connect details.
WIth this, anything you build and run should be able to use that provisioning profile to run code on your devices.

iPhone iAd Enabled App Published Still Showing Test Ads

I integrated iAd in my application which got approved by Apple. I downloaded the app (FREE) to my device and ran it. For some reason instead of displaying real world ads it still says "Test Ads". Anyone experience this issue? The app got approved yesterday maybe it is too early to get the ads but I think Apple should not show test ads.
It seems like Apple will always display TEST ads on the machine it was tested on.
Hey, make sure you delete the binary you used in testing off of your phone, and off of iTunes if you distributed that way. The phone will see that the version numbers are the same, and skip some of the code upgrades. Once you reinstall from iTunes, you should be good to go! Congrats on getting the app out into the store.

app could not be verified alert

HEllo,
I am quite new to iphone development, I am following the specified steps to test app on my device.
I have two provisioning profiles outof which none are expired. These profiles aare working fine on 3.0 devices, but when I try on 2.0(iphone) devices it says application could not be verified.
I am using snow lepord and it doesnot provide simulator support below 3.0 thats why I have to test my app on devce.
Can you help me regarding this.
Thnx in advance
edit:
ok I think this one is done but now its showing "Failed to upload MyApp.app" due to which app appears in iphone but I cannot debug my code.
I have checked the tick box in entitlements.plist
Google is your friend here.
Two good articles right off the bat...