I just added a new device to the provisioning portal, generated certificate, mobileprovision, etc. My keychain has the certificate in it, my device has the app's profile on it, and there's a green checkmark underneath Status. In the build status tab of the project underneath Code Signing Identity both Debug and Release say "currently matches [my information]". However, when I try to run the app on my phone I get "A valid provisioning profile for this executable was not found."
Extra information that may or may not be relevant: The app was running in the simulator but when I tried to build it for the iPhone I got the Mach-O linker problem with armv7 architecture because I hadn't linked the necessary frameworks. So I created a new target and added the appropriate files. This target does say that my Code Signing Identity matches, and it's where I got the bundle identifier to generate the provisioning.
I have tried cleaning and building again.
Possible solutions:
Sometimes there may be two different provisioning profiles with same names in Xcode for different AppIDs. Windows/Organizer(Shift+Cmd+2)/Library/Provisioning Profiles/. Check if you use the correct one.
In Apple Developer Portal and Organizer check, if your provisioning profile is not expired.
Check, if the provisioning profile has proper AppID or WildCard AppID. Check if it matches to the Bundle ID in Info-Plist of your project. Check also Device IDs.
Did you use the same Mac before? The certificate, that is used in Provisioning Profile creation is bound to the Mac. Try to completely recreate it on your Mac or get a key file from other Mac for that certificate.
I ended up deleting all of the provisioning profiles and certificates on my computer, invalidating my cert on apple, and then requesting and creating a new one. Now everything works.
Related
I'm getting the following error message from Xcode 9 GM when trying to do an Ad Hoc distribution export of an iOS app archive from the Organizer.
Profile doesn't match the entitlement file's value for the
application-identifier entitlement.
The bundle identifier and the App ID do match. I never got this message for the same project with Xcode 8. So where is the new mismatch? Something I need to do in Xcode? Or is there some new setting when creating an App ID or Ad Hoc distribution provisioning profile in iTunes Connect?
The mismatch is in the provisioning profile being used. I can't tell you why, but the entitlements are being extracted from your provisioning profile during signing, based on the portal appID that profile was created from. There's a mismatch between the bundle ID of the target you built and the bundle ID of the portal's appID record that the signing provisioning profile was created with.
First, make sure that the profile is the one you're meaning to use (the AdHoc Distribution provProf for a portal appID that matches the bundle ID of your target, and if that looks right, consider regenerating the AdHoc provisioning profile and installing it using the Xcode>Preferences >Accounts "Download Manual Profiles" option.
Sometimes Xcode will get confused if you have old versions of provisioning profiles installed, and I've even seen times in the past where a wild card profile was matching instead of the intended one. So, there could be some Xcode confusion around the installed provProfs. The fact that you had no issues with Xcode 8 but do with Xcode 9 might explain that. Changes in Xcode can cause changes in behavior.
If regenerating the provProf and installing it doesn't help, I'd suggest deleting all of your installed mobile provProfs and then reinstalling them. To delete them, open a terminal window and enter
rm ~/Library/MobileDevice/"Provisioning Profiles"/*.mobileprovision
Then go back to the Xcode>Preferences>Accounts and do the "Download Manual Profiles" option to install them again. If it still doesn't work, you're missing something. See the debugging tip below.
Focus on the appID's bundle ID in the Dev portal, the bundle ID of your target, and the provisioning profile you're signing with (making sure it's for an AdHoc build of that appID). At least one of those isn't matching up.
One last debugging tip. Drag the provisioning profile you're signing with to TextEdit (I keep that in my dock for pretty much this reason.) TextEdit will display the information in the provProf, so you can check the entitlements and make sure they match what you're expecting.
Hopefully that's enough to sort this out.
Same issue appeared to me with both Jenkins and my local machine.
Not sure how it got fixed, but below one did the trick.
1: Navigated to build flavour in Target > General
2: Changed the provisioning profile to something else in that build flavour and archived.
3: Then selected back the actual provisioning profile. It worked like a charm.
Might not help in your case, but it worked for me.
I'm trying to develop my first iOS App on my mac (OS 10.8), the application contains a push notification service. I followed the below steps to create my App ID:
Give a name to the APP ID
Set the Bundle ID.
Check the Push Notification checkbox
Create App ID
Generate a certificate, by uploading the request created by key chain access, then downloading and installing it on key chain access, exporting into .p12 file.
Create Provision Profile, Download and install on my Xcode organiser (XCode 4 updated version) and on my device to test.
The project work well on the simulator (except get the token and that's normal). However when installing the provisioning profile on the Xcode Organizer it gave me :"valid identity is not found".
Checked and tested Many Solutions:
Delete Cert from Dev Center and Key Chain Access.
Delete Provision profile recreate it.
Install provision profile directly from Xcode.
Delete Created Keys from key chain and create new ones.
Many suggestion has been provided:
Your Keychain is missing the private key associated with your iPhone Developer or iPhone Distribution certificate.
Your Keychain is missing the Apple Worldwide Developer Relations Intermediate Certificate.
Your certificate was revoked or has expired.
Online Certificate Status Protocol (OCSP) or Certificate Revocation List (CRL) are turned on in Keychain Access preferences
None of the above fixed the problem.
Would you please provide a solution for this problem and thank you in advanced.
i had discover my problem. i work in a company and there is my partner have generate the developpements certificate on his own mac. i work on a different mac. so what i need, he must export the key and the certificate from his key chain access and give it to me.
that's it.
beginner's problem :d
First of all make sure your Bundle Identifier match with the bundle Identifier included in the provisioning profile. And you have correctly added your iPhone's UDID to the developer account under devices and then add the bundle identifier and device to the provisional profile. Also make sure you have requested the certificate from your own Mac and then installed the certificate after downloading it from the developer account. And there will be a key under your certificate.
Many things may go wrong, so simply try these steps, even if you've done them before.
Make sure your Bundle identifier is the same at both in Xcode and in iTunes Connect, it's a good practice to fill it manually instead of Xcode's template, as it IS case-sensitive.
Check that your testing device's UDID is listed on the Devices list at developer.apple.com.
Create a new provisioning profile with a new unique name, for your app's bundle ID, make sure, again, that it's the same bundle ID (case sensitive) and make sure you have your newly-added device UDID (or the existing one if you had it correct before) in on the provisioning profile. Take a note of the developer certificate that the provisioning profile is bound to.
Download the newly created provisioning profile AND the development certificate that the provisioning profile is for. Clean your project's build folder (open Product menu from the menu bar, press and hold down the option button on your keyboard, and select 'Clean Build Folder...', exit Xcode.
Open both your provisioning profile and certificate. One should open in Xcode, the latter, in Keychain access.
In Keychain access, make sure you have the private key to your non-expired, non-revoked developer certificate. (if not, you need to either find its private key (e.g. in another keychain or in another Mac. It should be on the Mac that the CSR is created on, or if none are available, revoke it and create a new certificate, and start over this process)
In Xcode, make sure you are using the provisioning profile, NOT overriding it (e.g. you've selected a different value under 'Debug' or 'Release' options by mistake).
In Xcode, make sure you are using the correct development certificate (the one that is bound to the provisioning profile) and not overriding it under Code-signing identity section's Debug or Release, or in 'Any iOS SDK' sub-item underneath them. If everything worked, Xcode should offer you the correct certificate for your provisioning profile.
Your project should build. Seriously, I can't think of anything else.
I am using Xcode 4.6.3.
I am getting this error messages while running the application in iPad,But first it was running correctly. Now we have renewed our license so i have changed certificate and
profile.still the same error appears
Please help me...
you need to follow this step:-
You Provisioning profile Generate with developer certificate from iTunes dev center.
remove old install App from device may be you Ipad contain old profile reference.
After connect your device to Xcode-Organizer->device->yuorIpad->Provisioning--check there old Provisioning profile is ther or not. if there then remove it.
In your target And Project check-> your Identifier is currect or not for example com.yourprofile.yourId
In Build setting you->code signing ->selection profile is correct identifier or not
Now just clean your Project. Build and run.
EDIT
Do not forget to Adding New testing Device ID into your new Generate Provisioning profile. in iTunes Dev there is Column to adding Device and also asking Device while you Generate Provisioning profile. May be you forget this step.
be sure that you are generating provisioning profile after adding device, or when you're just renewing profile.
And your provisioning profile must be linked with certificate, that you have in keychain.
(certificate+key)
All devices must be readded on demand, after renewing dev program (!)
In general, It's pretty sraightforward (just try it from the clean sheet, delete all the old stuff)
1) cert signing request
2) appid (if new app, if old just skip, optional - apns stuff)
3) certificates dev/distr (import them)
4) devices
5) provisioning profiles (import them)
in xcode choose in all positions needed profile, sometimes choosing parent option do not change profile for all fields of "Signing Identity" in xcode.
Deleting of old provisioning profiles is optional, it's not a problem when you have many of them
it's only problem when signing identities are more then one, ie: old expired and new one.
(In xcode 5 it will be easier to choose identity)
EDIT: it really seems like in build settings in code signing identity select options (some option) an old profile is chosen, and xcode gives this error.
I'm encountering the errors:
No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) were found.
and:
CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 7.0'
XCode isn't giving me any option other than "Automatic iOS Developer and Distribution" options in the 'Code Signing' area of the 'Build Settings'.
I've tried changing the bundle id to match the certificates exactly, as well as a more generic com.domain.appname ID, I've deleted and recreated the provisioning profiles - I'm really lost, it feels like it should be something really simply but I can't get my certificates to show in the settings.
I was shocked when having the same problem and reading some answers here, too complicated. But I solved this much much simpler.
Open Keychain Access. Delete iPhone Developer and iPhone Distribution certificates, although they are still valid.
Open Apple Developer Centre. Download iOS Development and iOS Distribution certificates again. Yes, I download them again as they are written as XXXX-1.cer
Drag them to Keychain Access to reimport them.
Rerun XCode. Problem solved.
The first thing I would check is that your Cert in Keychain Access is present and is married up to your private key. If it's listed but your private key isn't paired with it you've likely changed your Mac's password recently and instead of pressing "Update Keychain" you may have clicked on "New Keychain". This will require performing the CSR process again and adding that new cert from the portal to the existing prov profiles. (A screenshot here may help).
Next I would make sure that XCode's Organizer is showing your provisioning profiles as valid with a green checkmark. If they aren't valid XCode will tell you why. This could be anything from the missing private key to your cert wasn't added to the profile in the dev portal. (Another screenshot here may help).
If all of that looks good restart XCode. I've had problems with XCode not properly importing prov profiles until I give it a swift kick in the pants via restart.
What worked for me was to create a new iOS Provisioning Profile in apple portal then download and add it to the Organizer in XCode , my scenario was that I was importing the project from another user account and when Titanium was compiling the project had the iOS Provisioning Profile associated from the other user account therefore was crashing, so when I was ready to compile in the Run on iOS Device dialog I changed the Provisioning profile to the new one.
As it has been stated before, you need to see the green button (valid profile) in the Provisioning Profiles for your device .
Good luck! it took me two days to fix this!
Ren#ud
As soon as I check "Use Entitlements File" in Xcode, I get the following error when I try to run my app on my phone:
The executable was signed with invalid entitlements.
The entitlements specified in your application’s Code Signing Entitlements
file do not match those specified in your provisioning profile.
I'm trying to get iCloud working, and it seems like I'm failing on step 1. I can run in the emulator, but not in the device I provisioned automatically through the organizer.
What am I doing incorrectly here?
First of all, you need to have specific provisioning for your App's ID, matching its bundle ID. Even if it's only for development, generic Team Provisioning cannot work to test iCloud.
If the App ID had been issued without iCloud enabled, and updated afterward, related Provisioning must be updated also.
Often, provisioning updating from Xcode's organizer fails to bring the right one. In this case, I suggest you to try to download updated provisioning directly from iOS Developer Website.
In my case, I have added inter-app capability in my iOS project and Xcode automatically suggested to add this permission in the app id (bundle id) in the provisioning portal and I did so. After this
I thought it was fixed since Xcode was showing tick marks for all under inter-app audio sections as follows
Add the "Inter-App-Audio" entitlement to your APP ID
Add the "Inter-App-Audio" entitlement to your entitlements file
Link AudioToolbox.framework.
Actually it was not fixed and I had to generate another distribution certificate with inter-app enabled and only when I signed with that distribution certificate I was able to install the app.
You Need to have Developer Certificate And Private Key in your keychain And Provision profile that have created must match with this Certificate.