Do I need certificates for each app? - xcode

I have read about it so much and i couldn't find a specific direct answer.
Each app must have its provisioning for development and distribution. The provisioning is using the certificates I already have.
Do I need to create a new certificate(dev/distribute) for each new app, and connect the provisioning to that specific certificate?
Do I need to create the certificates for dev/distribution and connect them to the provisioning dev/distribution?
I have read about it here, and it wasn't clear to me: iOS Developer Library: Creating Your Signing Certificates

As a developer, you create a single Development certificate. You can create many development profiles (one dev profile per app) that use this certificate.
The same principle applies to Distribution certificates (single certificate, multiple profiles), however you only have one Distribution certificate per iOS Development account (not per developer).

Related

iOS device won't allow to open the app with distribution certificate not expired nor revoked

Our enterprise app was distributed through Fabric Crashlytics Beta but after a year the app won't open from the device. When you tap the icon it will just close. It can't be download also.
The distribution certificate was not expired nor revoked.
And releasing a build with a new generated certificate fixed the issue but the cause is still unknown.
The certificate is valid for 3 years, but the provisioning profile you used to build the app with is valid for 1 year at most. You can push a new provisioning profile to the devices without having to re-build the app, but without a non-expired provisioning profile that is valid for the app's bundle ID and the certificate used to sign it, the app will refuse to run.
Long story short, if you are doing enterprise distributions, you will need to push out a provisioning profile (either through mobile device management [MDM] or by building the app again with a new provisioning profile [the profile is bundled with the ipa when you package the app]) at least once a year. Then once every 3 years, you will need to get a new certificate, generate a new profile for that certificate, and build and deploy a new binary that has been signed with the new cert.

Signing and Deploying Windows app (appxbundle)

We have build an Windows native app (aapxbundle). We want to ship to a customer.
The certificates used in my company are owned by my company and customer has different set of certificates.
When we ship the appxbundle file it is already signed by our certificate. And hence customer is not able to install it because our certificate is not installed on their device.
What is recommended way to achieve such signing and deployment ?
Regards, Ashwani Kr Sharma
You can send your certificate to customer. The customer can add your certificate as trusted on computer/network/domain.
You can buy certificate (Verisign, for example) and sign your program using it.

Test application on iPod with Xcode?

How can I put my incomplete application on my iPod before I publish it on the appstore? So I want to test it on my iPod.
This requires a provisioning profile and developer identity. These things are available via the provisioning portal and requires a paid developer program membership.
You must generate an identity (by means of a certificate, and signing request) with keychain, and use the provisioning portal to upload the CSR and get a signed certificate matched to the identity. With this identity downloaded and installed, you'll use it to sign your binaries.
Applications have a unique bundle identifier. Using the provisioning portal, you must create a development provisioning profile associated with your device ID(s). Download and install the provisioning portal, and you should be set to build and run on your device.
The provisioning portal has concise steps to walk you through this process..
developer.apple.com/ios/manage/overview/index.action
You have to have a provisioning profile and if you do you have to do some things in the account which you then put in xcode and transport it to the iPhone

Code signing on multiple computers

I use 2 machines for developing a Mac application. I just submitted my app to the app store from my desktop (generating and using the appropriate certificates from Apple for code signing).
I exported and installed the certificates on my laptop so that they show up in the keychain but, yet, I'm unable to build my app on my laptop because of the following error:
Check dependencies
[BEROR]Code Sign error: The identity '3rd Party Mac Developer Application' doesn't match any valid certificate/private key pair in the default keychain
Is there any way to use the same certificates for code signing on more than 1 machine?
Yes, I use multiple computers and the same certificates all the time.
You need to also make sure you have the private keys imported into your keychains.

XCode does not want to use my Developer Certificate since I have used my Distribution Certificate !

I have just uploaded an app to the App Store. For this purpose, I used the Distribution Certificate.
Since then, I cannot switch back to my Developer Certificate when trying to sign the code. I only do Project Settings > Code Signing. My Developer Certificate is visible but when signing it does not show up. XCode only uses the Distribution one.
Did you face the same issue ?
Of course, I am going to try to generate a new project... Those tools drive me crazy.
Apple92
Try changing the active scheme to debug rather than distribution.

Resources