Distributing IPA file with App-store signing - ios

So I'm not using enterprise distribution profile to archive and export my project into IPA file.
I am using a valid distribution certificate though.
On XCode organizer I've made sure that everything is valid by clicking on the validate button for my particular archive before exporting it using the exact same distribution certificate and distribution provisioning profile. Also, I've made sure that I checked App Store as the method of distribution.
So I assumed everything checked out, then I distributed the IPA through diawi.
This is what I used to distribute my development IPA at the early stage of this project. However, upon opening the diawi link, installation just failed on my device saying "Unable to download" every single time.
Now I'm just wondering is it not at all possible to distribute through diawi if I'm not using enterprise distribution profile to build the ipa itself?
Or am I building it the wrong way for the intended purpose?
I'm very new to this whole Apple environment so not sure if I'm understanding the process correctly. I'm developing this from a react native project in case you need to know.
Thanks in advance for any pointers! :D
EDIT:
There seems to be confusion in the answers so far. Just to clarify, I'm NOT using enterprise distribution profile nor I am using development provisioning profile. So adding UDID to the provisioning profile is not an option. The case I'm asking about is for ipa signed with app store distribution provisioning profile which I'm trying to share using diawi. It doesn't seem to be possible to distribute ipa signed this way with diawi based on my research, but I just wanna be extra sure. Sorry for the confusion. :)

You need to have the UDID of downloading device added to the provisional profile. Login to your apple developer account and check if the device is added or no. If not add that device and then update the provisional profile by selecting that new UDID. Download the updated profile and the build.

Turns out it's true that diawi can only distribute in-house apps (signed using enterprise program account) and development provisioning profile signed apps.
The reason what I'm trying to do is not working (not installing through diawi) is because I'm trying to distribute an app signed with classic apple account's distribution provisioning profile instead of development provisioning profile
As far as I my googling went yesterday, apps signed with distribution provisioning profile under classic account is only distributable through app store or test flight.
Let me know if I miss anything.

Related

Certificates and provisioning Profile confusion Xcode

I have a bit of confusion about the whole certificate and Provisioning Profile file system.
I finally started to look into beta testing my app, and I'm trying Firebase App distribution but I'm not succeeding, my friends can't download my app..
The first time I exported the .ipa as Developer, and after adding this device UUIDs to my devices in my dev account I re exported the .ipa that now should run on their devices.. It still doesn't.
So I realised that I should have use "adHoc" instead of "Developer" so I did go through the archiving again and this time it asked me to create a distribution certificate which I then downloaded (a .p12 file and a .cer file)..
Now my doubt is:
In Xcode preferences/account I can see both the developer and the distribution certificates, but the project's Provisioning Profile says 1 certificate, meaning only the developer one right?
Can it be the reason why my testers (friends for now) can't download the app?
What should I do to use an update profile? In my dev account there is no profiles generated..
Where I'm mistaking in the whole process?
As always thank you very much for you time and help.

A Distribution Provisioning profile should be used when submitting apps to the App Store

I'm trying to upload the IPA to Itunnes using altool, but I have an entitlement issue:
A Distribution Provisioning profile should be used when submitting apps to the App Store
I have the same configuration in project and tarjet, with automatic manage signing enabled:
I have tried these, but no luck:
https://stackoverflow.com/a/7254249/5677589
Entitlements Do Not Match: Provisioning Profile Issue
No need to make it iOS Distribution keep it similar to iOS Developer
Check you have added correct account. Check bundle identifier same you have used in your provisioning profile.
Try Archive. It would work!!
I came across this question after struggling to get Fastlane to upload my apps to TestFlight. I solved it by using the appstore Match certificate and profile instead of the development one.
I think development should only be used locally.

IPA file for testing purpose

I am able to archive the project but it is asking for options like Save for Ad-hoc deployment. I have to deliver the IPA to my client and I have their .p12 file, developer certificate and provisioning profile.
What should I fill in the Ad- hoc deployment credentials?
Can I use mine account credentials? I dont have their credentials.
In Xcode 6, it looks like it will automatically go and generate the provisioning profiles for you, based on the account. Best solution at this time appears to be installing Xcode 5.1.1 and using that Organizer version.
Check out this question here: Xcode 6 - How to pick signing certificate/provisioning profile for Ad-Hoc distribution?

iOS Enterprise program: not able to install IPA file created using in-house provisioning profile on one of our device

We are using iOS enterprise account for distributing our iOS app. We are using the in-house distribution scheme of enterprise program.
As far as my knowledge, we don't need to install the in-house provisioning profile in the targeted device. Also, I believe that we don't need to add the device UDID in iOS portal since it's an enterprise account. Please correct my last two statements if my knowledge is wrong.
I am creating the IPA file using the in-house provisioning profile only. But while installing the same on one of our devices (iPhone 5s), I am getting below error.
"**A valid provisioning profile for this executable was not found.**"
I tried to install the same IPA file on another device (iPhone 4s). I have not installed the distribution provisioning profile in that device also. And it's working fine there. So only I concluded that We don't need to install any provisioning profile on the device in case of iOS enterprise program.
Below is my provisioning profile from enterprise account which I am using.
I am not sure why this is happening. Please help me and let me know if I am missing something.
You have to use a provisioning profile that is set for distribution. This profile needs to be using a certificate that is installed on the Mac you want to create the archive from. The profile gets installed along with the application.
You do not have to have the device added to the portal (only development devices need to be added).
One note - the profile will expire yearly. You will have to publish at least one update every year to include an updated and renewed provisioning profile.
Here's some screenshots:
Keychain Access:
Build Settings (Xcode):
Archive:

How can I deliver an iOS app IPA to a customer to be signed with their own Enterprise provisioning profile

We have developed an iOS app that has been delivered to the customer as an IPA with an ad-hoc distribution profile that allowed a set of their employees to install it on their devices. The customer now wishes to distribute that app internally to all their employees using their iOS Enterprise Developer program credentials.
I had hoped that the customer could simply re-codesign the ad-hoc IPA with their own enterprise identity. However, they say they can't do that. They say they "need an IPA file with the removal of the limitation to only certain devices".
So, what do I do?
Do I need to somehow create an "unsigned" IPA for them? (And if so, how do I do that?)
Do I need them to generate an Enterprise distribution provisioning profile for me so I can build the app with that profile?
Do I need to just send them the source or build output and let them build the package?
I have looked at the following documents, but they have not enlightened me:
TN2250: iOS code Signing Setup, Process, and Troubleshooting
Distributing Enterprise Apps for iOS Devices
It's completely possible to take any IPA and resign it with your own details, modifying the Info.plist, bundle ID, etc. in the process. I do this all the time with IPAs that have been signed by other developers using their own provisioning profiles and signing identities.
If they aren't familiar with the codesign command line tool and all the details of replacing embedded.mobileprovision files and entitlements, the easiest way for them to do this is for you to "Archive" the app via Xcode, and send them the generated archive file (*.xcarchive).
They can import that into Xcode so it is visible in the Organizer, and from there they can choose "Distribute" and sign it with their enterprise identity.
To import the .xcarchive file into Xcode, they just need to copy the file into the ~/Library/Developer/Xcode/Archives directory and it should appear in the Xcode organizer. Then they click "Distribute" and follow the instructions:

Resources