Apple rejects our latest App - iphone

Our latest app was rejected by giving following reason
"when the user launches the app, a blank black screen is produced"
We had tested this many times and did not notice this issue. We tested again now, but it is working properly for us.
Can someone help us to find out the issue?

I don't think anyone can help you find this issue, My suggestion would be to follow up with the Review Team and try to obtain as much information as you can from them. Such as, what device was it tested on, what OS version and so forth.

Ah, the many woes of the app store process.
Make sure that you have tested your app not only on the simulator but also on a physical device.
Secondly the issue might be that you have made some (false) assumptions about the data on the device, that you might have put there manually, but isn't handled when installing anew.
Therefore a plan of attack might be to remove the application complete from both device and simulator and try running them from a fresh install rather than on top of an already installed installation.
Best of luck!

Try to build and install your app from a clean state. You may not be seeing the same as the reviewer, because if you only "build&run" all the time, old files, which are not part of the final build, are still present on your device or in the simulator.
So clean the build folder, remove the app from your device, and try again. Also, check if you app can live without an internet connection.

Your best bet is to discuss this directly with the Apple guys (Resolution Center).

Related

How to simulate the AppStore update process on device/simulator

We have submitted an update version of our existing applications in the App Store recently. But we have received a issue from one of the users, saying that the app is not functioning properly after the update. So in order to replicate the same, what are the steps to reproduce, so that i can analyse the issue?
Any help will be appreciated.
To simulate this before pushing yoru updated version to the AppStore you can:
Download the old version of your app from the appstore
Run the updated version of your app from XCode on the same device.
What will happen behind the scenes is that your app will be updated in a way similar to the Appstore. Your app will be partially updated while your doucments folder will stay the same. (what usually causes problems)
This solution is better because it lets you check for problems before and update was pushed to the Appstore.
Yeah, I get this a lot. The solution is a bit annoying, but you need to keep a history of IPAs you've submitted so you can put the on your phone through iTunes (so not the simulator) and then, run your code on your device putting a breakpoint on your applicationDidFinishLaunching handler in your app delegate, and start tracing from there. You should be able to find the old app store version in your organiser from the last time you submitted, or, go through your SVN/GIT history and checkout the version tagged to your release version.
Many times in the past that has happened to me where I test a new revision and everything looks fine but when I submit an update and is approved, users start complaining about a crash or lost data.
This is way I approach the problem.
(This is most important step) You need to either have your old code or old binary installed on your actual apple device. (Physical iPhone / iPad)
Now go to iTunes and install your new update.
Attach your physical iPhone / iPad to you computer, Launch Xcode and start debugging it.
NOTE: There have been many times when things work perfectly in the Simulator but break on the actual device. Its always important to test your code on the real thing as that is what the users are going to be on.
All that is required is to have the version of the app that is in the app store on your device, then install the updated version to your device. You can debug it using Xcode when you install the new version.

Viewing application in simulator

I need to show my app to customer but without sending sources codes to him.
He does not own any iDevice at the moment, but only a Xcode installed on his host with iPhone simulator.
So my question is there a "normal/official" way I can pass him the application binary so he can test it on his simulator ? Probably using xcode archiving ?
PLEASE NOTE : I know what is ad-hoc distribution, please do not suggest this, he does not own a device.
NO. You cannot give him the ipa to launch it in simulator. Only the source code. (If he is smart enough to launch it, I think you guess how confused will the client be when you try to explain him stuff around the provisioning profiles and certificates and keys to pair them) ....
I see your problem - however, if this is just about a small tour through the app and not a long time testing, might I suggest another way around this:
Why not using a screensharing app like TeamViewer, which has a version that works without installation and is quite hassle free. And then let him play with the App running on your computer?
Sorry for not having an answer on the question, but that would be an alternative route to take.
Very simple solution:
Set up a contract with penalty fee if he copy's the code or distributes the code that'll settle you for life.
If he doens't own a device, you could also loan him one with the app installed. Just do an iphone without a sim card or an ipod
Creating an ipa file and run on the simulator is not possible. We can run the simulator using Xcode only. (means by sharing the code). If you are not interested, ask him to buy device.

iPhone Project Not Running (more than once)

I have an iPhone app that I'm trying to run on my phone via Xcode.
It installs and runs without an issue
I make a change in the source code (negligible, like an NSLog())
It installs without an issue
Running causes the error:
Error Starting Executable 'myApp'
Don't know how to run. Try "help target".
I uninstall the app, and reboot the phone
It installs and runs without an issue (until I make another change; then I have to repeat this dance)
Needless to say, having to uninstall the app, reboot the phone, and reinitialize the environment (i.e. set prefs) takes an unreasonable amount of time, and is probably indicative of a serious problem. The issue is, the only vague error message I receive gets me nowhere on Google. Where on earth could this issue be coming from?
With some help from #iphonedev, I figured it out. Turns out it's a glitch in iOS 5 beta. The way to fix it is to remove the device from Development Devices, then re-add it.
Yeah just restarting the iPhone with the lock and home buttons fixes this. Had it happen a few times to me

"This game is not recognized by game center." iPhone Development

There are already a couple of questions on this but I followed their steps to solve it and it doesn't seem to work for me. Here's what I have done:
1. I double checked to have the bundle identifier in the xcode project to be the exact same as the provisioning profile found on the provisioning portal (it also says Game Center is enabled). No wildcards.
2. I have logged in using a sandboxed account to gamecenter (made 2 accounts incase one wasn't sandbox). I did see the word "sandbox" with some numbers/letters on the top left while signing up for an account, so I'm 100% sure I have a sandboxed account. Tried 2 different sandbox accounts. Tried on 2 different devices (ipad/iphone). Also tried on the iPhone simulator.
3. I have deleted my app from my iPhone many times and tried it again.
I'm running 4.3/xcode 4 on iPhone + iPad.
I'm still receiving the message. Any help would be appreciated. Thanks!
From memory (I battled with this recently)…
In addition to what you've already done, you have to setup your app (even if it's using a fake bundle ID) in ITC (iTunes Connect). This means you need to put in a name, category, a screenshot and a bunch of other stuff (you can just put dummy data in there for testing purposes). Then you need to create a version of your app, then enable Game Center on that version.
There might have been a few other important steps that I've forgotten, but in between the voodoo dancing and making sacrifices to the gods of iOS etc., that's all I can recall.
Deleting the old app from your device can sometimes help too. Looks like it stores some data with an app and will try to login to actual Game Center instead of Sandbox Mode.
This solved my problem when trying to add Game Center in an update.
This is how I solved the problem. I opened the Settings App, then select Game Center. At the bottom under Developer, turn on "Sandbox".
I had a similar problem. Make sure you have the exact same app version in xcode and ITC. For example, if you have 1.0 in xcode and 1 in ITC it will not work. The version is a string not a float, so 1.0 != 1.
My situation is , It showed "this game is not recognized by game center",and my ipad is jail-broken. so I uninstall Appsync 5.0+ in Cydia--> logout game center---> reinstall app, it's ok now
In my case, almost everything people had suggested was in already correct for my app.
My bundle IDs were correct, my iTunes Connect record was set up, etc. However, the version number of the build that had been uploaded to iTunes Connect was not recent (and didn't match the version I was building onto the test device).
After uploading a newer build to iTunes Connect with a matching version number, it appeared to fix the problem.
I'm not guaranteeing it won't break in the future (because the authentication seems to be very flaky and has worked previously, even with the old version record), but for now it seems to have solved the problem for me.
I learned from somewhere that if your machine(iphone or ipad) is jail-broken, it will assume you use the real game center without the sandbox one.
So, if your devices are jail-broken, just restore it, and give it a try.
Hope this will help you.

Error Installing iPhone App on Device

I set up all my certificates and keys today and am trying to run my project on my iPhone.
I'm encountering this strange error:
Your mobile device has encountered an unexpected error (0xE800003A) during the install phase: Verifying application
Poking around the Apple Developer forums, I've attempted to set new certificates and provisioning profiles as well as editing Info.plist, but no matter what I do I can't seem to run the app on my device.
The only think I can currently think of is that my project name in Xcode differs slightly from my development provisioning profile (it uses a question mark), but I've named it according to Apple's conventions: com.mycompany.myapp, so I'm unsure if that's the problem.
Any ideas?
Edit: I've hard restarted the phone, rebooted Xcode, cleaed my targets, set up a new wildcard App ID and respective provisioning profile and still nothing. Any other ideas?
It turned out that I had 2 certs in keychain that were simultaneously overwriting each other! I hope this helps people in the future.
You should create a wildcard app ID; com.mycompany.*. That may help.
I've encountered this on many occasions. What i do is clean all targets, shut down xcode, and hard reboot my phone.
This is a different error than the more common problem of getting the cert wrong...
Restore the phone (using the XCode Organizer to reload the latest OS), to be safe do not restore from backup when you sync with iTunes the first time (it'll still keep your number when you sync even if you don't use the backup). I've had to do this a very few times, the last one was when it was in the middle of deployment when I unhooked the phone from the cable (had to answer a call).
Try the reboot (of the phone) first, hooking it up with XCode off. But if that does not solve things, restore is the way.
The console tab in the XCode Organizer sometimes gives helpful hints as to what happens during the install phase. In one case my problem was my app already existing on the phone. I deleted my app and the install succeeded.
Regardless, it looks like a lot of error messages are bundled into this one cryptic message and to really diagnose what is going on, I found the Console tab very useful...
One other thing to try is reinstalling the iPhone SDK. I ran into an error like this when I first got my developer key and this was the only way around.
Just want to say to everyone, when you go to edit Targets-> be sure to set "configuration" in the top left corner to "All Configurations" or the correct config you are building for (Debug or Release). You might think you have things set correctly but it will be for the wrong configuration.
I've seen that error on a correctly provisioned device that has had success installing apps from XCode before, and I've had luck restarting the device and trying again. Maybe that will help.
Try running in Release mode instead of Debug. I have a working project with this problem. No idea what the issue was, but running it in Release mode works, but Debug mode produces the error code.
I have a support ticket open with Apple dev support for the same problem, and (FWIW) I'll post their recommendations if and when they can get my toolchain working.
Try this: (source: http://ephemera.lifewithalacrity.com/iphone_development/)
Even though this is supposedly only for Distribution builds, it helped me to be able to install my Debug version on my iPhone again, after it mysteriously broke yesterday.
"just triple check that all the code signing in your project properties are clear or default"
Note, this is the PROJECT properties as opposed to the TARGET properties. I set my Code Signing Provisioning Profile back to the default and removed the Code Signing Identity string.