2014-01-29 61 views
3

我正在嘗試向iOS應用商店提交更新。我將從Buzztouch應用程序轉到Sprite Kit應用程序。我可以將Xcode項目歸檔並提交。該應用程序獲取上傳的接收的狀態,但比約一分鐘後,它變成無效的二進制文件,我收到一封電子郵件說:應用程序提交:無效的二進制文件 - 無效的簽名

無效簽名 - 確保您已與分發證書應用程序,而不是臨時證書或開發證書。驗證Xcode中的代碼簽名設置在目標級別是否正確(它覆蓋項目級別的任何值)。另外,請確保您正在上傳的包是使用Xcode中的發佈目標構建的,而不是模擬器目標。如果您確定您的代碼簽名設置是正確的,請選擇Xcode中的「全部清除」,刪除Finder中的「build」目錄,然後重新構建您的發佈目標。

一旦這些問題得到解決,進入版本詳細信息頁面並點擊「準備上傳二進制文件」。繼續完成提交過程,直到應用狀態爲「等待上傳」。然後您可以提供更正的二進制文件。

我清理了構建目錄,重建了我的發佈目標,並多次創建了新的配置配置文件。所有的代碼簽名身份都設置爲iOS開發者。代碼簽名和配置文件對我來說總是有點混亂,我可能會犯一些明顯的錯誤。

我已經嘗試提交超過50次!我發現這非常令人沮喪,因爲我已經通過電子郵件發送了Apple,他們回到我身邊,但它只是一個鏈接到開發中心的代碼簽名信息。我也花費了大量的時間在互聯網上尋找解決方案,而且還沒有一個很好的解決方案可以解決這個問題。

我能想到的唯一原因是我從Buzztouch應用程序更改或者它是Sprite Kit。

這裏是我的代碼簽名的截圖:

screenshot of code signing

+0

您的代碼簽名是錯誤的。您需要使用** iOS Distribution **作爲您想要發佈的模式。 – borrrden

+0

你好@borrrden我試着將它們全部更改爲iOS發行版,並且它仍然返回相同的內容。 – PoKoBros

+0

將其更改爲iOS發行版,然後重複所有清理步驟等。如果簽名未正確執行,您還應在錯誤窗格中看到警告。你有應用商店證書嗎? – borrrden

回答

2

這是我做過什麼,當我遇到類似的問題,在Mac App Store:

  1. 重新生成應用程序的分佈和發展證書(從蘋果開發者證書的網站)。
  2. 下載這兩個證書並將它們拖到Xcode的圖標(不確定它是否有任何影響,但在提交失敗後,我很迷信)。
  3. 重新刷新Xcode中的證書和身份。
    1. 打開Xcode的首選項。
    2. 轉到帳戶選項卡。
    3. 點擊我的帳戶
    4. 點擊刷新按鈕。
  4. 生成存檔。
  5. 提交該應用程序,並在嚮導提示中的某處中途點擊「刷新簽名身份」。

作爲參考,這裏是我建立的有關簽名的設置。這是我最後一次提交應用的工作(過去兩天一直處於「等待審覈」狀態,所以我猜測它通過了所有的自動化測試)。

Build settings - signing

+1

我非常不滿,來自蘋果的錯誤電子郵件是誤導性的。這花了我很多時間!謝謝你的工作解決方案! – Takide

1
  1. 在「代碼簽名身份」確保你選擇了你的分銷證書的「釋放」方案

  2. 在「配置文件」下,請確保您選擇了配送配置文件(不是Ad Hoc配置文件)

  3. 存檔和分發,確保提交時相同的證書被選中(後輸入您iTunesConnect資訊)

+0

仍然沒有工作...任何其他建議 – PoKoBros

2

你的問題涉及與簽約失敗,因爲您的應用程序並沒有與最近發佈證書登錄。檢查以下步驟:

1)請檢查您的bundle identifier以列出供應配置文件,如下圖所示。因爲它也導致了這個問題。

enter image description here

2)構建的應用程序時,您可能無法使用correct certificates。只需在Provisioning Portal中刪除您的證書並創建新證書並在Xcode中更新它們即可。

3)從您的圖片中,您沒有選擇正確的配置文件。轉到組織者/供應配置文件/刷新,並允許Xcode獲取最新的。看到如何做到這一點的屏幕截圖。

選擇正確的供應配置文件。 enter image description here

選擇正確的代碼簽署。 enter image description here

4)清理你的項目。

5)只是clean all your targets。你甚至可以去/Users/%USERNAME%/Library/Developer/Xcode/DerivedData並刪除那裏的所有目錄。

see this ref

+0

沒有工作...任何更多的想法? – PoKoBros

+0

@PoKoBros仍然有同樣的錯誤? – Mani

+0

是的,我仍然收到相同的錯誤 – PoKoBros

0

做上述所有

菜單欄 後嘗試產品 - >存檔

然後從組織試圖辭職並提交。

窗口 - >管理 選擇存檔,然後按分配(但我敢肯定你會知道如何運作)

顯然,如果你不能做到這一點那麼很可能你確實有東西您的簽名證書有問題,更具體地說,您的捆綁標識符可能是罪魁禍首。其他

一種選擇是你的應用程序使用,你有沒有設立developer.apple.com/ios的應用程序ID服務,如遊戲中心,推送通知等。祝你好運

0

檢查啓動圖片。它們是否相互衝突,就像2個圖像有相同的名稱。因爲我已經得到了類似的問題,我在10分鐘內解決了這個問題。

2

在蘋果顯影支撐件有的Invalid Signature二進制拒絕原因兩個附加常見的原因,

  1. 可執行文件包含特殊字符(即非數字,和非字母)。要解決此問題,請將Xcode目標的產品名稱構建設置從「$ {TARGET_NAME}更改爲僅包含字母/數字字符的字符串。讓我知道,如果這是問題的原因(和有問題的字符),因爲我提交錯誤報告來修復我在這裏找到的每個實例。

  2. 將未壓縮的Xcode項目複製到/從非HFS +格式化硬盤驅動器中產生的Apple雙文件(「雙文件」)。要檢查這引起了你的拒絕:

A.運行的應用程式中診斷:How do I check if my application's signature has been corrupted?

B.然後可以在命令行輸出:List of Signature Verification Failure Root Causes。雙擊文件被診斷出患有這樣的消息:

resource missing: my.app/._.* 

C.從文檔:

與「._」前綴的文件被認爲是一個的AppleDouble文件,並將其 可以複製未壓縮的結果將Xcode項目文件夾拖到 非HFS +格式的磁盤上。必須使用 'dot_clean'命令刪除AppleDouble文件。 Xcode項目文件夾是 dot_clean的參數,如下所示。注意:您可以將Finder中的Xcode項目文件夾 拖入「終端」窗口,以自動將其 路徑填充到命令中。

 dot_clean /path/to/My_Xcode_Project 

(如果終端不能找到dot_clean工具,通過Xcode的下載可選的命令行工具>首選項>下載)

D.你的Xcode項目運行dot_clean後,創建一個新的應用程序存檔(通過Xcode>產品>存檔),重新嘗試提交。

要防止出現重複文件,請確保在將Finder中的Xcode項目文件夾傳輸到/從非HFS +格式的硬盤驅動器上之前,使用Finder將其壓縮爲.zip。

+0

我認爲No2對我造成這個問題。我嘗試從外部NTFS硬盤上傳。將項目複製到Mac的硬盤時,一切都正常通過。 – Dimmy3

+0

No1引起我的問​​題。我用了 」?」字符在我的產品名稱中。 – poordeveloper

0

爲了弄清楚這個問題,我剛剛創建了一個新的Xcode項目,並將所有內容複製並粘貼到新項目中。

相關問題