Is the distribution provisioning profile associated with the iPhone device? - iphone

I installed the distribution (for Appstore) provisioning profile in Xcode, but it doesn't show up under Devices, only the Developer provisioning profile shows up. I cannot "Build and Go" with the distribution provisioning profile in Xcode either, however, "Build" does work.
Is this the correct behavior?

That's right. You can only use this profile to build App Store builds. For your testing you need a development profile. The distribution provisioning profile has nothing to do with the devices you registered on the iPhone development site.

Related

iphone ipa file on device with developer provisioning file - will it be deployed on device in a different MAC machine

I am a beginner in iOS development. I have got some understanding on provisioning profiles in IOS. Please help me confirm my understanding.
Here is my scenario. iOS application developed on MAC1 with developer certificate1 and built using developer provisioning profile1 which includes UDID1 is deployed on device D1 with UDID1 successfully.
I add a new device D2 with UDID2 to my developer provisioning profile1 and built the app in MAC1 and generated an .ipa file.
I have a new MAC machine M2 where i try to connect device D2 and try to deploy the app on device D2. I copied the latest developer provisioning profile to the device.
Questions
1. Will the provisioning profile get installed successfully ?
2. Will i be able to deploy the .ipa file on device only with the developer provisioning profile and without developer certificate from a new MAC machine on to the device D2(UDID of this device is already added to developer provisioning profile)?
3. If i had used adhoc provisioning profile and followed the same above steps will i be able to use instruments in Xcode ?
Thanks.
UPDATE 1
3. Answer - If i use adhoc distribution profile, i could not use instruments in xcode.
No that's not how things work
!) certificates must exist on every computer and on every device you want to test
2) On ad-hoc you must add the devices and then sent them some profiles for the phones.
3) then you archive and codesign app and send it wherever you want to.
OR you can use something like that https://testflightapp.com/
Answer1 - YES, provisioning profile will be installed successfully.
Reason - Provisioning profile if included with the UDID of a device, it can be installed. No other dependancies. But in the Keychain access, you will get a warning telling that, valid identities are missing.
Answer2 - YES, we will be able to deploy the .ipa file on the Device D2. .ipa file internally has .app and the provisioning profile. We cannot deploy the app on device without developer certificate.
Answer3 - No, Distribution profile is for submitting apps in app store. Those apps cannot be debugged.
Adding to these answers, .dysm file helps developers to get more details while profiling. This .dysm file can be generated only with developer provisioning profile.
If anyone thinks my understanding is wrong in any aspect please add a comment. Thanks.

Failed to install iphone application for ad hoc

I followed the stepped to create a ad hoc carefully:
Added the testers team devices to the devices list in iOs Provisioning profile page
Created a new distribution profile for ad-hoc
In xcode I chose the project and clicked on product->archive.
I sent both the archive (ipa file) and mobile provision to the testers team.
The application failed to install.
I saw an answer of a developer to set in build settings the provisioning file to Code Signing Identities to the distribution profile here
In the list I can see only iOS Team Provisioning Profile that was created by xcode.
This is probably not the distribution profile.
What is missing? How can I set the build settings to the distribution ones?
In the IOS Provisioning Portal, in the Provisioning page, click the 'Download' button by your new distribution profile and it should get added to XCode.
To check you have it, go to XCode Organizer, Devices, then Library / Provisioning Profiles on the left.
You may also use https://testflightapp.com.
This is a free service and works very reliably - you can manage your testers and test ipa's easily.
First I also tried testing my app without such a service - but I ended up using this, since it's also very easy for the testers.
Create Distribution certificate and Provisioning profile.
You should have the Distribution certificate in key-chain.
Download Distribution Provisioning profile and double click on that profile.
Confirm you are having the profile in XCode -> Organizer.
In case the Add-Hoc deployment won't install on a testing device, and you have the device added to the profile, and the app signed correctly ...
Ok, what I did is to add an Entitlements.plist file and set the Can be debugged option to NO and set it on the target as the Code Signing Entitlements, but actually I don't know if this was the fix because I won't try again and again, now that it worked.
Then, actually I didn't archive the app and save the .ipa file from Organizer - Archives, but instead I've sent the .app file from the build/Release-iphoneos as it is, together with the profile downloaded from dev account. It will install in iTunes and it just worked, after couple of hours of frustration.

How to test the release build on device with Xcode 4.2?

I've just finished writing an update for my app, and now I want to submit it to the app store.
I've thoroughly tested it in debug mode on multiple devices, but I want to test it with the release build just to make sure nothing screws up.
In Xcode 4.0.2, when I wanted to test the release build (i.e. not distribute), I would just do the following
In the project settings, make sure that the release code signing is set to "iPhone Developer" not "iPhone Distribution"
Go to Edit scheme..., and change the Run scheme to Release instead of Debug.
Make sure my distribution provisioning profile is installed in Xcode
Run it on the device, make sure everything works.
If it all works, I would then distribute with the following:
Change the code signing to "iPhone Distribution"
Make sure the Archive scheme is set to Release
Archive
Submit
Now the problem is, with Xcode 4.2, I can't test the release build on my device. - When I build it with release to my iPod, I get an alert:
A valid provisioning profile for this executable was not found.
So, I checked my provisioning profiles under the main "Library" section of the Devices pane (all provisioning profiles), and I found my distribution profile there.
The problem is, the provisioning profile says "This profile cannot be installed on deivces".
So, if I can't use the distribution profile with a device - how am I supposed to test the release build?
I would appreciate any advice with this issue - sorry if there's something obvious I'm missing!
Ref: https://developer.apple.com/legacy/library/technotes/tn2250/_index.html#//apple_ref/doc/uid/DTS40009933
How do I confirm my Provisioning Profile is for App Store distribution?
You can confirm whether your provisioning profile is an App Store Distribution profile within the Xcode Organizer > Devices tab > Provisioning Profiles section under "Library"; single-click to select the particular provisioning profile and in the Header Pane, the "Devices" text will read "This profile cannot be installed on devices" if it is an App Store Provisioning Profile.
That means you would need to create another distribution profile for testing.

How can I find out why my "Ad Hoc" build for iPhone will not install?

Following the instructions at MusicalGeometry.com, I've archived and created the .ipa file. However, whenever I try to install it to my iPhone through iTunes, it gets about 3/4ths of the way done before it stops and tells me the app failed to install. How can I go about finding out why it failed to install?
I'm using xCode 4.2
Thanks~
EDIT
I am trying to install an app that I currently have on the market. I do have a valid developer account, and the app is code signed.
The first thing to check is whether the device you are trying to install to is added to a list of development devices in the Provisioning Portal.
Then please check if your device is in a list of devices your provisioning profile supports (Review your Ad Hoc profile in Provisioning Portal).
Here's how you can do it:
Go to Provisioning Portal, navigate to Provisioning -> Distribution
Edit your Ad Hoc profile and make sure your target devices are selected:
Do you have a paid developer account and is the app codesigned?

Provisioning profiles and xcode builds

I'm planning to distribute an application ad hoc for beta testing. I have created a provisioning profile for the distribution but it doesn't contain all the devices.
My question is if I need to rebuild the application in XCode if add more devices to the provisioning profile?
Or could I build the app once with the original provisioning profile and when more devices turn up just update and download the new profile file to distribute with the app?
I've done this in the past, and no-one has complained of an adhoc app not working.
It seems that iTunes checks the provisioning profile's ID against the one signed into the app, and if they match, then it's a green light. It doesn't appear to check whether or not the provisioning profiles are actually identical.
So you should be able to build with the current provisioning profile, and then when new devices are added, send them the app bundled with the new provisioning profile.