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

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.

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.

iOS how to add a provisioning profile

I am using Xcode Version 8.3.3 (8E3004b). I have an app developed that I would like to deploy to Apple's App Store.
In order to Archive and deploy, I understand I first need a provisioning profile. So, in the developer console, I set up an iOS Distribution Provisioning Profile.
I also have the following certificates:
On my MacBook, I added the following certificates to the key chain:
Then when I go to Xcode, I would expect to have a Provisioning Profile:
But as you can see, it Failed to create provisioning profile and No profiles for 'com.ionicframework.thewhozoo912107' were found.
I am obviously missing some step in order to create the Provisioning Profile in order to distribute the app to the Apple App Store.
Question
If anyone can suggest what I need to do in order to create a working provisioning profile in order to distribute the app, I would appreciate the help.
More info:
Solution:
I fixed this in Xcode by unchecking Automatically Manage Signing, and then selecting my provisioning profile.
I had that problem as well when I was developing my first app. It took a while, since I managed it. Try to plug your iOS device in your computer and then it should work.

How can i change between developer and distribution signing identites xcode?

I have submitted an app to the app store. When i did this i was developing my app with a developer signing identity, then i created a distribution signing identity but i couldnt get xcode to use the distribution identity, so i deleted the developer identity and set only the distribution. Now i want to do things right, so i managed to import both identities in xcode and i can see them in xcode -> preferences -> view details
What's next? how do i generate the binary to upload it to the itunes connect using the distribution identity? Any tips about uploading an app to the app store will be helpful.
If you are confirmed the provisioning certificates are correct for both the development and production, you will have to set the correct Code Signing Identity and Provisioning Profile under the Built Settings for both Project and Target.
Debug -> Development
Release -> Production
This way, when you are developing and you run the project directly from XCode to your device, it will be using the development certificate. If you achieve it and extract to IPA. Then, it will be using the production certificate.
If you have a third certificate (Ad-Hoc Production) for beta testers, you may interchange that under the release with distribution certificate.
See the screen shot below.
Follow steps:
First create distribution provision certificate with valid bundle identifier on apple account(For this you should have the main distribution certificate).
Download and double click on certificate.
Then give bundle identifier name which you used while creating certificate in plist.
in Code signing select certificate of distribution
Clean build and archive it.
validate with iTunes and create ipa. then upload build using application loader on App Store.
Hope this will help. This is the common procedure of creating certificate, .ipa and uploading build.

Problems validating iOS App build

I'm working with a developer to create an iOS App for a client. I created my certificates, provisioning profiles, etc, and then sent it to the developer to build the App. They have then sent me back the build as an .xarchive file, which I have loaded up into Xcode.
On the Archives tab, I then go to validate it, but the developer certificate I created in iTunes connect is invalid.
I created both my developer and distribution signature inside the same iTunes Connect account, and they're both loaded up in Keychain along with my WWDR certificate.
Make sure you downloaded and dragged your provisioning files to XCode as well.
When producing a build using a Distribution Certificate you need to make sure that you have a properly generated Distribution Certificate in the iOS Provisioning Portal. Select the Certificates -> Distribution tab and make sure you have a distribution certificate listed. If there is one and you do not have the original private key on your machine, you will need to obtain the private/public key pair from the original machine, or revoke and recreate the certificate.
Also, make sure you have created a Distribution provisioning profile and that it is being used in conjunction with this Distribution Certificate.
Also, check to be sure you have a distribution provisioning profile for your app for app store.
Other problems include the App ID differing from the Bundle Identifier and it has trouble associating it with the provisioning profile. Most commonly when the Bundle Identifier is derived from the ProductName and the case of the characters doesn't match the case of the characters in the App ID on the provisioning portal.
You can get around this by typing in the bundle identifier into the AppName-info.plist file.
I finally worked it out! I had the right certificates, but had only created a development provisioning profile. I created this in iTunes Connect and then it worked perfectly. Hope this helps someone else who has a similar problem.
Easiest way to ensure you have everything I needed is to remember that you need separate certificates and provisioning profiles for development and distribution. They can all be created in iTunes Connect, and you just need to download them and run the file to ensure Xcode finds them.

Resources