2014-02-18 129 views
14

我知道這是一個重複問題,但在其他所有問題上,我無法找到解決方案,因此我重試以發佈更多詳細信息。iTunes Connect上的無效簽名(無效二進制文件)

我存檔爲iOS7我的xcode5應用與Release Scheme和正確Provisioning Distribution

是這樣的屏幕:

這是Project

enter image description here

,這是Target

enter image description here enter image description here

我嘗試做很多不同的資產,我'一定要我Building ArchiveReleaseiTunesConnect答案是每同一時間:

尊敬的開發商,

我們發現您近期的 「MyApp」發貨有一個或多個問題。爲了處理您的交付,下面的問題必須 予以糾正:

無效簽名 - 確保您有一個 分佈證書,而不是即席證書或發展 證書籤名的應用程序。驗證Xcode中的代碼簽名設置在目標級別上是否正確 (它覆蓋項目 級別的任何值)。另外,請確保您正在上傳的軟件包是在Xcode中使用釋放目標而不是模擬器目標而構建的 。如果您是 某些代碼簽名設置是正確的,請選擇 Xcode中的「全部清除」,刪除Finder中的「build」目錄,然後重新構建您的 發行版目標。

一旦這些問題得到糾正,請轉到版本詳細信息頁面 ,然後單擊「準備上傳二進制文件」。繼續完成提交 過程,直到應用狀態爲「等待上傳」。然後您可以發送 修正的二進制文件。

問候,

的App Store的團隊

而且Invalid Binary

我變得瘋狂,以瞭解如何鞋底這個問題,任何身體有想法要做到這一點?

謝謝。

****測試響應****

enter image description here

Athority屏幕 是正確的

enter image description here

+0

您是否嘗試過的一切,他們都表示,如果有,將問題進行排序。我會假設你錯過了某些東西或誤解了他們的意思。另外他們的圖像是非常毫無意義的,因爲我們實際上看不到正在使用的配置文件的類型。 – Popeye

+0

我添加新的屏幕,我說我嘗試許多不同的集並不是所有的;) – BlackSheep

+5

不要編輯的問題,以顯示解決方案,添加解決方案作爲一個答案,現在我不知道恨你問 – Mark

回答

6

在Xcode中,在目標水平做到以下幾點:

  1. 首先爲發佈配置選擇配置配置文件。 (對於Any SDK) 的供應配置文件必須與應用程式的Bundle ID(你可以在常規選項卡中看到的)。
  2. 在代碼簽名標識,點擊子菜單上Any iOS SDK,並確保你選擇Automatic。如果你不能在下面看到。
  3. 全部清除存檔

選擇協同設計身份:

在步驟2中,如果你不能選擇Automatic,那麼就意味着你可能不具備的AppID和應用的捆綁包ID之間的匹配。 AppID由您選擇的供應配置文件指向。

如果是這樣的話,那麼在登錄開發人員門戶網站,並確保供應個人資料後,使用指向正確的AppID。

要驗證的的.ipa或您的.app嘗試提交這些命令之前。 然後看看打印輸出,看看是否一切正常。另外驗證到期日期。

$cd <where the app is> 
$unzip *.ipa 
$cd Payload 
$codesign -d --entitlement - *.app 
$codesign --verify -dvvv *.app 
$security cms -D -i *.app/embedded.mobileprovision 
+0

我做的一切,但繼續同樣的錯誤(我'肯定輪廓八邑糾正的appid)CMS + K清除所有被刪除的所有存檔,但仍繼續說無效的二進制文件T_T – BlackSheep

+0

感謝您的更新,增加結果的屏幕和我認爲是正確的,但具有相同的響應...無效的二進制T_T – BlackSheep

+0

好吧,這是embedded.mobileprovisioning輸出。現在從codeign命令的輸出中,驗證標識符是否匹配,並使用移動配置文件的名稱查找「Authority =」 - 是您使用的那個? – tsafrir

2

在蘋果開發者的支持,我見過的Invalid Signature二進制拒絕原因兩個額外的常見原因,

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

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

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>產品>存檔),重新嘗試提交。

爲了防止重複文件,一定要壓縮的Xcode項目文件夾它從一個非HFS +格式的硬盤驅動器傳輸到/使用前查找爲.zip。

+0

謝謝!對於(1),可能值得一提的是,通過在'plist'文件中明確設置'CFBundleDisplayName',您可以在應用程序的顯示名稱中包含特殊字符:http://stackoverflow.com/a/8115312/188926 – Dunc

2

現在它必須包含以下架構。

的ARMv7 armv7s arm64的i386 x86_64的

試試這個。

相關問題