can i build and distribute multiple devices that use only one provisioning profile? - ios

I have a question
Can i build and distribute a app by different mac device by use only one provisioning profile?
I have some ios devices and have workmates.
My workmate do build.
I distribute to ad hoc or appstore.
we have different mac device.
so a provisioning profile is used to development
another provisioning profile is used to distribute (another device)
the point is i want to use only one provisioning profile.
if so, how?!

You need a provisioning profile for each Mac you wish to distribute from (ad hoc or app store). You can use as many computers as you'd like to write the code or test in the simulator, but with only one provisioning profile, I believe you can only build to devices or build for App Store from a single Mac.

Related

Can I use an Development certificate along with adhoc distribution provisioning profile to distribute my app to specific user?

I am trying to adhoc distribute my ios app. My admin to our dev portal created a adhoc dist provisioning profile. Can I use any cert(Dev or dist) to code sign my application? or it has to be dist cert? Thanks.
The short answer: you'll need a distribution certificate, with an ad-hoc provisioning profile that contains the target device's UDID. You can configure this on the dev portal.
Development certificates are purely for device development at your own machine. It does give you access to a limited number of devices to build your app on, but it isn't ideal for beta testing an app on.
Distribution certs and ad-hoc profiles are most commonly used with services like Fabric to beta test your app. You may also want to look into TestFlight to help distribute for beta testing.
Good luck!

What is difference between Xcode Ad Hoc and IOS Team Provisionig Profile

I am not sure what is the difference between these two XC Ad Hoc and iOS Team Provisionig Profile. These two are generated by Xcode.
Are these two same?
OR
If different what's difference between them and when to use which one?
As far as I understand and searched the forum what I got is this
Development profile allows you to test your apps on your physical devices
App Store Distribution profile allows you to sign your apps for App Store distribution
Ad Hoc Distribution profile allows you to sign your apps for Ad Hoc distribution
Mainly AdHoc distribution allows you to install the generated IPA on
100 devices which you can distribute for testing.This 100 devices
should be added in your developer account.
AdHoc distribution is used for testing production push notifications
in the app. Before releasing the app to appstore, if you want test
your production push notifications you need to generate ipa and test
the notifications.
Ad Hoc Distribution Profile: Using this profile you can allow 100 devices to install your app for testing purpose. App signed using this profile can be install using itunes. App must have same identifier as mentioned in Ad Hoc provision profile. ie. com.yourName.appName
iOS Development Provision Profile: You can install your app directly from XCode to test on device. It is not compulsory to have matching identifier for app and provision profile if provision profile is signed with wild card. ie. com.yourName.*

How come I can install an app store distribution build directly on my device?

I was under the impression that it was impossible to install an app store distribution build directly on a test device (without going through the actual App Store). I found multiple references to the following note by Apple (though I could not find the note itself in the current version of the iOS App Distribution Guide):
"App Store provisioning profiles do not allow for a distribution built application to be installed on an Apple device. To install your distribution ready application on a device, you must create an Ad Hoc provisioning profile."
Now consider the following: I have an Ad Hoc Distribution provisioning profile and an App Store Distribution provisioning profile. The ad hoc profile contains a list of provisioned devices, the app store profile doesn't. My (no jailbrake) device is included in the provisioned devices in the ad hoc profile. My build was signed with the app store profile. The resulting .ipa file was submitted to the App Store (and approved - but it is not publicly available yet). When I view the package contents of the .ipa file, I see that the embedded.mobileprovision is indeed the app store profile (without the provisioned devices list). When I drag this profile to my Xcode Organizer, I get an error that the profile cannot be installed because the device is not included in the profile (as expected). However, when I drag the .ipa file to my Xcode Organizer, the app installs on the device (and can be opened on the device afterwards). I tried this after making sure there were no other copies of the same app installed on the device. The same thing does not work when I use a different device that is not included in the provisioned devices of the ad hoc profile (even though the .ipa contains the app store profile without provisioned devices list).
Does anyone have a possible explanation for this? It seems that somehow a build signed with an app store profile can still be installed on a device included in the corresponding (same app identifier? same team identifier?) ad hoc profile. But if this would be the case, what is the point of making separate ad hoc builds?
I noticed this too and always meant to find out why it worked.
It used to be true that you couldn’t install an App Store build but that appears to have changed, I’m guessing either in iOS6 or 5.
I found that I could only install App Store provisioning profile builds when a compatible Ad Hoc profile was already installed. Developer profiles did not work. I did not try wildcard profiles. So it looks like the Ad Hoc rules changed.
I can’t find the rules for installing an Ad Hoc build, but on the topic of launching the “Ad Hoc Provisioning Profiles in Depth” section of Apple’s App Distribution Guide says that
The app successfully launches if the app’s bundle ID matches the App ID, the signature matches the distribution certificate, and the device is in the device list of the ad hoc provisioning profile.
So I guess technically an AppStore builds meet these Ad Hoc requirements because it too is signed with the same distribution certificate. The use of “the” is misleading here because it makes it sound like iOS consults your embedded.mobileprovision, which is untrue. It should read “an” ad hoc profile.
NB: The install only worked when the Ad Hoc profile was already installed on the device, so that’s one reason to make separate ad hoc builds.
NB: This is all conjecture, another explanation could be that Xcode handles the installation of the embedded.mobileprovision and now continues when the AppStore profile installation fails.
This raises another question for me: why does iOS DWIM for App Store builds yet refuses to launch Ad Hoc builds with expired provisioning profiles when a perfectly valid replacement is installed?

App store provisioning profile

I created one distribution profile for app store submission. Can i test my application in device with the same profile.
Or otherwise i need to create some other profile with ad hoc distribution?
You can not use an app store provisioning profile to test on a device. You can use an ad hoc profile, or a development profile.
Both ad hoc and development profiles require you to specify your device id.
The difference between an ad hoc and a development profile, is that a development profile can be used to debug. That is, you can use Xcode to build and install the app right on your device, and then step through code as the app is running to see values variables hold etc.
An ad hoc profile allows you to build an .IPA file and share that with beta testers (assuming of course you included their device id in the profile, or you have an Enterprise account/profile). They can install the .IPA file via iTunes (so they don't have to be a developer, or on Mac for that matter).
Yes, you have need to create ad hoc distribution profile for test. You cann't test with distribution profile(app store submission). read this About Store Provisioning Profiles and Creating Store Provisioning Profiles
Sorry!! you can't.
App Store > create a distribution provisioning profile to submit to the App Store
Ad Hoc > create a distribution provisioning profile to install a limited number of registered devices.
So you need to create a new Ad Hoc type distribution profile to install your device.
The answer to your question is 'NO'. You can not use 'store distribution provisioning profile' for testing your app on a device. It is intended to be used only for submitting your app to App Store.
To test your app before you submit it to App Store, you need to create separate 'ad-hoc distribution provisioning profile'. This will help you to beta test your app before submission as refered here..
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html#//apple_ref/doc/uid/TP40012582-CH8-SW1

What is difference between .ipa with development provisioning and .ipa with adhoc distribution provisioning profile?

I looked on stack overflow there are many similar questions but could not understand exactly. As my knowledge there are three types provisioning profile -
Development provisioning profile
Ad hoc distribution provisioning profile
App store distribution provisioning profile
Development provisioning profile allows for testing and debugging.
Ad hoc distribution for beta testing without using Xcode.
But my question is that .ipa created for testing using development provisioning or using adhoc distribution provisioning, What is the difference in both ipa?
Thanks for your answer.
Development provisioning profile
the development provisioning profile is for testing your App on a device (iPad, iPhone, iPod Touch)
Ad hoc distribution provisioning profile
Adhoc testing is when you have completed development and want to distribute your app to multiple users for testing (your second question). Just create a distribution profile for adhoc testing and select all the device ids for which the profile is valid. In that case you will only need to send the .app file and .mobileprovision file to each user testing your app.
Details Desription:
If you'd like to install your software on several devices without using the App Store, you'll have to create an Ad Hoc distribution profile with the device ID numbers, and install that profile as well as the software, on all of the devices.
App store distribution provisioning profile
For submission of the app to app store, you have to create a distribution mobile provisional file with the "App Store" option selected.
1.you want to test your App then use - Development provisioning profile.
2.test multiple users without interaction with APP store then use - Ad hoc distribution provisioning profile
2.multiple users interaction with APP store then use - App store distribution provisioning profile

Resources