Distributing iPhone App to developers in your team through iTunes - iphone

Was wondering if you can distribute your App to other developers in your team through iTunes. I guess you would upload the App as a beta version through iTunes Connect and anyone with a provisioned iPhone would receive the update. I didn't think it was possible but someone told me they were sure you could.
If this is not possible are there any other benefits of a company standard enrollment besides being able to add other people so they can get the same resources?

If your other team members don't have access to Xcode then you can do this through ad-hoc distribution.
First you need to get the device ID's (GUID) for all the involved members and generate a provisioning profile containing the ID's.
Then once you have built your executable application just zip this together with the provisioning profile.
The team members can install the application (including the provisioning profile) by dropping the application into iTunes and syncing with the iPhone.

If the developers are in your team, meaning the team as defined on the developer portal, far better for them to sync to the source (i.e. latest or specific label) you want to test and to build and install it themselves since they cal all have their own provisioning profiles. It would be possible for one developer to have all devices on one provisioning profile and to do all the build and install tasks for everyone, or it would be possible to use the ad-hoc distribution, but you need to sign up and pay for that method of course. I do not think there are any other ways to do this.

Related

IPhone Distribution - Multiple Devices - Not App Store

I am an individual developer who has written an ipad app for a company. They have bout 30 devices they want to put it on, so my current plan is to create a provisioning profile that contains all the UDIDS for all those device. So here are my questions:
I surely will miss at least one device and have to either:
a. Create a new distribution provisioning profile for that device
or
b. Add it to the existing provisioning profile, in that case does it void the others
Could I submit something to the appstore that is obviously for internal use and password protect it? The company probably isn't willing to do an enterprise account, and I don't want to maintain it by getting them a new provisioning profile every year when they expire. Any ideas here?
Did you consider Ad Hoc distribution? That would allow you to add the app to a new device without having to make a new provisioning profile.
I haven't done it myself, but this looks useful:
http://www.iphonedevsdk.com/forum/iphone-sdk-development/35818-unofficial-ad-hoc-distribution-guide.html
I love TestFlight for small distributions. Also, see the Apple enterprise distribution documentation. It goes over signing and wireless distribution.
Rather if this is going to be used by the company for a longer period of time then I would advice you to go for iOS Developer Enterprise Program.
The main highlighting lines about Enterprise Program is
"Gain access to resources that will help you develop proprietary, in-house iOS apps that you can distribute to employees or members of your organization."
So you can distribute the app among your company employees directly without need to submit it on app store. That would surely be a better option.
For more details on iOS Developer Enterprise Program, you can check out this link..
iOS Developer Enterprise Program

Distributing a third-party developed application via App Store

I am newbie in iOS development and distribution, so may be my question is too basic.
Consider the following, I suppose, very common situation.
Our company (A) asked a software company (B) to develop an iPhone application for us. Naturally we want to distribute this application via App Store under our company brand (A).
However they say a strange thing like the application can be distributed only under the developer name (company B), and that is unacceptable for us.
What is a possible solution here?
It seems that your software developer is confused.
You just need to pay Apple the $99 and register your company with the iOS Developer Program. From there you have a few options:
You can give your username and password to your iOS developer. Then they can create a Distribution Provisioning Profile through your account, reconfigure the project to use that profile, and submit the app to Apple on your behalf.
If you've registered with Apple as a company, not an individual, you can invite your developer to join your team via the People tab under Member Center. That way they can help you administer your app through their own account.
Your developer can hand over all the source code to you, and you can handle all the building and app submission yourself. Be aware that process can be a bit confusing if you're new to the platform.
I have uploaded an app on App Store so I know this.
Company A does not need to use Company B's name to put an app on the App Store.
I think the Company B said that because they already have an ID saved to their company's name.
But if you give them $99 then they'll be able to make a new ID saved to company A's name.
If the company(B) is willing to give you the product, you can submit to the store by using your iTunes developer account (A) and using your own distribution profile, etc.
You can even re code sign the given by B by following this way:
If anyone has the SDK installed on their Mac, plus a developer enrollment, they can re-sign anyone's developer or Ad Hoc apps using the codesign utility from the Terminal command line. (Thus, a developer should be careful about to whom they distribute their Ad Hoc apps for beta testing.)".
Though I didn't check it; I heard about it.
You can try, I believe.

How do i give my un-released iPhone app to people who aren't near me to test?

This isn't a coding question, but is to to do with beta testing my app and so I think it's relevant for here.
I want to give my app to people to try, such as online friends and my parents, neither of whom live anywhere near me. Am i able to provision an iPod Touch or iPhone for testing my app, and put the app onto that iPod or iPhone without doing it directly from my computer?
Yes, you need to generate an Ad-Hoc build. You get the beta testers to send you the UDID for their phones, then build an Ad-Hoc build targeting those devices and email it to them. They install it by dragging it into iTunes and then syncing their phone.
In reality it can be a bit of a trial the first time you generate an Ad-Hoc build. Apple's docs cover all the facts but lack a simple step-by-step guide. I'd strongly suggest you check out TestFlight - it's free to use and it makes the whole process much easier.
(If you're feeling really adventurous you could try out Anticipation, a simple Ad Hoc distribution tool I wrote that runs on Google App Engine. It's free and open source, so help yourself!)
You are looking for Ad Hoc Distribution in Provisioning Portal. Basically, you will need to create an Ad Hoc Distribution Profile that has the Unique Device ID's of the devices your friends will use to test.
In Xcode, you will build your app with the above-mentioned distribution file using Build and Archive. When You open Organizer and click on the archived app, you will choose Share -> Email. This will open your mail client and attach the .ipa and the correct distribution file for your users to drop onto iTunes and Sync.
You want to look in to Ad Hoc Distribution. You'll create an Ad Hoc Distribution Provisioning Profile on the Provisioning Portal, then Build & Archive, then "Share" the archive signed with your Ad Hoc profile.
Check out this article, it walks you through it and shows a nice way to distribute it online. Note that you have to repeat the process every time you make a change to your app or add a new device to the profile.
You have to create an ad-hoc version of your app.
You need to get the UUID of the users devices. Erica Sadun created an app that helps you doing this. It gets the uuid on the device and emails it to you. Those UUID goes into a special provisioning profile you create in the provisioning center on dev.apple.
For ad hoc deployment I use Hockey Framework. Some php files you put on your webserver with the ad hoc version and the provisioning profile.
Beta testers can then install the app by visiting the website with their devices.

Does an iPhone Enterprise provisioning profile need to specify phone UUIDs like an ad-hoc provisioning profile does?

We are an iPhone Developer Program member. We've got a DUNS number but not the 500 employees necessary to join the iPhone Developer Enterprise Program. Therefore I can can't see how things exactly operate for the Enterprise level. But we have customers that are big enough to be Enterprise developers and we could distribute our applications to them, and let them build and distribute them on their own. Ideally they could build our app, and distribute it and the associated enterprise distribution provisioning profile via their web site, and users could install both via iTunes.
But... do they need to put every potential user's iPhone UUID in the enterprise distribution provisioning profile as we have to do as individual developers when we do ad-hoc distribution? I am thinking that they don't (have to include all UUIDs) but can't really find anything that specifically says this. Does anyone have experience with this and could shed some light on it, even better with pointers to where this is detailed or explained?
Using an iOS Enterprise Program distribution deployment method does NOT require you to enter every device id.
All you need is a distribution certificate for signing and a provisioning profile built for it. Note that ANYONE that has the profile can run the app on their device, although you can revoke the profile if necessary.
You are also given the standard test and Ad Hoc deployment mechanisms as with the standard Development Program. The Ad Hoc is limited to 100 devices, which I don't understand, but anyway, there it is.
In September 2010, the program was modified by Apple to allow any organization with a DUNS number to apply. Prior to this date, only organizations of 500 or more employees were allowed to join the program. This change should provide much wider access to development of "enterprise apps". See http://www.apperian.com/technotes/Apple_iOS_Enterprise_Developer_Program.html for more information.

Do I need to make an Ad Hoc Provisioning Profile to debug my app on my iPhone?

I think I'm just cloudy on how debugging works on a real device - is that how to go about it? I've been reading through Apple's docs on creating provisioning profiles for distribution, but I'm not finding any information for simply debugging my app, which is running on my device, through Xcode. Can someone point me in the right direction?
Edit (2/19/09):
I'm getting conflicting answers on whether or not I need to create an ad-hoc provisioning profile to debug my app. If I don't need to create an ad-hoc provisioning profile, what else do I have to do to debug my app, other than having my development provisioning profile and certificate for myself?
Edit (2/20/09):
This link, iPhone Development Guide: Preparing Devices for Development, seems to say that you do need a development provisioning profile for debugging on a device. In my last edit, I mentioned that I was getting conflicting answers on whether or not I need to create an ad-hoc provisioning profile. The answers are not conflicting, I just didn't understand the difference between an ad-hoc provisioning profile and a development provisioning profile.
Any time you're writing software to be installed on an iPhone, you need two things: a key and a provisioning profile. The key identifies the person who developed the application; it stays on your computer and is used to sign the apps you build. The profile identifies which devices are allowed to run applications signed by a given key; it needs to be installed onto the device.
Distribution keys are basically one per company, and are only meant to be used when you are building a version of an app that's intended to be distributed outside your development team. (App Store builds must be signed with a distribution key.) Development keys are intended to be one per developer, but are only meant to be used when actively developing an app.
(If you are an individual developer, of course, you have only one developer key and one distribution key. On my machine, I've set up Keychain to require a password for the distribution key, so even if somebody steals my laptop they can't release an update to one of my apps that compromises user security. The developer key, which can only install software onto my personal phone, is not passworded.)
When you're testing on your own personal device and installing through Xcode, you need a development provisioning profile and a development key. This development profile should be installed into Xcode, which will then install it onto your phone.
When you're distributing to a small number of others (for example, for beta testing, or if you wrote an app that's specialized for a specific customer), you need an ad-hoc profile and a distribution key. You'll need to send the ad-hoc profile to the user along with the app. The user can then drop both the profile and app into iTunes and sync their phone to install.
When you're distributing through the App Store, you need an App Store profile and a distribution key. Builds made in this way cannot be run on any device you control, but Apple's submission tools require them to be built using this profile.
So to answer your question: You need to provision your device, but it has to be a development provisioning profile, not an ad-hoc profile.
No, you don't need an Ad Hoc provisioning profile to debug an app, you only need a development provisioning profile and certificate for yourself on your device.
You need to provision the device, yes. IIRC you need to use Apple's online tool, and then provision it using Xcode, after which you will be able to debug it on the device.
See the first post on this blog for more.