A valid provisioning profile for this executable was not found… (again)

十年热恋 提交于 2019-12-17 09:10:10

问题


I know this has been asked and answered multiple times but I'm tearing my hair out as none of the proposed solutions appears to work.

I receive the above error, despite having a valid provisioning profile which, as far as I can tell matches the bundle identifier:

I've followed the steps in various suggested solutions on this site, including deleting all existing certificates and starting again, as suggested here and here.

One thing I have noticed is that the profile doesn't show up in the code signing lists, either for target or project.

Can anyone offer any further suggestions?


回答1:


This happened to me yesterday. What happened was that when I added the device Xcode included it in the wrong profile by default. This is easier to fix now that Apple has updated the provisioning portal:

  1. Log in to developer.apple.com/ios and click Certificates, Identifiers & Profiles
  2. Click devices and make sure that the device in question is listed
  3. Click provisioning profiles > All and select the one you want to use
  4. Click the edit button
  5. You will see another devices list which also has a label which will probably say "3 of 4 devices selected" or something of that nature.
  6. Check the select all box or scroll through the list and check the device. If your device was unchecked, this is your problem.
  7. Click "Generate"
  8. DON'T hit Download & Install – while this will work it's likely to screw up your project file if you've already installed the provisioning profile (see this question for more info).
  9. Open Xcode, open the Organizer, switch to the Devices tab, and hit the Refresh button in the lower right corner. This will pull in the changes to the provisioning profile.

Now it should work.




回答2:


If none of above stated works then check for your device date, make sure your device date doesn't exceed profile expiry date i.e. not set to far future.




回答3:


+1 to banging my head against the wall for a day or two...

Also check this setting:

Build Settings -> Code Signing -> Provisioning Profile

After following the above steps, "Automatic" setting worked for me. ~kjm~




回答4:


File > Workspace Settings > Set Build system to "Legacy Build System"



回答5:


Xcode5 has broken this again (congratulations to Apple for failing to bother testing one of their buggiest bits of code. Again).

A new way to break/fix it:

If you have:

  1. An old profile on your device (team profile, or non-team profile)
  2. A new profile generated automatically on the App Store, by any copy of Xcode5, even if it's simply an update to the profile you already had
  3. (NB: if any colleague adds themself to the profile, this triggers the above "change")
  4. You use the new "Accounts" dialog to download profiles (NB: this is now REQUIRED by Apple for various situations - all other approaches, including manual download, appear to be unsupported. Even though the Apple Developer site TELLS YOU TO MANUALLY DOWNLOAD! Don't do it! It breaks Xcode5!)
  5. Xcode5 will INCORRECTLY hide AND RENAME that profile in the drop-down selector in Build Settings
  6. (I detest this drop-down. Some idiot at Apple keeps removing information from it, and someone else keeps adding it back, it flip-flops between Xcode point releases. WHY??!?!)
  7. There is NO WAY you can select the correct profile - whatever you select, Xcode5 will use the wrong one

The solution is easy enough. The "Apple engineering are lazy" solution:

  1. Go to Xcode5 -> Window -> Organizer -> Devices
  2. Select your device
  3. Select provisioning profiles
  4. Delete everything relating to your current project and/or Team (even other projects, if necessary - they can all be downloaded later if still needed!)
  5. Re-build.
  6. You should get an error from Xcode5 that the profile doesn't exist. Even though you manually had seleted the profile that was ALREADY PRESENT on your machine (yep - that dropdown is buggy again. It lies about the profile it selects behind the scenes!)
  7. In the profile selector, select the "real" profile
  8. Build, run - success!



回答6:


It happened to me when I accidentally left the build in release mode.




回答7:


This can happen if your provisioning profile has expired. Another reason could be that you device date exceeds the expiry date of your provisioning profile. Please make sure that your device date is correct.




回答8:


After spending the day I realized it was a simple change in Project Settings

File -> Project Settings... -> Build System -> Legacy Build System.

In a project setting, you will see Build System named drop down and in that drop down select Legacy Build System




回答9:


  1. Delete all certificates from the keychain of the account which you are trying to use provisioning profile
  2. Delete Derived data
  3. Clean the folder(cmd+sht+alt+k)
  4. Clean the project(cmd+sht+k)
  5. Build & Run



回答10:


In my case it was just after a new Program Licence Agreement was released so we had to accept them and it was fine.




回答11:


I had this error because I was testing my app to perform a certain action in the future. In other words, I had a different time on my test device, therefore, the certificate would not allow me to build.

Apparently, my certificate expires in a few days...




回答12:


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 then set time automatically of both mac & iPhone, it may work fine.




回答13:


I have spent about a week solving this problem. Most of the answers are sort of magic (no logical purposes for these algorithms) and they were not useful for me. I found this error in Xcode console:

ERROR ITMS-90174: "Missing Provisioning Profile - iOS Apps must contain a provisioning profile in a file named embedded.mobileprovision."

And found this answer solving this issue. The case is to switch Xcode Build system to the Legacy one.

I was deploying my Ionic app.




回答14:


I'm still not sure what the issue was but deleting all certificates and starting over (albeit twice) eventually solved it.

My best guess is that I've missed some small but important detail of the procedure. Unfortunately I can't be any more specific than that.




回答15:


Make sure you have added your device - https://developer.apple.com/account/ios/device/create

Go into iTunes and click on the serial number and it'll change to the UDID - then right click to Copy the UDID and register it as your device.

You can then add that device to your provisioning profile.



来源:https://stackoverflow.com/questions/14727655/a-valid-provisioning-profile-for-this-executable-was-not-found-again

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!