Provisioning, certificate, error from debugger - iphone

EDIT: After trying many, many things over and over again I've decided to upgrade to xCode 4 and problems stopped. I don't know what was wrong so unfortunately this is my advice to the rest of you who are lost with the problem I had.
PS thank you all for your suggestions :)
Hi everyone,
I don't know why, but my app stopped compiling on my device after trying to enable push notifications. In debug mode with developer certificate it was running ok, but I was getting push notification related error in the console. After reading about this problem I realized I'll have to sign the code with Distribution certificate in order to really test the push notification. After "playing" with these things my app could not be deployed on the testing device anymore…
I am getting 2 errors over and over again:
1. The executable was signed with invalid entitlements
and when I solve this problem by changing the "code signing identity" to another developer certificate (admin) I get another one:
2. A valid provisioning profile for this executable was not found.
I tried all of the following:
- I logged with my team admin's pass and deleted /revoked certificates and profiles, recreated them and installed them on my computer. In keychain everything seems ok (certificates with keys) and in xCode Organiser (new profiles) also.
I cleaned targets several times
created Entitlements.plist with custom value "get-task-allow" unchecked
In Entitlements.plist I put my bundle identifier
I removed profiles from iphone device and tried again. It installs right provisioning profile
I restarted computer/xcode, iPhone several times
Then, when I saw that I'm going crazy I've decided to try to start another application just to see if this one can be run.
Guess what… It can't. I get the same two errors as above.
I'll explain how I recreated things in developer portal step by step so that you can see If I'm missing something. Just have in mind that we are using 2 developer tools accounts (team admin (A), team member (B)). I'm saying this because I might have done something wrong while recreating certificates and profiles…
REMOVING OLD SETTINGS
1 deleted certificates (dev and distribution) and private keys from keychain.
2 removed all provisioning profiles from xCode Organiser.
3 In developer portal (as Admin) I revoked its Development certificate and then removed Distribution certificate
4 In devices I removed my iPhone device
5 I removed all Development provisioning profiles. The Distribution ones cannot be removed???
6 Then I logged into Team Member's account and revoked development Certificate
CREATING NEW CERTIFICATE; PROFILE...
1 In keychain assistant I created new CSR and uploaded it, admin approved it and I downloaded it along with WWDR intermediate certificate. Drag and dropped them into keychain - login / category - certificates
2 I added my device name/identifier
3 In PROVISIONING/DEVELOPMENT I created new provisioning profile. I added my developer, all devices, and app ID.
4 Then from my team member account I downloaded it, double clicked it and that was it.
5 In xCode Project info I set code sign to developer certificate, and I ran and built with Device / Debug. I get build succeeded and error: The executable was signed with invalid entitlements
TAPPING IN THE DARK:
//I create enitlements.plist and run and I get: Error from debugger: The program being debugged is not being run.
//Then I add get-task-allow = false and I get the: The executable was signed with invalid entitlements.
//If I change it to true then I get: Error from debugger
//Then I add my app Id to Entitlements as a pure string. Nothing changes here :( - either
Thank you very, very much for even reading my post.
Hope I'll solve this before going nuts…
Best regards,
Luka

For that you have import private key(.p12) of mac of your team leader then it will work.I face the same problem it works then only if you will have private of that mac from where the certificate made.Hope so that it will help.

I just spent a few hours with this exact error, the steps i took to resolve it were:
check that app ID has push enabled
create a new provisioning profile
delete all other profiles in xcode and on the device and use new profile
(building and installing on device without error)
create entitlements.plist and add in get-task-allow, change type to boolean, set to true
(now getting entitlement error)
So after much googling i found a blog post about how images can affect this so i checked and noticed we were in the middle of changing the app icon and currently didn't have one set. So I threw in a older app icon and it just started building like magic and giving me the device token.

Related

Installing provisioning profile on device does nothing xcode 6

I have a valid provisioning profile, the program I'm running works fine on one of my iPhones. However, for some reason I cannot add it to my other iPhone. Here's how it looks:
Show provisioning profile
Click to add one
Select my provisioning profile
Aaaaaand nothing happens
Has anyone else experience a similar problem or does anyone know what might be the solution? As of just now it just seems that xcode is unresponsive.
Rkey, I had this same problem. If you haven't found a solution, this is how I solved mine.
Instead of trying to install a provisioning profile by yourself, run the app on the device without trying to set it up yourself. Now, if I'm not mistaken, you'll get the "no provisioning profile found for this executable" message or something like that.
You need to change the Code Signing Identities in the build settings of your Xcode6.
Change everything [Code signing identity, Debug, Any SDK, Any iOS SDK, Release, Any iOS SDK)to iOS Developer and set Provisioning Profile to Automatic.
After that, if you try to run the app on the phone again, the prompt will give you an option to "Fix Issue" and clicking on "fix issue" solves the problem.
Hope it works for you.
Go to apple portal and add all the required devices there.
Then go to the provisioning profile you want to download, edit it and make sure the following things:
The App ID associated with the provisioning profile and your App ID in the info.plist is the same.
All the required devices are included in this profile(they are checked marked for the profile).
Check the associated provisioning profile certificate is valid and you have a private key pair for that certificate.
In xcode settings select the provisioning profile and code signing
identity(the certifcate) for the scheme you are running the
application.
Updated answer for XCode 10 ...
See here: https://stackoverflow.com/a/52434756/3216970
Ran into this w/an Ionic app initially created w/XCode 9.
Absolutely none of the usual fixes for automatic/manual profiles or certificates worked.
The issue was with XCode 10's "new & improved" Build System. It just doesn't work w/older projects, and none of the error messages actually explain why.
Go to File -> Workspace Settings.
Change Build System to "Legacy Build System"
Now magically the Provisioning Profiles show up on your device and you can deploy the app you needed to get on a device 3 hours ago when you started messing with this provisioning BS for the umpteen-dozenth time. Thanks Apple.

Xcode 4.3.1 "A valid provisioning profile for this executable was not found"

Tonight I upgraded from Snow Leopard to Lion, and upgraded to Xcode 4.3.1 (iOS 5.1). And now when I try and run debug mode on my device (iPad) I get "A valid provisioning profile for this executable was not found". I have tried every suggestion in past posts on this issue. I have generated a new certificate. I have set my code signing to use the new certificate. I have updated the provisioning profile to use the new certificate. I have gone into the .pbxproj file and deleted all references to the provisioning profile. I have cleaned and closed Xcode a million times. No matter what I do, I still get the same error when trying to run on the device.
In Organizer, the provisioning profile shows up as "Valid profile" in my Library, but under the Provisioning Profiles listed for the device there are none listed. I have tried clicking the Add button and importing it manually - nothing happens. It doesn't show up. When I click on the device icon in Organizer is says "Provisioning No provisioning profiles". However when I go to my iOS Provisioning Portal online and click on the device, the provisioning profile shows up there as being associated to the device.
Any ideas? I am pulling my hair out here.
Do you by chance have two developer accounts with different sets of devices/apps? I encountered this situation (see what "iOS Team Provisioning" profile is matching "iPhone Developer"). The only way I have found to switches teams, so to speak, is to select your device and click "Add to Portal" and log in with the correct Apple ID.
The solution that worked for me was:
-Deleted all references to provisioning profile in .pbxproj.
-Deleted all certificates in keychain.
-Imported my certificate to keychain.
-Created new provisioning profile and configured it in developer portal.
-Refreshed provisioning profiles in xcode organizer.
-Deleted the wildcard provisioning profile that xcode automatically adds.
-Went into code signing and selected the signing account associated to the correct provisioning profile.
-Plugged in a different iOS device (switched iPad with for fresh iPhone)
-Built for a new iOS device.
And it worked. Not sure which step was the magic one. I did not reinstall xcode.
Make sure there is a valid private and public key generated for the profile. More importantly make sure the keys are stored in the right place in keychain.
They should be under login, not system or any other spot. This was causing and issue for me, and it took me a while to find the solution.
Hope this helps.
I have seen this problem before, and my "standard" solution is
a) make a new dummy iOS project , using Xcode menu - file - new - project. Check code signing is your developer certificate. Compile and see if it can run on your iPhone/ipad hardware.
If a) fails, it is something with your certificates and keychain. Clear all and make new certificates
If b) works, it is something in the .xcodeproj file or build folder for your problem project. Remove all files and folders in build. Use your backup (sure you have a daily backup for your project!!!), and copy an "old" .xcodeproj file to your problem project. Use Xcode - project - clean, xcode - project - build as - testing , and hereafter "run".
Before trying above solution, make an extra backup.
good luck, and remember you are not the first having certificate problems.
In my case the problem was not at all related to keys, certificates, provisioning profiles or any other of the reasons mentioned here and everywhere else. It turns out that some other developer in a different team borrowed the iPad we use and changed the device's date to one year in the future! After I set the correct Date and Time and ran the application on the device everything worked just fine.
Unfortunately Xcode didn't warn me about this, and it was until I needed to fix another unrelated problem that Instruments informed me of this situation about the wrong date on the device.
Simply check "Code Signing" section in "Build Settings". If you previosly build your app for appstore publication maybe you forgot change from distribution profile to development profile.
If you are on Xcode 6, and running into this problem when adding a new device (iPhone 5/6), you can follow the steps here:
https://stackoverflow.com/questions/22993092/a-valid-provisioning-profile-for-this-executable-was-not-found-error-when-tryi/26153171#26153171

A valid provisioning profile for this executable was not found for debug mode

I am getting this error while I am trying to debug my app on device.
I created development provisioning profile as it is mentioned at the developer portal. My development device is selected in the profile and I am selecting the correct profile from Target's code signing identity menu. I recreated provisioning profile for several times and also removed and reinstalled it and recreated the project but I am getting that whenever I try to debug on device.
Btw, the adhoc distribution provision profile works.
I spent my whole day to find out a solution but nothing. Anyone have a solution?
It could be because your iphone is not recognized by the provisioning portal.
Solution:
In Xcode, Goto --> Build --> clean all targets.
In "Groups & Files" -->Target --> expand it --> right click your app and select Clean "your app"
Goto->Window-->Organizer
In the Devices tab on the left, select your iphone
In the Provisioning section of the selected iphone delete all the current profiles (if any)
Unplug your iPhone and replug it in.
Goto->Window-->Organizer-->right click your iPhone -->Add device to provisioning portal
Now make sure you have selected the appropriate code signing identity in edit project settings -> build --> code signing
Build and run.
In Xcode 10, I solved this by switching the project's build system from "new build system" to "legacy build system" (File -> project Settings).
I had the same problem. Everything was ok:
the device was registered in IOS Provisioning Portal; the certificate was downloaded and the Development Provisioning Profiles for my app was downloaded.
So the solution!!!
Target> Get Info
Select Configuration to Release (here's the devil)
In code signing, Code Signing Identity check iPhone Developer. Close.
On Target chose Clean Target and then Run the app.
Good Luck.
In my case this was because there where a couple of versions of the developer certificate in the keychain.
Deleting the iPhone Developer cert from both My Certificates and Certificates and then downloading the latest one from the dev centre and installing that (double click on the .cer file)
sorted my problem
Finally i could solve the problem. One of my colleagues has revoked the developer certificate at iOS Provisioning Portal for his test apps. for fixing; i removed the existing developer certificate at my keychain, requested a new certificate with the existing private key, revoked the certificate from provisioning portal and submitted the newly requested certificate.then i downloaded and installed it.
now i can debug my app on my device :)
This caught me out because someone had changed the "Run" configuration's "Build Configuration" setting to "Release" (under "Product" > "Edit Scheme.." > "Run *.app").
This is normally set to "Debug" and hence it was NOT using the developer certificate and provisioning profile that I was expecting, it was using the distribution certificates instead.
In addition to this I found that if you look in the Console Log for the device (via Organiser), there may be an error code that better indicates your problem. For example I had...
Mon Sep 5 09:39:56 unknown installd[304] <Error>: profile not valid: 0xe8008012
I then googled "0xe8008012" and got the following page which indicates a "0xE8008012 - The UUID of the device does not match any in the Provisioning Profile being loaded" error.
MobileInstallation
Xcode->Click your app -> TARGETS -> click the app-> Build Setting-> Code Signing : Make sure that both Debug and Any iOS SDK are set to iPhone Development
Xcode -> Product -> Scheme -> Edit Scheme: Make sure Build Configuration is set to Debug.
I had the same issue with Xcode 10.0 beta 5 (10L221o) and a device running iOS 12.0 (16A5345f) - that's also beta.
After installing the app alert titled "App installation failed" showed up, "A valid provisioning profile for this executable was not found.".
I got rid of it by going to: ~/Library/MobileDevice/Provisioning Profiles and finding the certificate Xcode was trying to use. Then in the "Devices and Simulators" window in Xcode, I right clicked on my device, choose "Show Provisioning Profiles" and with a plus button added the provisioning profile to the device there.
I don't remember when I've done it last time, it's been years. I guess that Xcode normally does it for us but for some reason, it fails when we see that message.
In my case this problem occurred because another provisioning profile was selected for the unit tests. Just took me hours to find this ...
With Xcode 6 and a new device:
Press cmd + shift + 2 to open devices.
Press the "register device" button. If there is no such button (like in the screenshot) go to developer.apple.com and add it manually. Copy the Identifier into the field.
Go to Xcode -> Preferences -> Accounts -> Doubleclick on your account -> Press the little refresh button on bottom left to refresh the profiles
Go to Code Signing and set the new profiles.
We can try this: This has solved my problem . You need to reset the profile for which your device id has been added into your member area of Apple.com . .
Assuming you have your development and distribution certificate installed correctly:
Under Project your main code signing identity should be the developer profile for that app.
Under Targets your main code signing identity should be the distribution profile for that app, except that you should change Debug > Any iOS SDK to your Development profile... and make sure Release > Any iOS SDK is your Distribution profile. This should build and run on your provisioned phone and should archive without any codesign warnings.
Only thing that worked for me when my phone crashed and I had to restore it from a previous iTunes image.
This solution worked for me
Go to Xcode --> Preferences --> Account.
In the provisioning profiles section, right click and open with finder.
Delete all provisioning profiles from the provisioning profile folder.
Finally, go back to Xcode and click the refresh button.
I hope that helps!
I had the same problem. what I did is:
1. clean the target
2. exit the xcode
3. restart xcode
4. rebuild.
and it worked.
Another cause (verified):
Apple has a major bug in Xcode going back to version 3.x, where it magically overwrites the OS X keychain with a fake keychain from inside Xcode, re-installing certs (and private keys!) that you already deleted
...so, if you have "new cert" installed, and nothing else, Xcode will sometimes get into an infinite loop where it will keep ALSO installing "old cert" (that doesn't exist anywhere except inside XCode!).
...and because of ANOTHER bug in Xcode (unfixed for 3+ years now...), Xcode sometimes automatically selects the "oldest cert I can find" (whcih, by definition, is incorrect - I think someone at Apple got mixed up between "oldest" and "newest" :( )
...and EVEN THOUGH you've selected the correct provisioning profile, Xcode sends the "old" provisioning profile to the device, then signs with the "new" profile, causing this error
Solution: you have to un-FUBAR Xcode's FUBAR of your Keychain.
This is harder than it sounds (there are multiple SO posts on this topic) - it involves multiple reboots of your machine, deleting the key every time.
Eventually, Xcode gives up on corrupting your OS, and accepts the reality you present it with :).
Changing the provisioning profile to automatic then running prompted Xcode to "fix" the issue. I then changed back to my original provisioning profile and everything worked fine.
In my case a valid provisioning file is because I didn't add the device to the very provisioning file.
Had the same problem. My solution was very easy. I checked If I have my device's UDID in developer.apple.com and it was absent. After I added it, it starts working. It is very annoying that Apple developers give error "A valid provisioning profile for this executable was not found" instead of "UDID is not found". Actually I mentioned it first in XCode 6...
In my case, it was the problem when I setup my time manually two month earlier on my iPhone. But when I changed to set time automatically, it worked fine.
Setting -> General -> Date & Time -> set time automatically
If it does not work set time automatically of both mac & iPhone, will work fine.
Remove certificate, profiles and recreate it. Install it. Thats the best soultion.
In my experience this problem happens if you try to build on a device that is not registered in your developer center or is not enabled inside provisioning profile that you are using.
1) Add the device to the developer center.
In XCode 5 you'll still find a button "add to member center" inside the Organizer window.
In XCode 6 i suggest to copy the device ID and manually add it to the device section of your member center.
2) Edit the provisioning profile you're using to include the device you have just added. Save and synchronize provisioning profiles from XCode.
Clean, and it is on.
One of the cause could be your "project => Build Settings => Signing => Development Team" is different from your "target => Build Settings => Signing => Development Team", just make them same
After select auto manager signing
You may still need to check the selection in settings. Sometime, it's not correct there.
I had a certificate that expired (which generated the error).
Step 1. Go to developer.apple.com, login, and go to IOS provisioning portal
Step 2. Go to certificates (which is now empty), and follow the instructions listed to create a new certificate (open keychain on your computer, create a signing request, save it to disk, upload it to apple)
Step 3. Download and install the files created by apple to your keychain
Step 4. Problem: all of your previous provisioning profiles were associated with your OLD certificate, so you need to go back to developer.apple.com->IOS provising portal-> provisioning profiles and 'modify' each profile you care about. You will see that your identity is no longer assicated with the profile, so just click the check box
Step 5. Download all the profiles you changed
Step 6. Plugin your phone and drag and drop the .mobileprovision file onto xcode icon in the dock bar to install them on the device
I saw this problem because I had obtained a new Mac, and was still using my old Computer's certificate. I had created a new certificate for the new Mac, but had both certificates in my keychain.
In the Organizer, the profile warned that "XCode could not find a valid private-key/certificate pair for this profile in your keychain" even though the old certificate existed in my Keychain.
The solution was to delete the old certificate from my Keychain and delete/revoke of all the profiles which used this old certificate. Then create a new profile with the new certificate and use this.
Hope this helps!
Bringing an app up from Xcode 3 to 4.3 I found the Bundle name and Bundle identifier had to be set to match the AppId.
If all else fails, give that a whirl.
I faced same issue there may some other reasons too:
While testing i set my date to some future date and profile got expired. As result this issue was generated.
But i solved by setting date of iphone to current date as a result profile was not expired.
I'm compiling my app in Adobe Air for iOS, not Xcode. I was trying to copy the .ipa using iTunes, and got a mysterious "Error installing app" message. It wasn't until I used the iPhone Configuration Utility (iCU) that I got the real error message.
The problem was that I was compiling the app with a provisioning profile for ad hoc distribution and a certificate for development. I didn't understand that there are 2 types of certificates, and 2 types of provisioning profiles. There's one of each for development and one for distribution. If they don't match... then you get that error message. It's obvious once you understand it...
The solution was to download the distribution certificate (.cer), double click to open in Keychain, and export that as P12 from KC directly. Then use that P12 distribution certificate in the publish settings (Flash IDE or Flash builder), and also use the provisioning profile used for ad hoc distribution (.mobileprovision). Then finally install the provisioning profile and the .ipa file using the iPhone Configuration Utility.
That did it for me.
In my case my provisioning profile was invalid because apple has changed some of its terms and conditions. To fix problem I had to
delete previous profile.
I had to accept terms and condition from this website of apple.
Click Your app from Xcode Under Targets. (Under project.) Here you see Summary info, build settings, Build phases, build rules.
Okay go to Build Settings. Go down to Code Signing.
You see you have two fields Debug and Release. You have two profiles to choose from in each of those fields, Distributing and developing.
Let distributing be the one from the Release field. Let Developing be the one from the Debug field.
Doing this solved this problem, and let that error message go away. Now I can run my application fine.

Apple's Problematic Provisioning Portal

I have restarted this process about 4 times over the past 3 weeks. I have not succeeded in submitting my app to the store. Please help me! I just started over again tonight, I did it in this order:
Deleted everything referring to the IPhone in my Keychain,
Redownloaded the Distribution Certificate
Created a new app id called: com.myapp
Downloaded the Provision Profile and installed it into XCode.
Please note: I did not install an Entitlements.plist because I was told I didn't need one. Everything is looking good at this point.
Duplicated my "Release" Configuration and renamed "Distribution"
Under the Configuration of "Distribution", Code Signing Identity, I can see my Provision Profile it actually says: IPhone Distribution: My Name (for Application Identifiers: com.myapp)
So at this point at the bottom of the Project Info Window I see this:
The name (“common name”) of a valid code-signing certificate in a keychain within your keychain path. A missing or invalid certificate will cause a build error. [CODE_SIGN_IDENTITY]
So I realize I haven't altered my bundle name for my app, I change it to com.myapp, warning still doesn't go away. I tried adding in my prefix into the Bundle Identifier like this:
5JSF8843kJJ.com.myapp (for example)
But the error still doesn't go away!
After all this I try to Build and Run on my device anyway thinking it may go away. But I get this error:
The iPod “myIpod” doesn’t have the provisioning profile with which the application was signed.
Click “Install and Run” to install the provisioning profile “myprofile” on “myIpod” and continue running “myappname.app”.
Please Help! I need to get this to work!
Thank you for your time.
UPDATE: I have fully tested the app and I am ready to distribute, I am trying to get a successful Build so that I can zip up my .app file and submit it using Application Loader.
You can't run an app using the Distribution certificate or Distribution Build.
You shouldn't duplicate your Release Build until after you get it running and configured exactly as needed, except for the choice of code signing certificate.

iPhone: Application Install Fails With "Invalid Signer" Error

The iPhone is attached to a Mac runnning the latest iTunes version and I am 100% sure that her UDID is in the provisioning file. Her iPhone has not been jailbroken and we even restored it to factory settings.
I am having trouble installing our development build on this one iPhone. The error is:
the application "[Application Name]" was not
installed on the iPhone "iPhone"
because the signer is not valid
I am 100% sure that the UDID is accurately entered in the provisioning file and that they correctly copied the right provision file/build combo. This same combo has been successfully installed on over a dozen iphones.
We have been able to install this on some devices with no problems.
Edit:
From comments to an answer:
We can install it on 100 iphone with
our account. We have about 40 iphones
in this provisioning profile and it
works on 38 of them.
I had a fix that seemed to work for one user who was having troubles:
remove all offending profiles and apps
restart
add back provisioning profile FIRST
sync device
now add app resource
sync again to get app on device
the offending machine was a windows box... dunno if that makes a difference.
If someone else gets this issue - try this and let us know if this is the actual fix or workaround! This goblin has rarely been seen and solved with the same steps.
this was my reference for the fix idea:
http://iphone.forums.wordpress.org/topic/installing-beta#post-1194
Does the answer to this question help you at all?
Signer not valid error
Put the signing at the Target level, not the Project level
I'm personally not sure what that means but it worked in that case
We can install it on 100 iphone with our account. We have about 40 iphones in this provisioning profile and it works on 38 of them. Any other ideas?
I'll tell Buzz that you say hi and if you can help us we'll get you a moon rock!
(Ignore: I misread the question and didn't notice he had dozens of installs already so my advice does not apply)
If you have just the standard developers account, you can only install on up to five phones before the certificate becomes invalid for further installs. If you've already installed it on five phones that is most likely the problem.
Tell Buzz some random guy on the internet said, "Hi!"
A couple of things to try:
Renew the profile at the Developer's portal. It may have expired or become corrupt.
Create a new provisioning profile
Does the mobileprovision file show up on the device after sync? You should see it in
Settings->General->Profiles
If it doesn't then that would be the problem. Check once again that the UDID is correct - same UDID on iTunes and in the developer portal. Try syncing iTunes with the mobileprovision without trying to install the app. If it still doesn't get installed then CHECK THE UDID. If it is getting installed on all other devices, UDID is most likely the issue.
If the distribution signing certificate was revoked in the meantime and recreated, you need to remove the old provisioning profile from the device first. This is on an iOS 3.1.3 device.
This happened to me recently and I resolved it. Situation was that I had an ad hoc provisioning profile I was using successfully for around 40 devices with several different apps. When a new device was required I would add it to the profile, download, then use 'share' from XCode with the same archived app but the new profile.
Recently my distribution certificate expired, so I created a new one and recreated the provisioning profiles. Subsequently, I could still install on the existing devices but would get an error trying to install on new devices, even though I had added them to the profile and installed the profile on the device.
The secret was that although I had created the new distribution cert and added it to my KeyChain, there was still a copy of the old cert in the KeyChain, and that was being used to sign the app. It turns out that if you do not delete the old provisioning profiles from XCode, when you start up XCode it will recreate the old cert in the KeyChain, and that will be used to sign the app, which means that the new profile with the new device (created with the new cert) will not match.
Solution: when you renew your cert, delete all the old profiles signed with that cert, delete the old cert, then recreate, download and install the new profiles.
hth