According to the Apple docs, one must create and use a distribution certificate and a distribution profile for distributing an app ad-hoc.
"To use ad hoc distribution, create a distribution provisioning profile specifying Ad Hoc as the distribution method and include a list of up to 100 devices authorized to run the app."
http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/DevPortalGuide/CreatingandDownloadingaDistributionProvisioningProfile/CreatingandDownloadingaDistributionProvisioningProfile.html
Well, this is not neccessary i have found out. You could easily distribute an app ad-hoc with just the developer certificate and the team provisioning profile.
Is it a bad idea to use the team prov. profile and just a developer certificate?
Why should i create an ad-hoc dist. profile if it's more easy to just use the team prov. profile?
Distribution builds have the property that cannot be debugged (that's what the get-task-allow property in the entitlements plist is for). This means that others cannot attach a debugger to your code and achieve undesirable results.
Distribution builds are required if you want to allow remote users to download the application via an App Store (Apple's or enterprise).
Related
Our company has registered for a Apple enterprise account. WE want to distribute an app only within our organization. We have now created the app Id and distribution certificate for the app. But while creating a "In-House" provisioning profile we get the message :-
In house distribution provisioning profiles will be available two weeks after program activation
The app distribution is on priority. We do get an option to create an "Ad-Hoc" provisioning profile. Can we go ahead by signing the app with an Adhoc provisioning profile for now and distribute the app internally. Also later can we sign it using the In-house profile once that is available after 2 weeks?
Any help is appreciated.
My enterprise account was not enabled for in-house app distribution. As https://stackoverflow.com/users/3548469/dev-tandel mentioned,
But I have an option to create adhoc certificate by registering the devices if you don't have any. Only limited devices can be installed. Reference screenshot is attached
I am trying to prepare an ad-hoc build for an iOS app. I am registered as a team member(TEAM ROLE) in apple development program.
My team admin has already generated distribution certificate and have registered device and also generated distribution provisioning profile.
Now I want to know , If I want to create build from my local system, Does the provisioning profile itself is sufficient to make the build or I need to install distribution certificate as well?
I am curious to know because I think, provisioning profile has all the necessary information like:
Distribution Certificate and device info
Thanks for your help.
No, you will need both the distribution certificate and the matching provisioning profile installed on the machine doing the build.
If the distribution certificate isn't installed you won't be able to select it from the 'Code signing identity' build setting.
I was wondering: do I need an distribution certificate for my app, when I distribute it through HockeyApp?
I can't find any information about this.
Cheers.
You need an Ad-Hoc provisioning profile and a matching certificate.
See this Apple documentation with the section "Distributing Your App Using Ad Hoc Provisioning": https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html
Distributing Apps through HockeyApp is a way of shairing the development build. So you need to include the development provisional profile with the UDID of the devices in which the build is likely to be tested.
If you need information on adding more devices then you can refer the following link
http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/adding-new-devices-to-your-provisioning-profile
Thanks
Also, you can use Enterprise certificates, creating an in-house provisioning profile (instead of Ad-Hoc) attached to an enterprise certificate, with no need to manage device UDIDs in that case.
The bad thing is that you'll need an Enterprise account and it's more expensive than the Developer one, about 299$ / year, but allow to distribute without provisioning devices.
https://developer.apple.com/programs/enterprise/
When you use those certificates and provisioning profiles, in hockey App you'll see this information in the Overview -> Provisioning section,
I am having issues trying to achieve or even build a release build of an app I am working on. Whenever I try to build the app for release I get an error saying:
No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) were found.
I have the cert for this profile on my computer but in the Developer Portal I only have a certificate for development. Is this causing this error to occur? Do I need to have a Distribution cert to be able to build for release? Any help would be appreciated.
Note: I am a developer(team member) for a company so I do not have direct access to the Apple Developer Portal.
I know provisioning profiles are a pain :) This is what I do to stay organize and develop/distribute my projects:
The developer portal (not xcode) contains the most accurate source of profiles. For example, imagine you created a merchant certificate, turned on apple pay, and then generated a provisioning profile. Then let's say you decide you no longer want to use apple pay - the act of turning it off actually invalidates the provisioning profile. You will see a yellow "invalid" warning in the developer portal, but the provisioning profile may still be available in xcode! Really annoying. So I would always make sure that your provisioning profile is valid in the developer profile before distributing an app.
In the developer portal, always make sure you have two distribution profiles -- one ad hoc to use with testflight, and one to distribute to the apple store. You should also have one developer profile to build and debug your code.
Once you have your profiles set up, go into xcode and refresh the provisioning profiles as described here: https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html#//apple_ref/doc/uid/TP40012582-CH30-SW26. I.e. go to preferences, accounts, view details..., and click the refresh button on the bottom left hand corner.
Now that xcode's provisioning profiles are updated, you need to now code sign with the right profiles. To do so, go into your project settings, and go into build settings for both the project and the target. Under debug, select your iOS development certificate. Under release, select your iOS distribution certificate. Under provisioning profile, you will want to select your development profile just to build on your device and debug, your ad hoc distribution profile if you want to archive the project and send it via testflight, or your apple store distribution profile if you want to archive the project and submit it to the apple store.
A few things to note, is that when you are creating the provisioning profiles, you need to specify the certificate you are dealing with. So if you are creating one of the two distribution profiles, you will need to select your iOS distribution certificate. And when you select ad hoc distribution, will need to select the devices that you want to be able to distribute too. Testflight will help you register the devices that you want to distribute to, and once registered, you will be able to select those devices to add them to the provisioning profile. If the certificate you select in xcode was not used to generate the provisioning profile you selected in xcode, then you will probably get the error you mentioned. Think of the provisioning profile as the link from you as a developer (i.e. your certificate) and/or your devices to your app id (i.e. your project).
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