App Store Submission for Multi-User Application - app-store

The app that I am trying to submit is for a field sales system that is already running on Android devices, and which we are now trying to make available to Apple users. It is a cloud based application, and users synchronize data stored on their devices with data stored on a web server. The application is sold to companies rather than individuals. Each company has many users, all of whom synchronize with the same database on the server.
We maintain our own web server and provide a hosting service, and companies can also host their own servers:
For the hosting service, companies pay a monthly or annual fee, which depends on the number of users they have.
For companies that prefer to host their own servers, the app is licensed by device. Companies pay registration and upgrade fees for each device, and each user has to enter a registration key.
I understand that we are not allowed to mention the Android platform anywhere in our app. I also understand that we have to allow all subscriptions, registrations and upgrades to be paid through in-app purchases. But I have a number of questions:
I am happy for us to offer only a limited service to Apple customers, if it makes it easier for the app to be accepted. Would Apple be happy with this arrangement?
Most companies prefer to have just one administrator for their whole system, and to have him make all the purchasing arrangements. Is Apple OK with this?
Is it possible to make multiple in-app purchases of a single product (e.g. purchase 50 licenses)?
Is the use of registration keys an issue?

1) I think that as long as your clients are aware that the iOS flavour of your app/service was limited in some manner (tell them the rest is work in progress) then I cannot foresee any issue with this. You may still consider ringing Apple Developer Support and run it past them, but your chances of getting a non-vague answer from them directly are still high - they'll probably say it depends on the reviewer when you go to submit the app.
2) Sounds fine, and not uncommon in the enterprise app world. See 3) for more details.
3) You can utilise the VPP (Volume Purchase Program) to achieve this, but it's only available in the US at time of writing. See the link below for further information:
http://www.apple.com/business/vpp/
I think that another way you could consider app distribution and which would let you bypass Apple (to a degree) is to sign up for an enterprise developers' account. This will let you build the usual development & distribution builds of your app, but a distribution build can take two forms: limited to devices by their UDID (100 limit still in effect) or not at all. If the latter, you could self-host the generated .ipa app file, which is perfectly viable.
4) Registration keys for the app? (to unlock "premium" content or as the method of app activation?)
Hope this was of some help, best of luck!

Related

iPad App Distribution for corporate

Just to give you a little background, we have a software application which anyone can access through web. It is a very specific application for banking and retail industry. Currently this application is accessible on web as well as on "Windows tablet kiosk" and we have license based pricing. Windows tablets access the data through web services.
So for example, XYZ Bank can order 100 windows tablet licenses and we can charge them for the application based on our pricing model for 100 license.
We are getting lot of requests from our clients to develop the same app on iPad and we are currently researching on deployment options for the same. As per my understanding, Apple has very stringent rules when it comes to App download.
In above scenario, where organization needs a licence from us to run the application what kind of deployment strategy we should go with? I can think of 2 options:
1) To deploy the app on iTunes stores and ask the organization to download it from the iTunes store. They will have to contact us to get the license in order to run the App. Is it legal? Since we have license based pricing model, we'll keep our App for free and will charge organization for license.
2) Should we just get enterprise license for our clients/organization and deploy the system on their iPad under that enterprise license.
According to me option # 1 is the way to go. But I just want to know if this is OK to distribute the App for free and than charge for licenses? In any case this is more of a web app and iPhone is just an extension.
Option #1 is only ok in a special case, when you have a general subscription model for your service outside the App Store/IAP process, like Spotify does, for example. There's a special paragraph in the App Store guidelines for that, 11.14. But if your customers pay a one-time fee just to use the iPad app, I think Apple would consider this as circumventing the App Store payment model and would reject your app because of rule 11.1 of the guidelines.
But Apple just set up a new distribution model for cases like yours, the "Custom B2B apps". It's a way to distribute custom apps for specific customers through the App Store, without the need for Enterprise Licenses for each customer. See
http://www.apple.com/business/vpp/
Only customers that you have approved before will be able to see their custom app in the App Store. Payment goes through Apple and they keep 30% as usual. This program is US-only now but will be rolled out to Australia, Canada, France, Germany, Italy, Japan, New Zealand, Spain, and UK soon.
If you don't want to give the 30% away, your only option is indeed #2, building the app with an Enterprise License of your client. The only real downside I see is that you have to get each client to enroll in the developer program and renew it every year. If you have many clients, that could become a problem.
But once they've set you up as an agent or admin, the process is smooth. E.g. you can use a MDM service for OTA updates to your client's devices and they can set up an inhouse app store, so their user experience is almost the same as when using Apple's app store.
I've just decided to go with option #2 for an enterprise project for 3-5 clients. I would say that if you have more than about 10 clients, the extra work with all the different certificates, distribution methods etc. wouldn't be worth it and I'd rather pay Apple 30% to handle that and go with the Custom B2B program (if it's available in your country).
Option 1 is more preferable.
You can have a free app on the app store.
After that you can have a option for licensing. and from coding you can maintain that in order to use the app they needs to purchase the license.
Lots of app does that as they have their signup based on the Device ID.
I have worked with some of the apps who uses to give their services like SIP Calling with licensing like that.
so with option 1 you can achieve it.
thanks

How do we publish our ios application for only our customers via our servers?

We have an application which will be used only by customers nationwide and for this reason we do not want to put the application on appstore. Shortly we want to publish it on one of our servers like a zip file then the customers will connect to that server and download the application. Yesterday when I called to apple support, one of the customer represantatives said to me that this is not possible even if we choose the enterprise license. But today I found a link which it says it can be possible. http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
Now, I want to know that is there anybody had same problem in here? What are the differences between enterprise license and company license? And the most important is that how can we do what we want to do if it is possible?
It's not officially possible.
You could try Enterprise distribution as others have mention, though it's not designed for distribution outside your company. I'm not saying it will happen, but if Apple find you're doing it they might close your developer account. I've never heard of that happening; only you can decide whether it's an acceptible risk.
Apple would say that you should put the app in the App Store. Unless Apple would reject your app I don't see why this wouldn't work. You don't have to make it easy to find and you don't have to make it cheap.
You can limit it to your customers by requiring a log in. Many, many apps do this, from Salesforce to Skype to Twitter.
Your options are:
Use solutions like TestFlight (free AFAIK) and HockeyApp (paid
service / 1 month free trial) which use UDIDs for app distribution - they
allow seamless ad-hoc distributions.
Use Apple's corporate license ($99/yr) + enterprise license
($299/yr) at the same time and use the latter to distribute your
betas/products without managing UDIDs (i.e. anyone with a link to
your server can install the app, but you can introduce serial numbers etc.).
NOTE: using enterprise license obliges user to not share the app
outside the company, but most companies breach the license agreement
(sharing the apps outside company is not traceable AFAIK).
If you plan to distribute your app outside App Store, option 2 with enterprise license is a way to go, but mind the license agreement on other hand.
The Apple representitive was wrong.
With an enterprise account you can sign an application using an enterprise distribution certificate and provisioning profile, which lets the app run on any device with no restrictions.
You can also use Over-The-Air distribution which lets people install the app through a simple http link in Safari (for example).
We use this a lot at my workplace. We have hundreds of people around the world using our (private) apps, all installed via safari.
The standard Corporate license only lets you manage a maximum of 100 devices on your developer account, but if you take this route you can still use Over-The-Air distribution with an ad-hoc distribution certificate/profile. But you have to manage each device id yourself.
If the cost of the enterprise account is not too much for you, that is definitely the route to take.
It's like Apple said, not possible.
You can add device to the ad-hoc profile, this will allow your app to run on 100 device maximum.
You can use the Enterprise license but you will still need to register the device before the app can be installed and there is still a a maximum.
See the comment of Mike Weller.
Mustafa
you can generate your OTA(Over-The-Air) file in which you set your appropriate profile(with client`s UDID) and send that link to your client and easily provide your update.with using little bit help of your web-developer.check here.
hope this is helpful to you mate...

How to create an iPhone multi-branded App?

I'm going to develop an iPhone app, and want to make sure what I want to do is possible, and will be approved by Apple.
I'm going to create an app that will be fully branded on per submission basis. I want to have one app per customer (our customers are companies) with their logo, skin, etc.
This apps will be downloaded and installed by the employees of each one of our customers.
In other words, we would use the same base code (logic doesn't change), but will brand it for each customer. Something similar to what Magento (http://www.magentocommerce.com/product/mobile) does, they created an Ecommerce mobile app, and they brand it to their customer, but the app logic remains the same.
Would Apple consider this as duplicate apps? what is the best way to do it?
Thanks in advance.
I would have said "no problem" until I read:
This apps will be downloaded and
installed by the employees of each one
of our customers
It sounds like what your creating is (a set of) private applications, which are intended to be targeted only to specific users - i.e. employees of the company.
Apple has a separate "enterprise" development program geared towards this - allowing developers to deploy programs for their own company - and do it outside of the App Store.
If your program is very specific towards the companies, Apple may make you do this - rather than putting the Apps up for general consumption on the App store.
See here for more details:
http://developer.apple.com/programs/ios/enterprise/
Also:
If your application is really intended for a wider audience, and your could in-fact sell/distribute it a such - you could "skin" the app dynamically. For example, on first-time launch, when you "register" with some "service" - based upon your email address it could download the appropriate skinning graphics.
I can say I know of several companies built on this strategy. The code doesn't change one iota from app to app, only images and names change and they continue to bring in revenue.
EDIT: Note this is against apple policy and if they find out they have been known to ban accounts. They consider it spamming and prefer that you sell one app that provides in app purchases. Directly from their feedback on a particular group of app submissions:
Thank you for submitting your
Photography apps to the App Store.
We've completed the review of your
apps, however, we are unable to post
them to the App Store because they
provide the same feature set and
simply vary the content. Apps that
replicate functionality with different
content create clutter in the App
Store, hindering users' ability to
find apps, and do not comply with the
App Store Review Guidelines
https://developer.apple.com/appstore/resources/approval/guidelines.html:
2.20 Developers 'spamming' the App Store with many versions of
similar apps will be removed from the
iOS Developer Program
You can now use Apple's Volume Purchase Program to release differently branded versions of the same app to different customers. The app can be free or paid. Each customer must have a DUNS number (Dun & Bradstreet). See the FAQ for details.

Developing iphone app for an enterprise

We are developing an enterprise application and I looked at the following options:
1. Putting on itunes.
Cannot do this since our application is to be used only by our clients with a login and passwrod.
You cannot have login based app in itunes:
http://appreview.tumblr.com/post/952395621/cannot-be-intended-for-a-limited-audience
2. Using iOS Developer Enterprise
Cannot do this as :
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.
Our client cannot add us.
3. Adhoc distribution.
This is only for 100 beta testers.
So are there any other options if I want our client to donwload our app.
Provide some minimal functionality to all users that does not require any proprietary data, but have the app download all proprietary data and enable proprietary features only after your enterprise customer logs in. Then submit it to the App store.
There are plenty of examples in the app store. Banking apps: they might advertise the bank, have maps to the nearest branch, perhaps include a calculator of some sort, but of course don't allow any actual banking features or download any account information until after a customer logs in. Security apps: provide a public weather web cam view to everybody, but a security cam view only to people who buy their expensive $100K security camera system.
The example private golf course app could have included public information on the club, the current weather, map info on local restaurants, and maybe who to contact to apply for the $10M membership, but then added private club info (calendar, roster) only to paid members after log in.
Make sure to create a test account with dummy (non-proprietary) data and give it to Apple.
You can absolutely have a login based app. I have helped someone submit one that got approved that sounds very similar to the one you are describing. Also, think about the Netflix app for example, login based, limited to Netflix users (although this is probably not as limited as you are talking about).
Your solution is clearly "Using iOS Developer Enterprise"...
Can you be more explicit about the "Our client cannot add us." ?
You can get your client to sign up to the iOS enterprise agreement so that they can install it on their phones, and you are simply a team member for them. That also shifts the liability for the app onto them, should anything go wrong.

Existing Website-Accounts with a monthly fee, attached to a (free)iphone app? Rejection?

An already running Website which has a medium number of paying users (the customers pay 10$ per month for the account) asked me if I am willing to program an iphone app which helps extending the functionality of the website.
They most probably want to give the application away for free - they think, that the iphone app will be a strong argument to get more customers willing to pay the monthly fee for the web-account.
In the Android-Marketplace it is quite clear pointed out, that you are not allowed to earn money other then the price for the app.
android developer distribution agreement:
"4.5 Non-Compete. You may not use the Market to distribute or make available any Product whose primary purpose is to facilitate the distribution of Products outside of the Market."
In the Microsoft App Store there are quite similar terms. But you cannot find a license agreement for the iphone app store where it is not allowed to give away free apps which are able to connect to paid websites.
There are some blogs out there where you can find rejection criterias for the iphone:
http://10base-t.com/unofficial-appstore-rejection-criteria/
I also read the 'iphone developer program license agreement', but still it is not clear to me.
The kindle for iphone is a quite similar example to the above mentioned situation, this app is approved, but I think that amazon is paying a not disclosed amount of money to apple. I'm not convinced that our application will get approved.
Are there any terms and conditions which I didn't read.
Thanks in advance,
Tom
The "non-compete" clause means that you cannot post an "android market" to the market, thus distributing apps and competing with Google directly.
On top of the agreement it says that "Products" (capital P) refers to "Software, content and digital materials created for Devices in accordance with the Android SDK and distributed via the Market.".
In other words, Android apps.
Translation: "4.5 Non-Compete. You may not use the Market to distribute or make available any Android Application whose primary purpose is to facilitate the distribution of Android Applications outside of the Market."
This means that "yes", you are able to use a paid service outside of the Android Market with your Android app distributed through the Android Market. Otherwise, I couldn't use my paid Skype account with my copy of the free Skype app on the iPhone - nor on Android (does it even exist?)
The Wall Street Journal app is free, but you have to pay them for most content. As far as I know, it's not an in-App purchase, either.
There are lots of examples of free apps that only work with external paid-for services. The prime example on my iPhone is the Spotify player.
My impression is that you will be OK if the app is a free download. What they are likely to object to is a paid-for app that requires additional payment through a non-appstore mechanism to be used. Apple are concerned about the ripped-off feeling people get if they pay for something that they then can't use without additional payment. If the app is free then the user can just delete it (although they'll probably leave you a shitty review if the Spotify app is any measure).
Bear in mind that you will have to provide Apple with an account on your external system set up for testing during the approval process.