Will Appstore accept this kind of application? - iphone

So I already have 2 versions out on appstore..
One app is a free but limited version.
The other is a paid unlimited. The basic layout..
I have had questions from companies wanting to buy the app and give to their employees. So they don't have to buy the app with their personal accounts..
So I was thinking of releasing a 3rd version that prompts the user for a license key on first start, if the key is valid the app starts and works until reinstalled or w/e. If the key is invalid the app just keeps prompting for a valid license.
Now I remembered reading somewhere that apple wouldn't allow apps that had no public function or something like that. Which this app wont have unless u have a valid license..
But since I do also provide a valid public version of the app, will this one get accepted? Or have they removed theese rules?
Any insight in the matter would be helpful!
Edit:
Forgot to mention that the reason im looking to use the license is because i have the same app for android and want the companies to be able to buy for both device types, not just apple devices.
Thanks

I believe you should use the B2B functionality in ITunes Connect: http://developer.apple.com/support/ios/volume-purchase-program.html
Also check: https://developer.apple.com/appstore/resources/volume/

I did something very similar to this some time ago, they seemed ok with it (then at least), they just asked for a license key in the complementary info (during the app submission) to go through all their usual validation tests.

Klassmating has an app in the app store that has no public functionality unless you are a student at a specific university. So it seems like you can have apps like that.

Without knowing exactly, I would assume Apple would reject such an app from the store (mainly because it would allow you to sell applications "behind their back" - i.e. sell licence keys and not using in-app purchase) :-)
However, there are two possible solutions to your problem that come to my mind:
Create and distribute gift codes (would be a problem if you had to give out too many of them).
Do an ad-hoc distribution of your app to the companies. Basically they would need your application bundle and an ad-hoc mobile provision file. Then they can simply install your application by dragging it to iTunes.

There are different official iPhone application distribution methods.
In which for your current requirement,I suppose you can use the Custom B2B Apps,where you can deliver apps directly to your business customers who have a Volume Purchase Program account.You can get more information from the link provided above.
cheers!

Yes, I too have had an app in the app store which works like this. You have to provide them with a key/licence to access the app functionality so they can test it fully.

I've had an app rejected for this very reason - required a username and password, not a licence key, but was free. They said in contravened the licence terms regarding in app purchases.
Mine allowed time limited free trials from within the app, but full functionality was restricted to purchases outside the app. Apple wanted their 30% cut of the subscription cost so it was no dice for us.
On the other hand, the app store review process is seemingly entirely random, so who knows.

Related

How can I distribute iOS apps that have been rejected from the App Store?

I have made multiple simple but fun apps for iPhone in the past few months and have had them rejected by Apple during the approval process.
I have put many weeks or months of effort in some cases. I just hate to have these apps go to waste without anyone downloading them.
Since those apps of mine are never going to see the light of the day on the App Store, is there a way I can let family and friends download those apps if I host those binaries on my website? Can anyone tell me the process or walk through instructions?
Are they simple enough that if I post them on Facebook most average users are going to get it? Is there already a website out there that lets users like me (with unapproved apps) to host those files for everyone in the world to download them?
Have a look to testflight.
You just need an email that can be accessed on the iPhone and add the specific user to test flight, once he is register you can get the iPhone id and add it to the provisioning profile.
When you create the build and upload it , the users are notified by email and the app is installed remotely by a few clicks.
You can authorize a limited number of users to test your app through ad hoc provisioning. The free service provided by http://www.testflightapp.com makes the over-the-air distribution and provisioning process fairly simple.
You might find these links useful
http://jeffreysambells.com/posts/2010/06/22/ios-wireless-app-distribution/
https://testflightapp.com/
Good luck
Harv
Why not just open-source them? You’re probably not going to make a lot of money distributing them with TestFlight or even Cydia. Instead, clean the code up to remove any proprietary things you don’t want to include (API keys, etc.) and put it on GitHub. Not only will this help the community, but you can use your GitHub account as a kind of résumé for future employers or clients. What’s more, you might even get free help with your code if someone forks your game and makes changes!
Old thread but could Enterprise developer's license help here, as long as you are not selling them apps?
Just a thought.

iOS development and client control-- What are my legal and best options? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I work for a company that would like to create an app that we can distribute to our customers. We manufacture industrial equipment and we would like to provide an iPhone/iPad app to our customers that can interact with their equipment.
The problem is that we would prefer that the app not be downloaded from the App Store. We would like for this application to be available for our customers free-of-charge and would also like for them to have the ability to download and install the application on as many devices as they desire. However, we do not want non-customers (ahem, competitors) to be able to download and use our application.
What options are available? We have considered allowing the app to be available through the app store but in that case the app would be locked until the user entered an application key. This would keep the app free to download and it would give us the ability to control who could use our software. I'm not sure, however, if that is allowable by the Apple TOS.
The Enterprise license sounds like a potential option. If it is, what are the specific steps necessary for installing an iOS app on an Apple device if not through the App Store? I'm also not sure if it would break the TOS to distribute our app for this purpose under the Enterprise license. Is that the case?
What options do I have? Please realize, I don't own a Mac and I've never even attempted to write or distribute an iOS application-- I'm 100% new to all of this. Thanks for you help.
EDIT
Thank you all for the wonderful responses that I have so far received. Half of the questions that I have stem from the fact that I can't find the actual TOS agreement that I would have to sign if I became a standard or enterprise developer. (Yes, I've googled it.) Does anyone have a link to such documents?
If you want to distribute your app outside the App Store, you need to get an iOS Developer Entreprise license ($299/year). You're going to need a Dun & Bradstreet (D-U-N-S) number to enroll and can only deploy to 500 (registered) devices.
Edit: Another option would be to demand the user some authentication (such as user/pass) to use the app (think Facebook or Twitter). You could provide your clients with the credentials to ensure only a certain users have access to the app.
I think #ibeitia's answer is the best one, but here's an additional option: put the app on the app store, but make it all-but-useless without a login to your server.
For example, the Google+ app is useless unless you have a Google account.
You'd have to give a login to Apple so they can vet it, and of course I can't guarantee they'll allow it, but it's an option I'd consider.
(If you do go down that route, send an email to Apple's approval team asking for clarification before you start development!)
I work for a company that would like to create an app that we can
distribute to our customers.
From http://developer.apple.com/support/ios/enterprise.html (bold is mine)
I am a developer who wants to create an in house app for my client.
Can I join the iOS Developer Enterprise Program to do that?
The iOS Developer Enterprise Program should be used to develop and
distribute proprietary in-house applications to your own employees
within your own company. As such, your company would not qualify for
direct Program enrollment in this situation. We would suggest that
your client apply for enrollment in the Program, and, once enrolled in
the Program, your client may add the appropriate developers from your
company to their iOS Development Team.
The Enterprise Developer program doesn't allow you to sell your app to your customers. It's the customer, not you, who should enroll in the program.
I think your best bet will be to use Apple's B 2 B program:
http://www.apple.com/business/vpp/
This will allow you to have apps in Apple's business app store (not the ordinary app store), and control who gets the apps. You'd provide the redemption codes to your customers.
btw, I can confirm that providing an app with a login to make it useful would be okay with Apple - I've done it before.
Well your options are really limited.
You could go with the enterprise license but this is still limited to 500 device which still need to be register with the some how. (never had to work with the enterprise license).
But could you not make your app available in the appstore foor free but only make it work with you equipment. Thus make the app search for the equipment (via bonjour of wifi) and only work when it finds the device. This will make getting the accepted a bit harder but will work. There are some IP camera manager that work that way.
If your competitors really want your app they will get it one way or an other.
Just be sure you release an app before the competitors, do that way your company has the advantage.

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.

iPhone Ad Hoc distribution without expiration

The background story:
I work for a company that develops and manufactures a commercial product which can have up to 100+ dedicated PC's in a farm.
We only get a handful of new customers per year.
We developed an iPod/iPhone app that lets us send commands to the farm and pull data. Our parent company has major concerns about putting this app on the AppStore. (I really dont know the details of the paranoia, but I know its probably not a winnable battle).
We planned to distribute the App via Ad Hoc using ONE or TWO new iPods each time we sell a "farm". I have just learned that the Ad Hoc distribution expires after 90 days.
The Question:
Are there any alternatives for permanently loading our app onto an iPod Touch or iPhone without going through the App Store?
Our app has absolutely no use to anyone without our other product. We only plan to load this app on a handful of iPods a year. I doubt this matters, but maybe somebody has another solution?
Apple has an an enterprise distribution program, which might allow what you're trying to do. There's also jailbreaking the iPods. That would let you run unsigned code, so you could build your apps without ad-hoc certs.
I know this post has been marked as answered but i am in the same situation so i though i should share what i have experienced.
There is NO legal solution for this. You can't have an app distributed with out the annoying expiry dates.
I have been onto the ADC support and you can't get an extension on the certificates, you can renew for more than 1 year at a time and they have no interest in helping you.
I have clients who will not let the content of their apps hit the app store. There for they are stuck with sending all the devices back to renew certificates (i know you don't need to xcode etc.. to install the certs but try getting end users to do it...).
I am in the luck situation that i can try send the shell of an app to the appstore and then once verified (i.e. once off login - ssl to our server with the device id and a guid password) the app will download all the sensitive content to the phone.
I don't know if this will work for all apps - i.e. loading classes or libraries dynamically but for me it is only the content that is sensitive.
if anyone would like more info i am happy to talk it over, but i haven't tried getting the app through the store yet. I will try soon, so i can keep you posted if you are interested.
cheers
kle
As of September 2010, Apple has removed the 500-employee requirement. Go nuts!
See my post about setting up an Enterprise Program account (which moderators keep trying to close!):
https://stackoverflow.com/questions/1876333/how-long-does-it-take-to-get-an-iphone-app-into-the-app-store-closed
Issues with getting an Enterprise Program account:
-You need 500 employees.
-You can only provide the app to employees.
Make sure you check the detailed terms and conditions of using Ad Hoc distributions to be sure you are allowed to distribute them as you are doing. On the face of it you are probably okay (Apple link here), but worth checking the fine print. I know the Enterprise Program had a lot of fussy fine print, e.g. needing procedures to recover apps from employees when they leave the company, etc.
If you jailbreak the iTouch/iPhone then you can easily disable Apple's code signing checks. You can then build your app and load it onto the device as normal without worrying about expiry or anything else.
The only problem is that jailbreaking on newer batches of the 3GS is not particularly end-user friendly. For something to give to a client I think you would need to stick with the iTouch.

iPhone app without AppStore

We have an industrial app that currently runs on a very expensive ruggedized PDA.
Since most of the engineers we sell to have iPhones we are considering moving to the much nicer newer platform.
A couple of questions:
Is it possible to sell iPhone apps with out the app store? Apple taking a 40% cut of a 99c iFart app is one thing but this is a $3000 engineering calculation app. We have also heard of the hassles some people have had getting apps approved.
Can we sell an iPod touch (I understand selling an iPhone without a contract is trickier) with pre-packaged software.
ps. Sorry for the anonymous posting, the company is a little nervous about our relationship with the PDA maker.
There are basically three different official iPhone application distribution methods that I am aware of:
- App store
With this method anyone with an iPhone can have access to the application. You can distribute an unlimited number of applications like this. Apple gets a 30% cut. Of course Apple must approve your applicaion.
- Ad hoc
You can distribute applications using ad hoc without going through the app store, but you are limited to a maximum of 100 devices. With this method you can distribute you application from a web site, email, etc.
- Enterprise
The method is for internal distribution in companies with more than 500 employees. Apple does not provide any more public detail that I could find on this method.
It doesn't sound like any of these methods meet your criteria unless you have fewer than 100 customers and don't plan to exceed that number. It sounds like from the question your customers are not internal to your company.
I would advise contacting Apple. They might be able to work out some kind of custom distribution deal.
Enterprise developer program allows in house distribution, avoiding the appstore. It's $299 vs $99 and doesn't include AppStore distribution.
For companies with 500 or more employees who are creating proprietary in-house applications for iPhone and iPod touch.
Apple also has a B2B Program, which sound like you are aiming for. It allows you to sell your apps directly to other businesses. You can find out more here: https://developer.apple.com/programs/volume/b2b/
Spotify has a free app you can download, but to use it you have to have a Premium account. So you don't have to sell your app for $3000 to go thru the app store.
You can give the app for free in Appstore, but it will require an online activation. The online activation will cost 3000$. If apple would not accept the app, you can try to create a very limited version (without activation) and get it accepted in appstore. Then release un update for it, which will enable online activation system.
It's a pity - the iPhone/iPod touch could make a really nice platform for automation/interface stuff.
I was working on an embedded industrial platform recently - a 16bit micro, 64K memory, a serial port and a 120x128 2 grey level screen for $1000/unit and $10,000 for the appalling OS/devkit.
I can't see how apple could possibly care if you purchase iPod touches, jailbroke them, installed your app and sold them to customers.
For a $3k app, the $220 for an iPod Touch is less than 10% of the sales price.
Testflight. Google it. Basically you get an account with testflight. Put your app on testflight. You send your customer an email and they click it on their iphone. It sends testflight an email with your customers device ID. Testflight sends you an email saying "a New customer requested your app" and their device ID. You add their device ID to your provisioning chain and rebuild your App. Upload it to testflight, they get a notification that it's ready, and they can install it. Somewhere in there be sure to get your money :)
Native app, no. However, you can create it as a Web App that's specialized for the iPhone, in which case you circumvent the app store altogether.
You could consider a HTML5 app on Safari which offers many of the features of an app like offline access, local storage, canvas for rich graphics etc. No distribution issues and no commission. Depends what you need - access to camera, compass I think is not possible. (Also: works on Android)
Edit:
Here's a great intro -
http://sixrevisions.com/web-development/html5-iphone-app/
How to Make an HTML5 iPhone App
Build a version of Tetris that is "for the most part, it’s going to be a pitch-perfect imitation"
Full Screen
Offline Cache
Persistent storage
If your app is pretty expensive, you probably have few customers and they receive personal support, so what you could do is the following:
Have each customer get their own Apple developer license ($99/year). Your support can talk them through the process, or you can probably do it for them. Give them a discount/credit for the $99 they pay to Apple.
Compile your apps logic into a library, and make a thin shell that loads code from the library.
Give the customer the XCode project for this shell, and the binaries for your code :-). Write a little OS X app that triggers the download of XCode, the compilation, and installation, so they can "compile" and deploy "the app they are developing" (a.k.a. your app) to their devices. Or, do it as a service for them.
Don't forget to get your lawyers involved. I'm sure there are ways to look at it in which this is legal, and interpretations in which this violates some license. There is probably a way to make this waterproof, e.g. by calling your customers "developers" and yourself "consultants" in the contract or something. Helping a customer compile their app is not prohibited :-)
If you do this, deployment is not going to be so smooth as if you go the official way, but you'll save a lot of money. For a $3000 app, instead of 30% you'll give Apple 3.33%. I haven't done this, and I don't know anybody who has, and can't even recommend it, but I also can't see why it wouldn't work. So it might be worth a try.
I wish. Short answer, no.
There is some kind of a hack, whereby you isntall your app in a ad hoc manner, but you can only have 100 devices. Painful road if you ask me.
The way to do this would be to give the app for free in iOs store.
But charge $3000 for an activation code or subscription fee purchased from your website.
You will need to give the free app some basic functionality of some kind, however. Apple won't approve the app if it doesn't do anything without the activation code.
If it was me I would do one of the follow:
1) Submit it to Apple and sell it for free. They then enter a license code bought from you to access the full feature set. Include a welcome page, about us, contact page for unlicensed functionality. As Apple won't approve it if it does nothing.
2) Get the companies you're selling to to open an Enterprise account with Apple. Then you build the IPA and sign it using their credentials and send them the IPA.
Good luck.
This article summarizes all the answers to this question and discusses Apple's B2B, iOS developer enterprise program, adhoc distribution and testflight.
http://mobiledan.net/2012/03/02/5-options-for-distributing-ios-apps-to-a-limited-audience-legally/
All of the solutions (except the test-oriented solutions, which are limited), however, force you to get Apple's approval before publishing and updating. This process can take time and can leave your users stranded when you have a critical bug that needs a quick update.
If this is a deal breaker for you, you might want to try developing the app for Android, which also has advantages and drawbacks, but in your specific case, gives you more flexibility.
In Android, you can email an APK file, a user clicks it, and the app gets installed on the device.
In iOS, every devices that is not a member of the "enterprise program", "b2b" program or is provisioned for testing, cannot install the app.
You have to jailbreak the iPhone to put an app on it not from the app store.