I have a question for the iPhone Development community. I am currently building my first app, and on two of my views I have some buttons. Sales and Marketing have requested that these buttons do nothing and have the title of “Feature Available in Pro Version” or have a title of an application but when touched, an UIAlertView is displayed stating “Feature Available in Pro Version”.
First off, I think this is wrong from a user interface and experience. Secondly and more importantly, I think this will cause a denial when I finish the application and send the app in to the App Store for approval. I have look into the iOS Human Interface Guidelines and really can not find whether this will be an issue or not. I would like to tell Sale and Marketing that their request is stupid and will not get the application approved and they need to stick to their jobs and quit trying to play programmer.
Any comments would be greatly appreciate.
Quoting http://developer.apple.com/news/ios/appstoretips/
Only display the UI for what your "Lite" version will do. Grayed out menu commands, "more track/car choices" you can see but not select, etc. makes your "Lite" version feel more like a commercial than a product, and an annoying and ineffective one at that.
...
It's important to follow these simple rules not only to create a better user experience, but also because your app will be returned to you by the App Review Team for modification if it is found to have time limits, incomplete functionality, or disabled functionality.
Come up with some better options for your clients. They are not trying to "play programmer", they are trying to market their product. Also, try to mitigate the risk of the app being rejected by getting it in a submittable state as soon as possible, or at least make sure that you have a plan B for the things that you suspect might fail to get approved.
It sounds like you're just looking for a stick to beat your sales and marketing team with - there are quite a few apps out there in the wild that exhibit precisely this behaviour, painful though this might be to you. (The buttons do something after all - they show a dialog.)
That said, it's hard to recommend a more pleasant alternative without knowing more about your app. (Does it have the concept of "levels" for example? If so, you could replace the buttons with a nicer "purchase the full app to unlock additional levels" style message.)
I am pretty sure this never used to be allowed. If you show user interface elements they have to be fully functional. I don't know in which document or agreement this is stated, though.
It also may not cause your app to be rejected, at least not initially. The app may be removed from the store at a later date, though.
Apple has been known to quickly reject apps for non-functional or grayed-out buttons, especially if these non-functional UI elements are just to advertise Full or Pro versions in Lite apps.
Apple has also been known to approve apps with a non-functional button or two (happened to one of my apps, got a bug report several weeks after the app had become available in the App store), but this is probably due to oversight, and not a policy that anyone should count on.
If you want an advertisement for your Pro version, make it look and act like a standard in-app advertisement, and not a misleading UI element. Serving house ads, or mostly (99%) house ads is a widely done practice.
Related
I need to create and App that will run in the background and will monitor the user's behavior in term of applications installed, opened and deleted.
i.e Application will save the information in the database that at what time user has installed/opened/deleted an application in iphone.
I wonder if its possible and Apple will allow this??
I tried to google on it but did not get anything, i know if its possible then it would be possible by multiasking only??
Can any one please help me on the same.
Brn
Not possible. Your app can only run when the user chooses to (except for a limited sub-set of tasks like VoIP, etc).
Your app can know nothing about other apps.
iOS apps are sandboxed. I wouldn't say impossible but certainly not allowed. You'd have to find a security hole to give you root access first. Oh, and notify us when you do ;).
Edit:
Maybe it wasn't clear in my post but I was at least half joking. Not sure why you want to do what you want to do. I can imagine the following scenarios:
1) Your company wants to monitor everything their users do on their phones. In that case I would either
a) lock them down and only allow app installation through a company portal (enterprise distribution is possible in iOS) OR
b) forget about iOS alltogether. Blackberry would probably be closer to what you want, although I don't really have experience with that platform. Also, its future is not sure.
2) You're trying to do something illegitimate. Because of iOS's locked down nature it won't be easy. See how few successful attacks there have been in the last years - and that's for a highly successful platform where an attack could be high paying both in terms of money and reputation.
I am a member of a gliding club with 150 members, and we want to have our own iPhone app. Requiring a member login, the app would be usable only by members of the club, and it would be used by an estimated 20-30 people.
Is it even possible to disribute such an app to non-jailbroken iPhones? According to my research:
It wouldn't be accepted on the App Store due to "limited audience".
Even if we were able and willing to pay $300 for the enterprise distribution model, Apple would likely not accept us as a company.
Ad hoc distribution would be fine for us except for the expiration time associated with apps distributed in the manner.
Are we at a dead end?
Thanks.
Edit: In case anyone is wondering why I didn't just ask Apple directly: I did, and their answer was, "We are unable to advise you with respect to the Apple Developer Program that best fits your needs."
I'm not 100% on your question.
But depending on your requirement, pretty much everything you need can be achieved as a web app, with the correct coding behind it i.e. CACHE MANIFEST you could make the app function similar to the a native app, available offline and can be saved to any iOS device through the browser.
Give me a shout if you need more information.
Hope it helps
Gary
You could always try to make the app a little more "global"? Perhaps offer some free stuff for Joe Bloggs to use, but tucked away you have your real motive... that way you can get it released legitimately.
I've seen some real disasters in the app store that shouldn't have made it, and I'm sure Apples screening isn't as intense as we might think. (example: that flash light application, when pressing a sequence of buttons it would enable free tethering).
Best of luck!
Yup. You seem to have all the options laid out pretty clearly, and there's no other way to do it. Except developing for android, and just distributing the application freely and without arbitrary restrictions.
Sorry.
Ad-hoc distribution would give you about 90 days expiration time, i think, whereas enterprise would give you a year. Though gaining enterprise status in the eyes of apple is easier said than done.
Even if we were able and willing to pay $300 for the enterprise distribution model, Apple would likely not accept us as a company.
You don't have to be a company to apply for the enterprise account, you just need to be an organisation with a DUNS number.
Someone wants me to make an App, where the NavigationButton (usually top left) shall be put into the Tabbar (in this case leftmost Button of the Tabbar). I wonder if that might yield a possible rejection.
It reads in the Appstore Review Guidelines:
a) Apps that alter the functions of standard switches, such as the Volume Up/Down and Ring/Silent switches, will be rejected
-> Could that also include NavButtons?
Furthermore:
b) Apps that do not use system provided items, such as buttons and icons, correctly and as described in the Apple iPhone Human Interface Guidelines and the Apple iPad Human Interface Guidelines may be rejected
I do not know whether we crossed the line there.
What's your opinion on this?
I'd say it's a bit of a crap shoot and you need to weigh whether the feature is important enough to possibly delay your release by 2 weeks or more. If you submit it with the feature I would spend some time working on a different solution so that if it is rejected you can submit with the changes right away.
From personal experience, I had an app rejected because they didn't like the image I used on a button since that image was meant to convey "picking a contact for use in the app" not picking a contact to add information too. It was my opinion that this was a petty almost silly thing, but I corrected it and resubmitted. Both reviews took over 2 weeks. So it took me over 4 weeks to get approved.
Apple has gotten better about telling you what won't be accepted, etc. But different reviewers seem to have different opinions. I'd say the description of your feature is likely to be rejected, but you'll never know until you submit it.
Instapaper has a back button in a tab bar at the bottom. I think that if you decide to do this, you shouldn't use the system back button but create your own. Using the system button feels like a HIG violation.
I am in the process of releasing an application to the app-store. I recently saw that you can make your application free but have in-app purchases. When I saw this I thought that this could be used to create a free trial. However in Apple's Helpful Tips for Using In App Purchase In Free Apps it says
Don’t set time limits on any of the
functionality of your app, either for
run times or life times. Applications
that only run for a set number of
minutes per session, or that expire
altogether after some period of time,
don’t recruit customers so much as
leave a bad taste in their mouths.
I know that sometimes it's tough to know what Apple is thinking but does this mean they will not allow In-App Free Trials or that they frown upon it. Does anybody know if people have tried doing this?
As indicated in your quoted text, they will reject any app that is a "trial" in that it only works for a limited amount of time or number of uses.
If you want to remove advanced functionality and allow users to pay for them, that's perfectly acceptable. In fact, it's one of the main use cases they talk about. Just keep in mind that the free version of the app (before people pay for the advanced features) should do something useful, and it should not expire.
Also, something to watch out for is "placeholder" functionality, which will get you rejected. For example, if you make a game and have difficulty levels that must be purchased, you can't make it look like those difficulty levels can be selected and then prompt the user to pay for them once they try to select them. You can tell the user that there are missing difficulty levels and encourage them to upgrade, however, which is a subtle but important distinction.
What does it mean that I have to "apply"? Can day say: "No, we don't like your nose. Do something else!"? Did they do that in the past?
I've been investing now two full months worth about 20.000 USD on learning for iPhone programming, and I didn't apply yet...
I've never heard of them rejecting an application for developer license. But I've heard plenty of stories of them rejecting code. That's the much larger risk with Apple's stranglehold on the iPhone marketplace.
There is no reason for them not to accept you as a iPhone developer. There is no situation that I know of where they have denied the application provisioning for testing out on the iPhone. They can and will deny your app submission to the app store in some cases. Usually those cases include:
Using copyrighted assets which you do not have a license for
Competing with one of their apps (mail client was the only one I know of)
No value added (yet another "flashlight" app - pretty rare)
Opening the iPhone to scripting attack through download.
Does not conform to their UI guides
The last of these is the trickiest. A friend of mine had his app rejected because he used a UI widget in an unexpected way. This is pretty subjective IMO but they did tell him exactly why they denied it and accepted it when he fixed the issue.
Also about the 20,000, I can't agree here. In addition to learning and bettering yourself as a programmer, you are assuming that you would be paid for every off hour you spend learning - not very realistic.
Apple has a right to not accept your app at their wish, so you have to take a risk.
Yes they could. That's the risk behind developing for any tightly locked down environment.
Of course in practice they are unlikely to reject you for no reason.
And you're already taking a gigantic risk by investing $20k into iPhone development. I can't help wondering if this is a saturated market, although there have been a few well publicised success stories, everybody and his dog are now working on a bejeweled clone, and lets face it, even people who buy iphones are going to be looking a reduction in spending on pointless trivia soon with the market the way it is