views:

39

answers:

2

I am getting ready to submit an educational app to Apple for review. The app is somewhat like a series of flash cards, and working through the entire app would require thousands of "flips".

In the hopes of shortening the review process and preserving some poor tester's sanity should s/he want to see the end state of the app, I am considering adding some way to fool the app into thinking that the user is done. My first thought is to add a check for a boolean in standardUserDefaults that would do such, and giving the name of the setting in the "provide us with login information" field on the app submission page.

So my question is, does anyone know if app reviewers are able to directly edit NSUserDefaults values?

Alternatively, does anyone have any other good ideas for accomplishing this? (I would prefer to avoid "secret key press" type solutions if possible...)

+2  A: 

As part of the submission process apple will ask if your app has any "demo" or "test" accounts. They are intended for just this purpose. So you may want to consider including a "secret code" and document it in this section. I know you said you don't want to go that route, but i highly doubt a tester is going to do anything outside of the standard process (such as edit NSUserDefaults)

Matt Greer
Hi, Matt. The main reason I don't want to add secret keypresses is accidental user triggering. My first thought was actually to pick some obscure label and set the debug mode after, say, a 5 second long touch event, but I'm a bit paranoid about a user freaking when it looks like they've lost all of their progress after... uh... holding their phone the wrong way... =) Now that you mention it, I guess I could have the touch event prompt the user to enter a secret code to enable the debug mode, though...
Tony
Additionally, if your app includes "easter eggs", you're *required* (in either the iTC manual or one of the agreements; I forget) to tell Apple this. Presumaby this is largely to prevent stuff like a risqué easter egg in a 4+-rated app.
tc.
@tc - As this is disclosed to the reviewer, it is not considered a hidden feature. In fact, they encourage this for just these sorts of circumstances.
Brad Larson
A: 

Have the test account you give Apple for review (password protected) ask your server for permission to unlock all the data. You can disable this test account on your server after the app is approved; and/or after a certain date, by which time you expect the app to be in the App store.

hotpaw2
This app doesn't use any kind of remote server verification or user accounts. I was just talking about using that field during the submission process as a way of giving the tester the name of the NSUserDefaults value to set.
Tony