Xcode 7错误:"缺少 iOS 分发的签名身份..."

I tried to upload my App to iTunes Connect resp. AppStore and got the following error:

Failed to locate or generate matching signing assets

Xcode attempted to locate or generate matching signing assets and failed to do so because of the following issues.

Missing iOS Distribution signing identity for ... Xcode can request one for you.

Before I setup a new development machine, exported the developer accounts via Xcode 7 from the old to the new machine.

What can I do to fix this?

转载于:https://stackoverflow.com/questions/32821189/xcode-7-error-missing-ios-distribution-signing-identity-for

csdnceshi54
hurriedly% you can find details process for Certificates & Profile in Apple Documentation. It would be helpful.
接近 5 年之前 回复
weixin_41568184
叼花硬汉 With the new Xcode 7 developer account import export also the profiles and certificates are exported. In my case I needed to transfer the "Apple World Wide Developer Relations Certificate Authority" certificate additionally (see answer below)
接近 5 年之前 回复
csdnceshi76
斗士狗 You also need to have distribution profile and certificates along with its keys in order to generate IPA (Even with dev profile)
接近 5 年之前 回复

11个回答

From Apple -

Thanks for bringing this to the attention of the community and apologies for the issues you’ve been having. This issue stems from having a copy of the expired WWDR Intermediate certificate in both your System and Login keychains. To resolve the issue, you should first download and install the new WWDR intermediate certificate (by double-clicking on the file). Next, in the Keychain Access application, select the System keychain. Make sure to select “Show Expired Certificates” in the View menu and then delete the expired version of the Apple Worldwide Developer Relations Certificate Authority Intermediate certificate (expired on February 14, 2016). Your certificates should now appear as valid in Keychain Access and be available to Xcode for submissions to the App Store.

As noted in a comment below, the expired certificate also needs to be removed from the login section, as well:

To all that cannot get it working despite the instructions... There are two expired WWDR certs. One is in login keychain, and the other one is in the System. You have to delete both of them in order to make things working

csdnceshi60
℡Wang Yan how to check the cert expired or not from terminal?
接近 2 年之前 回复
csdnceshi77
狐狸.fox Oh, I am so angry. First off, thank you - this fixed my issue. But seriously Apple, this is 2016. Why the **** don't you provide useful error messages when something goes wrong ? Every single year that I've used Xcode for in-house apps, something else quirky and annoying has slipped in, and this rubbish environment just doesn't do anything to make life easier. Seriously angry, with how rubbish Xcode continues to be....
大约 4 年之前 回复
csdnceshi56
lrony* Once I installed this certificate, all of my certificates gone green.
4 年多之前 回复
csdnceshi64
游.程 Amazes me that XCode doesn't download the new certificate automatically.
4 年多之前 回复
csdnceshi66
必承其重 | 欲带皇冠 You don't need to restart your Mac or XCode, but do kick off a new archive or you might get another error.
4 年多之前 回复
csdnceshi61
derek5. Note, I didn't have to delete anything. I just downloaded the mentioned file, dbl clicked on it. Then pressed retry in Xcode and it worked.
4 年多之前 回复
csdnceshi69
YaoRaoLov I had to delete more than two expired ones. And, strangely, even though I was able to see expired certificates elsewhere in keychain, I still had to select "Show Expired Certificates" to see these ones.
4 年多之前 回复
csdnceshi76
斗士狗 I just wanted to add that the "Expires" date may not be 14 February. For me it was 15 February because of the timezone I'm in.
4 年多之前 回复
csdnceshi65
larry*wei saved me too...didn't need to restart anything though for me BOTH certificates appeared under 'login' and none under 'system'
4 年多之前 回复
csdnceshi79
python小菜 This solution worked great for me, with the extra step that in Keychain Access, I had to click "All Items" under "Category" in order to see and delete the expired WWDR cert.
4 年多之前 回复
weixin_41568174
from.. I am unable to delete the existing expired Apple WWDRC Certificate or import the new one :( dropbox.com/s/brxegvo9j458k3e/…
4 年多之前 回复
weixin_41568131
10.24 Dumbest thing ever. Is this really a feature instead of a bug?
4 年多之前 回复
csdnceshi67
bug^君 as @Avaan said Delete "Apple Worldwide Developer Relations Certificate Authority certificates" also from "System" tab. This saves my day!
4 年多之前 回复
csdnceshi70
笑故挽风 I didn't need to restart anything. It just worked after deleting the old certificate and importing new.
4 年多之前 回复
csdnceshi53
Lotus@ Most important part: Make sure to select “Show Expired Certificates” in the View menu -- see you all in 2023. :)
4 年多之前 回复
csdnceshi57
perhaps? You will need to restart either Xcode or your Mac, if restarting Xcode doesn't work.
4 年多之前 回复
weixin_41568134
MAO-EYE downloaded, imported, deleted expired one from login, did NOT work | deleted the expired from the system, did NOT work | restarted XCode, WORKED
4 年多之前 回复
csdnceshi75
衫裤跑路 Not need restart the mac, only the xcode
4 年多之前 回复
weixin_41568208
北城已荒凉 I have to drag the new cert to the Key Chain window in the System chain because double click it show em an error: " The “System Roots” keychain cannot be modified.... " Thanks for the answer and the link
4 年多之前 回复
weixin_41568126
乱世@小熊 Make sure when you go to "Keychain Access", you go to Keychains > System and delete the old certs out of there as well. My signing identities were all revoked until I did this.
4 年多之前 回复
csdnceshi51
旧行李 To all that cannot get it working despite the instructions... There are two expired WWDR certs. One is in login keychain, and the other one is in the System. You have to delete both of them in order to make things working.
4 年多之前 回复
csdnceshi58
Didn"t forge Thank you my friend! If it is not working: Are you sure you added the new one? I had to restart my mac and download it again because my Mac didn't want to add it. (I knew it because I wasn't asked to enter my password...)
4 年多之前 回复
csdnceshi74
7*4 followed above answer but not working. Should I need to add again this dowloaded file after deletion?
4 年多之前 回复
csdnceshi63
elliott.david I must first delete expired certificate and then import new from file menu
4 年多之前 回复
csdnceshi74
7*4 As mentioned, I have deleted expired version of the Apple Worldwide Developer Relations Certificate Authority Intermediate certificate from “Show Expired Certificates”. But still m getting the same issue, can someone please help me?
4 年多之前 回复
csdnceshi74
7*4 Still I am getting the same issue, can anyone assist me?
4 年多之前 回复
csdnceshi78
程序go It has happened every two years; many app stops working on Mac until the user restarts their mac. Of course they will blame you. At least the new certificate does not expire until 2023.
4 年多之前 回复
csdnceshi80
胖鸭 I think this was the best answer because it included instructions about deleting the expired certificate. This whole issue is cray cray.
4 年多之前 回复

I also faced the same issue today. The following steps fixed my issue.

  1. Download https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
  2. Double-click to install to Keychain.
  3. Then in Keychain, Select View -> "Show Expired Certificates" in Keychain app.
  4. It will list all the expired certifcates.
  5. Delete "Apple Worldwide Developer Relations Certificate Authority certificates" from "login" tab
  6. And also delete it from "System" tab.

Now you are ready go.

csdnceshi70
笑故挽风 for those who want to know where to find the certificates: Apple Certificated
接近 4 年之前 回复
csdnceshi67
bug^君 Just delete it from "System" tab. that work for me
4 年多之前 回复
csdnceshi76
斗士狗 The above issue was solved by following this step "If your certificate is not available in Safari Extension Builder, update your signing system to OS X El Capitan v10.11.4 beta" on the following page: certificate expiration
4 年多之前 回复
csdnceshi76
斗士狗 I'm following these steps including deleting it from system, however every time I open the extension builder (safari developer) the old expired certificate reappears. Any ideas?
4 年多之前 回复
csdnceshi61
derek5. Me too! I fixed with delete it from "System" tab." step
4 年多之前 回复
csdnceshi51
旧行李 "6. And also delete it from "System" tab." step is solved my problem. This is the correct answer!!!
4 年多之前 回复

The below process will solve the problem,

1: Open KeyChain access, and Delete "Apple world wide Developer relations certification authority" (Which expires on 14th Feb 2016) from both "Login" and "System" sections. If you can't find it, use “Show Expired Certificates” in the 'View' menu.

enter image description here

2: Now download https://developer.apple.com/certificationauthority/AppleWWDRCA.cer and double click the certificate to add it to Keychain access > certificates (which expires on 8th Feb 2023). Now the valid status of the certificates should turn green like below.

enter image description here

Once check the status.

weixin_41568110
七度&光 Thanks! This "If you can't find it, use “Show Expired Certificates” in the 'View' menu." helped me A LOT!
4 年多之前 回复

Make Sure that in Project Navigator > Signing > Team , A team name must need be selected.

enter image description here

My answer was different and came along with the message:

resource fork, Finder information, or similar detritus not allowed

The solution was to do with generated graphics:

Code Sign Error in macOS Sierra Xcode 8 : resource fork, Finder information, or similar detritus not allowed

csdnceshi57
perhaps? Helped me, thanks! Had the same problem, indeed to do with generated graphics and the same error message.
大约 3 年之前 回复

I kept running into the issue and saw that all my certs were invalidated -- oh no!

It turns out I never deleted the expired cert. It was not showing up for me, until I selected from Keychain Access application:

View->Show Expired Certificates

then

System->All Items

will finally display that gnarly expired cert. Delete that and retry from XCode will pick up the new valid certs.

Just make sure you search "All Items" in the Keychain Access app. The invalidated certs are a result of pointing to the expired certificate that has not been deleted yet.

weixin_41568208
北城已荒凉 Showing expired certificates then deleting from system solved this for me.
4 年多之前 回复

Apple has made following changes so download new certificate developer.apple.com

renewed certificate and place it as below screen shots .In the keychain as below screen shots click on system and then certificate. Delete the expired certificate . Then drag and drop the AppleWWDRCA.cer that you downloaded from above link

Apple Worldwide Developer Relations Intermediate Certificate Expiration

To help protect customers and developers, we require that all third party apps, passes for Apple Wallet, Safari Extensions, Safari Push Notifications, and App Store purchase receipts are signed by a trusted certificate authority. The Apple Worldwide Developer Relations Certificate Authority issues the certificates you use to sign your software for Apple devices, allowing our systems to confirm that your software is delivered to users as intended and has not been modified.

The Apple Worldwide Developer Relations Certification Intermediate Certificate expires soon and we've issued a renewed certificate that must be included when signing all new Apple Wallet Passes, push packages for Safari Push Notifications, and Safari Extensions starting February 14, 2016.

While most developers and users will not be affected by the certificate change, we recommend that all developers download and install the renewed certificate on their development systems and servers as a best practice. All apps will remain available on the App Store for iOS, Mac, and Apple TV.

Since different methods can be used for validating receipts and delivering remote notifications, we recommend that you test your services to ensure no implementation-specific issues exist. Your apps may experience receipt verification failure if the receipt checking code makes incorrect assumptions about the certificate. Make sure that your code adheres to the Receipt Validation Programming Guide and resolve all receipt validation issues before February 14, 2016.

enter image description here

After searching for a while I found out that it is not sufficient to export the developer accounts from Xcode and import these on the new machine, again via Xcode.

Additionally I needed to copy the Certficate named "Apple World Wide Developer Relations Certificate Authority" from the keychain of the former development machine to the keychain of the new one.

This solved the problem for me.

csdnceshi53
Lotus@ You can install it use this link:developer.apple.com/certificationauthority/AppleWWDRCA.cer
4 年多之前 回复

I imported the new Apple WWDR Certificate that expires in 2023, but I was still getting problems and my developer certificates were showing the invalid issuer error.

In keychain access, go to View -> Show Expired Certificates, then in your login keychain highlight the expired WWDR Certificate and delete it. I also had the same expired certificate in my System keychain, so I deleted it from there too.(Important)

After deleting the expired cert from the login and System keychains, I was able to build for Distribution again.

Don't forget to also install the iOS cert for your Apple Developer Account.

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问