how to create binary which can be installed in all iphones without creating App Store or Ad Hoc? - iphone

i want to create an application which will not launch in AppStore but all my clients can install my application in their devices. the problem is that i do not have all my clients devices UDID. how they can insert my application because i can't create Ad Hoc since i do not have all my clients UDID and i do not want to create an App Store binary.
Please tell me this is possible or not.?

Use InHouse distribution, see
https://developer.apple.com/programs/ios/enterprise/
and
http://www.apple.com/iphone/business/apps/in-house/
In short, you'll need an Enterprise account. With it, you can create inhouse-distributions that work the same as ad-hoc (i.e. you can distribute them directly or via Over-the-air), except that you don't need to specify UDIDs.
However, since this is a major security "flaw" you have to make sure that everyone who downloads/gets this app is properly authenticated one way or another.
Important: If your clients are not members or subcompanies of your company, I'd check the legal status of using InHouse distribution for this. I'm not sure myself.

If you can turn your app into a web app, then yes you can do it.
But assuming you are talking about a native iOS app, and you don't want to require clients to jailbreak their phones, then no, Apple have a single distribution channel and that's the App Store.
If your clients are 'internal' clients, ie you want to distribute within your own organisation, then the enterprise program is an option for you;
https://developer.apple.com/programs/ios/enterprise/
If your clients are large, and want to buy in volume and then re-distribute internally, another option may be the custom B2B program;
http://www.apple.com/business/vpp/

Related

Distribution through Apple Enterprise : employees only?

Take the situation in which I have created a number of apps and would like to distribute it to people for testing, but without having to know their UUID. Each app would only be distributed to a few people but I don't want to have to ask for their UUID.
Does the enterprise distribution program support this? So that I can archive and distribute the app without specifying UUIDs to people who are non-employees?
The enterprise distribution program does allow you to distribute apps to select users without knowing their UUID. The iOS Enterprise Distribution guide explains everything you need to know to distribute apps outside of the app store. In short, you can host your app on a web server that requires authentication.
Check out this link for more information http://help.apple.com/iosdeployment-apps/mac/1.1/

Is it possible to place an app in the Apple app store that is intended for select customers but not general public consumption?

My company bosses want to create a native version of a currently web-based app that will be available to their existing customers (currently a few thousand).
They say it is imperative that the application be available for downloading from the app store.
However the app would only be of any use to customer who already have an account (and would be useless to anybody else who downloaded the app).
Is this actually possible to submit such a thing to the app store?
There are dozens of Apps in the App Store that where they are only usable if you are an existing customer. Look at all the banking related ones for example.
AFAIK, you cannot restrict the intended users when distributing through the AppStore.
What you can do is apply for an iOS Developer Enterprise Program, though you'd be installing the app directly to the devices (requires physical presence of the devices).
You could also use a service like TestFlight, though their terms probably just allow deployment for testing purposes.
What I'd go for is getting the app to the AppStore anyway, as long as your app doesn't include confidential content. You could advise in the description not to install the app unless they're your company's clients.

Iphone dev app for companies

Lets say I have a client that wishes me to build a business app for the iphone. I would still need to enroll to the standard developer program so that the app can be installed on real devices and the only way for my client to install the app is through the app store? I cannot just distribute it to my client directly?
I'm just reading about how to start developing for iphone, so i'm a total noob. Any information is appreciated.
Thanks,
Yes you do need a developer license. No you can distribute it directly if you have each device setup on your account to do so. I am also pretty sure apple has a special license that makes it easier for handling enterprise applications you might want to send them an email to ask about it.
EDIT
Ok I found a link. It is more expensive the normal but this is definitely what you want for your company. It lets you do adhoc distribution across your company.
http://developer.apple.com/programs/ios/enterprise/
You need a developer certificate to put an app on any iOS device with a stock OS.
What kind of certificate and how many you need depends on the type and amount of distribution you require, and the size of your client's company.
You most likely will need to join the iOS developer program ($99/annum) yourself to install and test your apps as you develop them. In addition you can deploy Ad Hoc installations for up to 100 devices (including your own, your testers, your clients, plus, very importantly, including all repair replacements and upgrade devices).
Your client may not need any license if they only want a few copies and are willing to have you renew your Ad Hoc installs a few times per year.
If your client wishes to deploy an app in their own name outside their company or through the iTunes App store, then they need to apply to the iOS developer program themselves.
If your client is large enough to have a published Dunn & Bradstreet rating, and wishes to deploy only to their employees, then they can apply to the more expensive Enterprise iOS Developer program, and run their own internal app store.

What's the point of App ID's and Provisioning Profiles?

As I understand it, an App ID is an code that's unique for an single application. Every time I start developing an new application, I have to create a new App ID.
But I don't get it what's up with that "provisioning profile". Do I need one for each single app? What's that for?
It's to protect the end users, by having a way to validate apps and their origin. It also serves as a centralized system to control development. On windows most apps use GUIDs for this, but they don't have any centralized info about them. Apple does, which is a pain at times, but it's a valid effort in the end.
The provisioning profile contains a list of devices that are allowed to run or debug your code. Everything is verified with a digital signature, which ultimately lets Apple control distribution. This is why you need to jailbreak in order to get apps from sources outside the App Store.

Is it possible to install third-party apps on an iPhone? If not, how is it controlled?

Can I go around Apple and offer applications to users, or do they force you to go through them? How? Just legally?
Aside from the App Store (and jailbreaking), Apple provides two official routes to install applications on the iPhone.
Enterprise Distribution: designed for internal users of a company
Ad Hoc Distribution: allows your app to be installed on up to 100 iPhones
Source: http://developer.apple.com/iphone/program/distribute.html
For phones that are not jailbroken, distribution rules are enforced by the iPhone's code-signing system. The phone won't run any apps that aren't signed by Apple, and the only way to get an app signed is either to get it into the app store or to use ad-hoc distribution.
Ad-hoc is effective but time consuming for more than a few devices, in that you have to get the unique device ID for each device you want to distribute the app to. You then sign the app for that device and send a copy along with a provision file. Some batching is possible-- you can get up to 100 devices in the same ad-hoc build. But if/when Apple finds out you're doing it, they'll close your iPhone developer account (for violating the rules) and then you won't be able to generate any more provision files.
One developer tried using the ad-hoc approach last year when Apple rejected their app (Podcaster). They claimed to have sold something like 1100-1200 copies before Apple shut them down.
Jailbroken phones don't have this limitation, but it's up to you to determine (a) whether the market is big enough and (b) whether enough of those people will be willing to pay for your app. I don't know the answers-- it could well be "yes" to both-- but don't just assume they're true without investigating enough to make a reasonable prediction.
If you wish to distribute applications to phones with out going through the App Store, you must sign each copy of your application for a specific phone handset. If you need more wide spread distribution, all your client phones must be "jail broken". Once a phone is jail broken, it will accept any application for installation.
You can offer applications through Cydia for jailbroken iPhones / iPods. Cydia uses a system similar to Debian's apt. Basically allows users to add custom "sources" (repositories) and install applications provided by those sources.
Obviously this is not supported or approved by Apple since it circumvents the App store and their App approval process.