I am developing an iPhone application which I need to distribute to an organization of about approximately 50 people, no. of users can increase or decrease in future.
I checked my iPhone developer account, there I got that I can distribute my application via Adhoc Distribution up to 100 iPhone or iPod touch users. So I think it should be best way to distribute my application to that XYZ organization.
On further searching I found that there is also an - iPhone Developer Enterprise Program, which is available to companies with 500 or more employees and a Dun & Bradstreet number.
So I want to know - which will be the best way for me according to my requirements ?
Also I want to know that say if I choose Adhoc distribution then is there any way for automatic up-gradation in it ie. to install new version of my application on user's iPhone or iPod without deleting the old version.
Thanks,
Miraaj
If you do not have something seriously wrong with your persistence frameworks, than you should be able to upgrade the app on devices, while retaining the data just by providing the users with a new version of the .ipa file.
Ad-hoc seems to match your needs best, but remember, that you will have to get the UUID of all 50 iPhones the app will be installed on. A bit tedious and time-consuming. Enterprise would be better in that respect, but you might not be able to qualify for it. It's also extra expensive.
I am not surer what you mean by deleting the old one. If you want to have multiple versions of the app available on a device, they will not be automatically updatable and data sharing will be very complicated. Ad-hoc might be about your best option.
Related
How can i publish an app at app store, that only a few people (my clients) could download. Or is there another way to install it direct to their iPhone? Force them to jailbreak its not an option.
thanks.
I believe that what you are looking for the iOS Developer Enterprise Program, which costs $299 per year. It allows you to distribute iOS apps to employees (or clients in your case).
You can use AdHoc, you need your client UDID devices, check this link for more info.
You can certainly use ad-hoc deployment or the iOS Developer Enterprise Program as others have mentioned, but on top of that you will probably find that tools such as TestFlight will make the job of getting hold of UDIDs and pushing updates significantly easier to manage.
I want to build an application for the iPhone to be used inside a customer enterprise (very small, only 5 to 10 devices). But since they will be paying the application development, I don't want to distribute that application to the world inside the App Store in iTunes. How can I distribute this app to my customer? Should I get the Enterprise level subscription from the Apple Developer Program? Since I work as a freelancer, I think I can't subscribe to that program.
You should have the client purchase the Enterprise subscription.
The alternative, since there are only a few devices, is to regularly provide provisioning profiles for all devices. This sounds like a huge hassle to me. The profiles expire every 3 months last I checked, but it has changed before.
If you really want to scrape the barrel, there is also jailbreaking :)
There has been a lot of talk around iPad-Apps / Approval / Store-related Questions. I've recently built an App which I'm just about to release / send to Apple for approval.
I'm thinking about developing a dedicated iPad-App as well.
Now, in order to not have two seperate Apps in the Store (one for the iPhone, one for the iPad) i want to create an universal-App for both platforms.
However, i couldn't figure out if it is possible to first send in my iPhone-only app and later publish an update that enables my app to run on both platforms.
Does anyone have an idea on that topic?
thanks in advance
sam
Yes, you can update an iPhone app to become a universal app.
Many apps are already doing that. Universal apps provide the better user experience, I think, as they reduce the number of "duplicates" in your iTunes library (and on your iPad).
Unfortunately, a great many developers are going the "two separate apps and make the iPad one really expensive" route instead, too.
The only downside to universal apps I can see is the increased size (all the iPad-only stuff that iPhone users do not need), which could be a factor for the more fancy applications. Does anyone know if iTunes is clever enough to strip this out when syncing?
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.
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.