天天看點

上傳和釋出AppStore會碰到:Failed to locate or generate matching signing assets

從2月14号開始,上傳AppStore時可能會碰到這個問題:

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.
           

截圖如下:

上傳和釋出AppStore會碰到:Failed to locate or generate matching signing assets

原因是Apple World Wide Developer Relations Certificate Authority的過期時間是2016年2月14。蘋果的回答如下:

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 newWWDR 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.
           

簡單的說就是頒發開發者證書的根證書過期了。如果這個時候你打開keychain看你的釋出證書會是這樣的:

上傳和釋出AppStore會碰到:Failed to locate or generate matching signing assets

就是這個Apple World Wide Developer Relations Certificate Authority過期了,是以這個頒發的證書都不能使用了。

現在來說下解決方案:

1.打開keychain(鑰匙串),在登入和系統中找到過期的 Apple World Wide Developer Relation Certification Authority,然後删除它

注意在keychain顯示菜單下,設定成顯示過期證書

上傳和釋出AppStore會碰到:Failed to locate or generate matching signing assets

2. 下載下傳這個連結裡的 AppleWWDRCA.cer 的證書到本地

3.記得要把系統鑰匙串的設定權限打開(注意要打開鎖)

上傳和釋出AppStore會碰到:Failed to locate or generate matching signing assets

4.把AppleWWDRCA.cer安裝到登入和系統中

設定成功後就可以了。檢視下你的釋出證書是否已經正常了。

上傳和釋出AppStore會碰到:Failed to locate or generate matching signing assets

原文參見:從2月14号開始上傳和釋出AppStore會碰到:xcode can request one for you