How testflight is resigning with new mobile provisioning profile with out certificate? - ios

I am amazed with test flight, how they do resign with new mobile provisioning profile with out certificate.
I tried for resign commands and I got this.
Resigning an iOS provisioning profile
here we need to point certificate in the command. But, I am sure I did not upload certificate file to test flight. Then how they are resigning .ipa file.
any trick/tip please tell me.

There is absolutely no need to resign the application. Application are signed by certificates. Provisional profile is having a list of certificates for which it can allow the permissions for selected devices. You can check it on portal by creating a new provisional profile. You will need to check the certificates.
Now when you want to add new UDIDs, you can just update the provisional profile(PP). Because the PP is already having the reference of the certificate which is used to sign the binary. So there is no need to re-sign the binary.
In short, if you have given a binary to client and he tells to add one more device UDID, no need to generate new binary. Just provide new PP and he will able to install the binary.

Related

How to enable iOS capabilities from xarchive?

So when providing a build to a client we archive it with our key and provisioning profile and they then resign it again with their key. But then how do we enable iOS Push Notifications Capabilities as we can't create the archive for the bundle ID with our keys after enabling the capability.
Thanks
I'm afraid you're out of luck. When you use entitlements in your app you have to use the proper Bundle-Id, Certificate and Provisioning Profile when archiving. We had the same problem and the only solution was to use proper Development Signing.
By that I mean:
Ask your client to give you access to his Developer Portal. They only need to give you the 'Member' Role. With that you can create your own Development Certificate, and you can download existing Provisioning Profiles, but you can't do much more than that.
Create your own Development Certificate.
Ask your client to generate a Development Provisioning Profile for the app in question and have your Development Certificate included. This Provisioning Profile also needs to include the Push Notification Capability.
Install the Certificate and the Provisioning Profile on your machine or CI server and set up the Xcode Project to use these for signing.
Don't forget to use the final Bundle-Id now.
Archive your app. You'll get a development-signed Xcarchive which includes all Entitlements / Capabilities.
Now you can transfer this Xcarchive to your client. They will need to re-sign it with their Distribution Certificate and Provisioning Profile and can then upload to the AppStore.

What is the purpose of a distribution certificate in ios

Im a web tester but recently i was assigned to mobile testing. The ios devs gave me two files, a .p12 file and a provisioning profile file. My question is what is the purpose of the .p12 file? When I go to xcode, they only ask me to input the provisioning profile in the signing field (but I added the .p12 file to my keychain as I was told). So my question is, what was the purpose of that .p12 file and why do I need to have it installed into my keychain when in Xcode it only asked me for the provisioning profile and I can now build the app and test it?
The .p12 file is the encrypted certificate used to generate the provisioning profile. This ensures that you are allowed to use the provisioning profile, and the provisioning profile is how the system knows what users are or are not allowed to run your app (or in the case of distribution, who's allowed to distribute the app).
More info on all this here: https://support.magplus.com/hc/en-us/articles/203808748-iOS-Creating-a-Distribution-Certificate-and-p12-File

provisioning profile got expire

My provisioning profile got expire today, Now customer is not able to launch the app in there device.I have regenerate the provisioning profile , Still customer cant launch the app , Do I have to make a new build again? I did not upload the app to the appstore, user downloaded it from the internal link.
yeah, with new provisioning profile you have to generate new build or ipa, and then register device with this provisioning profile can install your application.
Yes,You need to create a new provisioning profile, then build a new IPA using it. So all the registered device will be able to install an app.
The provisioning profile is shipped along with your app if you do this with the app ipa - Rename ipa to zip and Unzip - you will see inside the Payload an app file - right click to see contents and you will see the provisioning profile.
Thats the reason why you have to resign the app with new provisioning profile and upload it.
Also check this if you want to resign with a different certificate
How to re-sign the ipa file?

iOS: sign app for inhouse distribution with a customers provisoning profile

i'm having some troubles to code sign an app for in-house distribution. The customer got an iOS Enterprise Developer Account and set up a provisioning profile. However i don't know how to sign the app and if there are any prerequisites that have to be met.
Currently during the development the app is signed with via a profile of my company (the team my Apple-ID is in). Testing devices are added via UDID to this profile. The next step would be to use the customers Provisioning Profile and Certificate to build the app for in-house distribution. I have the respective files but somehow i'm stuck. When i try to bring the certificate or provisioning profile in i'm getting code signing errors.
Can anyone help me with the steps i have to take?
If that provisioning profile crated by there system (Client Mac) and you want to use this provisioning in to you system you just need to its system cer.p12 file and double click on it that instal in to you key-chain. Than you can use its provisioning from you system. No need to other stuff.
just tel the client for sending its cer .p12 file like Go to keyChain and select cer that appear in to there system keychain.
Just right click on that particular cer that pop-up appear like bellow screenshot:
select Export Option and save. now Just you need this .p12 file in to you system.
You have to use the enterprise account to generate p12, and then use p12 to generate the description file, so that you can sign the app.If you really don't understand.i can help you with the steps you have to take. Give me your email.
I will send you a software, I think this can help you

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