App store review process for apps that rely on specific geolocation - app-store

I'm getting ready to submit an App that relies on the user being at specific locations to watch a video. (Kind of a mashup of geocaching and youtube.) Needless to say none of these videos are anyway near Apples headquarters. So how will the App store review people be able to properly review the App? Do I have to provide test data in their vicinity or can I instruct them to fake their geolocation to a location that works?

I guess the best way is to just submit it once, wait ~7 days and see what they have to say,
but since they have special toolchains to test apps, it shouldn't be a problem.
Just make sure to mention it in the review notes.
I've submitted an update to an app once that requires an user and password to login, and gave them a test user. When I checked the server logs, they never logged in once - but the app was still approved.

The iOS Simulator can 'fake' its location :) Though I doubt what they DO review in their process, because once they accepted one of my Apps' update which crashed upon launch...

Recently had to deal with this myself... submitted a location specific app without any extra review notes, and the app got rejected. In the rejection notice I was given the instruction to create a video of the app in action and then provide a link in the review notes.
So I used another iPhone to take the video, put some basic explanation text in the video using iMovie, uploaded to YouTube, put the link in the reviewers notes, re-submitted the app and then 5 or so days later it was approved.

As I understand, they review team does NOT test the usability nor stability of your app during app reviewing. All you need to do, is to provide an testing account, and some sample data, screenshots to them helping understand how your app works. If the app does not show any data because of a reasonable circumstance, it's not the problem of your app quality nor user usage, but data coverage. So you won't have problem with it.

Related

in app purchasing submission process iphone

I am trying to submit my first iPhone app that has in-app purchasing features. Needless to say, I have been banging my head against the wall for a while. I have read through several tutorials, such as: http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/ and http://blog.mugunthkumar.com/coding/iphone-tutorial-%E2%80%93-in-app-purchases/ but it seems these are outdated? For instance, I can't find where the developer is to reject the submission on iTunes connect.
Additionally, I am submitting the app the in-app purchase features included in the bundle(I don't have them stored on the server- I just want to unlock the code when the user purchases the feature). What is the best way to do this?
Thanks!
Some of the information in the linked tutorials is in fact outdated: I could create in app items in iTunes connect without having to submit (and reject) a binary first. Just be sure NOT to submit your items for review while you are testing. Also changes to the items (e.g. price tier) have been processed almost immediately and I did not had to wait 24 hours.
To unlock your feature, you may use storing and retrieving the purchased status in NSUserDefaults . But this could easily be tempered with by users with jailbreak or acces to the apps folder. Have a look at http://maniacdev.com/2011/08/open-source-ios-keychain-wrapper-for-easily-securing-user-data-for-your-app/ . This offers a simple way to store data in the keychain. Still this will not prevent someone to 'hack' your app and enable the purchased feature without actual purchase, but it's not that easy...
In-App Purchase development is definitely a pain point in iOS development - their sandboxing model for this is ridiculous.
Needless to say - the articles you're reading are still up to date. The developer reject is definitely the way to go (I think can do from within the binary details). One thing to remember is that you need to have accepted the appropriate contracts and tax schedules also - if you haven't then the store "just doesn't work".
One thing that caught me: when you submit your final version of the app - make sure you tick the in-app purchases to be included; else the in-app purchases won't be reviewed (and accepted)!
Update: Although it's pretty long... you may want to flick through this: https://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf
Explains how to developer reject etc.

iPhone not crashing, no leaks in instruments, is the application ready for upload?

I was wondering if anyone has any experience with uploading applications.
At the moment we have an application without any leaks, and how hard we even try to create a crash, in both the simulator and the actual device it just wont let us crash it.
Now we're curious if there are any other developers out there that has been in the same situation and sent their applications to the app store and what the actual outcome was. As we're very cautious and dont want to waste our company's resources we'd like to get as much feedback as possible and cover everything before submitting to the app store.
Please feel free to share.
Thanks in advance!
Ensure you don't use any undocumented API's immediate fail.
Follow the Apple criteria and make sure your app fits their restrictions....
Check my post App Store Approval which contains a link to the criteria....
Good work having a thoroughly tested app and I admire your desire to ensure your submission is pain-free. Good luck!
If it does want you want, and you are happy with the amount of testing you've put in it..and it follows Apple's app store guidelines, I'd say its ready for the app store. Quite a large number of apps have huge glaring bugs, so if yours never crashes (doubt this), you are one of the very few.
Also, the process only takes about a week, so I wouldn't say its the end of the world if it somehow gets rejected or you find a bug later.
You can create an ad hoc build and send the application to some iPhone users and ask them for feedback on application. And if app crashes just get the application logs from itunes.
Apart from running a private beta or adding a crash reporter, there isn't much more to do than checking the App Store Review Guidelines and send your first version.
One issue I ran into is that the plural of a word counts as a whole different keyword. Example, looking up snippet won't return applications tagged snippets so be sure to include both of them.

What happens after submitting an iOS app for review?

I have been looking around for an answer for a specific question but just got hints for it here and there. I want to know when i submit an app for review for the AppStore:
First, how long does the review process usually take? I know that it may vary but just want to have rough estimate if possible
Second, when an app is accepted does it go automatically to the app store or the developer has the control over when to release it there?
Cheers
AF
check out details, which is my recent app on appstore,
It take 1 week for approval , As I remember, it was taken 3 days too once.
Time taken to publish is all in their hand.
App will be publish directly to appstore.
But you can remember the option for publish by you or apple :) at the time of submitting app
From my experience review takes about 2 weeks recently, but it varied from 2 days to about a month in the past.
When you submit an application you have an option - whether to make application available on appstore immediately after it was approved by Apple, or hold it before developer does that manually, so if you did not select that option then Application should be published on Appstore by default. (See pages 75-76 in iTunesConnect Guide (warning - large pdf file here))

Workaround to lack of promotional codes for in-app purchases

Apple doesn't offer promotional codes for in-app purchases. What's the best way to let users try the features or content unlocked by in-app purchases for free, while complying with Apple's Developer Guidelines?
The idea is to allow a special set of users (reviewers, key fans, etc.) to access the content or features offered as in-app purchases without paying.
Examples of apps that worked around this limitation would be much appreciated.
You could submit a version of your application that has all features unlocked by default.
Submitted apps have a publish date that you can set when you submit (and I believe you can change this on the fly as well) you could simply prevent the app from being published in the App store but still be able to give promotional codes for it.
Promo codes apply to a specific app version, so when users redeem promo codes for a version of an app that hasn’t been released yet, they download the prerelease version.
Source
Something like shareware? An app, that has a subset of features enabled until in-app purchase? Apple allows it now.
As example. We've a puzzle game, that has 12 difficulty levels. 4 or 5 of them are available for free and others are unlocked after in-app purchase.
I'm working on this now.
What I'm doing is I generate a random code/guid and store that on my webService's DB. Then give that code to who ever you want. They enter that code and it calls the web service passing the code, and device UDID. The webService returns another code indicating if that promocode was valid. If valid then the app will add that purchase to NSUserDefaults or Core Data (however you keep track of purchases).
If you don't have a server up and running (say the content is already in the app bundle) and you don't want a server would require you making an algorithm to generate keys that your app validates. However this is far less robust. Using a web service allows you to prevent 1 working key from being distributed between all users, as you can tie 1 promo code to 1 device.

The mechanics of the iTunes store

Not specifically a programming question, but might be something a bunch of programmers run into.
I wrote a really trivial application for the iPhone and submitted it for approvals. After a few back and forth (e.g. denied, then resubmit) of fixing various UI guidelines issues, I got an email today stating that:
Your application is now Ready for
Sale. If your contracts are not in
effect at this time, your application
will not be live on the App Store. You
may track the progress of your
contracts in the Contracts, Tax, and
Banking Module in iTunes Connect.
Now the application is free, so I am not sure why they are sending an email saying that the application is ready for sale. The contacts are in place as well:
(source: angryhacker.com)
But the real problem is that I click on the link they provided...it opens iTunes, then says:
(source: angryhacker.com)
I went into iTunes Connect to Manage Your Applications link. The status is green, Ready for Sale. I checked all the countries where the application is supposed to be available -- and all countries are checked. Plus, I cannot find it in the iTunes Application Store either.
What am I missing? Is there an interval between when the app is approved and when it should appear in the iTunes store?
Yes there is an interval while it is released. Wait about 6 hours and try again.
Once your application has been approved it does indeed take up to a few hours before it has propagated and shows up. The same applies when you pull your application from the App Store or changing your application description or screenshots.
Basicly everything you do in iTunes Connect regarding your app, takes some time to propagate through the servers. I don't think I ever had to wait longer than 6 hours though, more like 3 hours on average.