difference between normal profile and provisioning profile iOS - ios

I would like to know the difference between a normal iOS profile (configuration profiles, restriction profiles etc) and a provisioning profile. This is in relation to using the MDM profile commands. There are commands to install/remove a profile and there are commands for install/remove provisioning profile.
What is the difference?
Thank you

A provisioning profile is a profile that contains information about the app's signature. It is really only required in early versions of iOS 5 where you can not install an .ipa without first installing the provisioning profile. Starting late iOS 5, Apple introduced a feature where the XCode bundles the embedded.mobileprovision file into the .ipa so modern MDM servers can skip this.

Related

Noob stuck in App Store Distribution upload

I'm a novice Flutter developer. I just completed my first app. I've managed to get it published to the Google Play Store internal testing process. I'm attempting the same for iOS and macOS and TestFlight but I'm getting stuck when I try to upload for Distribution. The error is a mismatch in the code signed versus the provisioning profile. I've retraced and retried my steps multiple times, but I'm stuck.
Anyone willing to help me?
Thanks in advance,
JT
If you get this error, you probably don't have the correct type of Provisioning Profile. There's a few types of Provisioning Profiles, most notably are the "Development" and "Distribution" profiles. I suggest looking at your provisioning profiles, and if necessary recreate them.
To elaborate: You have 1 Certificate (created via Xcode Certificate Generating). With this Certificate, you can create an "App Identifier", and Provisioning Profiles. You can use the same Certificate for both a Developer Provisioning Profile and a Distribution Provisioning Profile. They don't work with one another, meaning a Developer Provisioning Profile won't work for a release build, and a Distribution Provisioning Profile won't work for a debugg build.
Try this, and see if that helps. Be sure to haul the new profiles in Xcode (or any other method you'd use) and edit your project's settings.
Error Code-90161 Invalid provisioning profile

Distributing IPA file with App-store signing

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.

What is the Team Provisioning I have from scratch?

I understand the provisioning profiles something like this: a provisioning profile contains signing identity information, and used to sign an application code. I can develop an application using simulators without any provisioning profiles. To run and test an application on real devices, I need at least development provisioning profile. These profiles should be generated in Apple Developer Portal and then downloaded to use them locally with Xcode. Currently Xcode itself is responsible for generating and downloading profiles, and Xcode does it automatically. There are also distribution provisioning profiles Ad-Hoc and AppStore.
But I'm confused by so-called "Team Provisioning Profile" used to sign the application in Xcode by default. It appears automatically and allows me to install application on the real devices, so I understand it as an automatically generated development provisioning profile. But I can't see any corresponding iOS-development provisioning profile in the Apple Developer console.
My question is: What is the Team Provisioning Profile then? If it's kind of Development Provisioning, why can't I see it on Apple Developer console?
Team : - A kind of Development profile that’s managed by Xcode. Xcode automatically adds everyone’s cert to it and all UDIDs from devices as well.
What is the Team Provisioning Profile then?
To save you time, Xcode creates and manages a type of development provisioning profile, called a team provisioning profile, for you. The team provisioning profile allows all your apps to be signed and run by all team members on all your team’s devices. For an individual, the team provisioning profile allows all your apps to run on all your devices. Xcode also performs configuration steps for each app service you enable that requires some type of provisioning. Although Xcode simplifies this process, it helps to understand your code signing and provisioning assets and to know where they reside.
If it's kind of Development Provisioning, why can't I see it on Apple Developer console?
Xcode creates a team provisioning profile and its components as needed in your developer account. Xcode requests a development certificate for you if it’s missing. The development certificate is used in the team provisioning profile to identify you. A device must be registered to create a provisioning profile, so Xcode may ask you to connect an iOS or tvOS device. For Mac apps, Xcode automatically registers the Mac that is running Xcode.that's why you can't see it on Apple Developer console
More check this : apple doc

Cannot install ipa on device

I have signed a code with a distribution provisioning profile but when I generated the ipa in XCode 5.1 (Save for Enterprise/Adhoc Deployment), the app does not install in my device. I have checked that the distribution profile is properly aligned to the production certificate that is installed in my Macbook. Any reasons or solutions so that I can install my app? Thanks!
Make sure you are using Adhoc Distribution Provisioning Profile, not AppStore Distribution Provisioning Profile. AppStore Distribution Profile is required to distribute app from App Store, in your case you need to do following things in your Developer Account.
Add your Device in Devices List.
Create an Adhoc Distribution Provisioning Profile.
Select and check all the Devices listed.
Sign with the Distribution Certificate, and Adhoc Profile.
Create Adhoc Build, create IPA, and install.
Visit Apple Doc for more information.
Hope it helps.
Cheers.

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:

Resources