2016-11-14 45 views
0

我被要求更新在objective-c中完成的舊項目。供應配置文件「XXXXXX」不包括簽署證書「iPhone分發:XXXXXXXXXX(XXXXXXXXXX)」。

我在使用我的分發配置文件時遇到此問題。它是這樣的

發放模板 「XXXXXX」 不包括簽名證書 「iPhone分佈:XXXXXXXXXX(XXXXXXXXXX)」。

事情是我可以在我的鑰匙串中看到證書「iPhone Distribution:XXXXXXXXXX(XXXXXXXXXX)」。但其中有2個。一個有一個私鑰,另一個沒有,並且都有不同的到期日期。當我檢查了開發者賬戶,供應曲線的分佈與不具有私鑰證書籤名(開發者的帳戶中顯示的證書的有效期限是,一個沒有私有密鑰)

  1. 什麼是造成這個問題?
  2. 我該如何解決?
  3. 如果我不能得到從舊機器的私鑰(因爲機器沒有更多可用)

我試圖刪除證書之一,也是自動管理簽約。兩者都不起作用。

請幫忙。

+2

我建議刪除Keychain中的兩個分發證書,然後去會員中心並撤銷您的分發證書。然後讓Xcode爲您製作一個新的分發證書。然後刪除所有的分發配置文件(它們現在都已經壞了)並從頭開始重新創建它們。 – matt

+0

@matt會影響我的現有應用程序與舊證書構建?蘋果是否允許我使用新證書更新現有的應用程序? – avrospirit

+0

是的,他們會的。多年來,我一直在撤銷和創建證書,並將我的應用更新多年。沒問題。 – matt

回答

1
  1. 問題是唯一有效的供應配置文件綁定到您沒有私鑰的分配證書。沒有私鑰,它不是有效的簽名標識,所以Xcode不會使用它。

  2. 要解決此問題,您需要創建一個新的私鑰/分發證書,然後使用新創建的證書創建一個新的分發概要文件。您可以從創建證書籤名請求here開始查找說明。

  3. 請參閱上述2。沒有密鑰,你不能使用現有的證書。如果您需要從多個Mac構建,則需要建立一個共享機制,以將私鑰提供給將要下載並使用Apple網站上的證書/配置文件的任何其他Mac。我還會備份私鑰,以便將來如果您的Mac版本出現問題,您將不會遇到此問題。此外,當證書過期時,保留上面的答案2中的.csr文件是有幫助的。這意味着當分發證書過期時,您可以爲新證書使用相同的私鑰。

+0

感謝Wottle。但是這會影響我用舊證書構建的現有應用程序嗎?蘋果是否允許我使用新證書更新現有的應用程序? – avrospirit

+0

是的,您應用商店中的現有應用不會受到影響。您可以提交使用新證書籤名的應用程序,而不會對Apple產生任何問題。當你的證書過期時也是一樣。 – wottle

相關問題