簡體   English   中英

Xcode iOS組織者提交給應用商店會產生“檔案無效”錯誤

[英]Xcode iOS organizer submit to app store yields “The archive is invalid” error

我只是從Xcode 3切換到4。當我嘗試將已存檔的應用程序上載到組織者時,出現以下錯誤:

存檔無效。 /var/folders/.../app.ipa不存在。

存檔無效。 app.ipa不存在。

在我登錄到iTunes連接,選擇要更新的應用程序並選擇下一步之后,會發生這種情況。 我不確定從哪里開始嘗試找出導致此錯誤的原因。 如果我遺漏了任何對診斷有用的信息,請告訴我。 謝謝

我自己只是遇到了這個問題,而且似乎已經找到了解決方案。 即使似乎選擇了正確的配置文件,也可能沒有選擇。

嘗試手動瀏覽可能的配置文件列表,然后選擇正確的配置文件。 請勿將設置保留在自動選擇上。

確保“身份:”列表中沒有顯示“當前匹配...”。 自己手動選擇正確的一個。

這應該可以解決問題,並且您應該可以上傳到AppStore。

好的,所以在安裝Xcode 4軟件包時,請確保已選擇“ Unix Tools”選項。 就我而言,這就是問題所在。

如果您正在運行Xcode Beta版本(Apple稱其為“開發人員預覽”),則會出現此錯誤,因為不允許您從Beta版本提交應用程序。 自述文件或Xcode下載頁面中未提及此限制。 要提交應用,您需要卸載開發人員工具,然后重新安裝最新的非Beta版本,然后重新啟動計算機。

這是要卸載的命令行命令:

sudo /Developer/Library/uninstall-devtools --mode=all
  1. 退出Xcode
  2. 使用文本編輯器打開文件YourProject.xcodeproj / project.pbxproj
  3. 刪除所有包含PROVISIONING_FILE =的行
  4. 刪除所有包含CODE_SIGN_IDENTITY =的行
  5. 保存並關閉project.pbxproj
  6. 在Xcode中重新打開您的項目
  7. 清理項目
  8. 在“構建設置”窗格中,選擇正確的代碼簽名標識
  9. 重建

我最近切換到了新的MacBook Pro,並通過遷移助手從Time Machine驅動器中安裝了XCode 4。

使用Unix Tools重新安裝XCode 4,將其修復。

由於某些原因,這些文件無法通過Migration Assistant復制。

我在TestFlight和App Store中都遇到了同樣的問題。 對我來說,解決方案是將應用程序存檔,然后在嘗試驗證/提交或共享時(在TestFlight的情況下)在組織者中選擇“不簽名”。

希望這可以幫助。

就我而言,這與Xcode或Unix工具無關。 確實,我碰巧有太多的發行證書(為什么?我不知道)。 刪除了所有一個,但一個都刪除了,用這個代碼簽名,在驗證時重新對其進行代碼簽名,並且沒有錯誤地提交它。 我希望有幫助。

測試的好方法是從命令行運行構建。 轉到項目文件夾並運行'xcodebuild'並仔細查看輸出,尤其是在'codesign'命令周圍。

我這樣做了,發現了以下內容:

architecture armv7 object: /Users/chris/Documents/x/x/build/Release-iphoneos/x.app/x malformed object
object file format invalid or unsuitable

因此,這不是解決方案,但至少可以讓您了解問題所在。 無論如何,對我來說,看起來像是架構配置錯誤。

更新-要解決此問題,我將/ usr / bin文件夾中codesign_allocate的副本替換為/ Developer / somewhere中的副本,並進行了修復。

我嘗試了上面的大多數想法,但這些想法對我沒有用,可能是因為我正在使用他的Appcelerator Titanium平台。 但是,我確實刪除了Build目錄並重新構建了產品,它通過了驗證,並且能夠將二進制文件上傳到應用程序商店。

我也一樣。 我的錯誤是我擁有名稱相似的證書(例如“ Giammy的供應配置文件”,“ Giammy的供應配置文件” ...)。

從XCode 4.0運行“存檔”,然后從管理器運行“ Validate ...”,我遇到了“ app.ipa不存在”的問題。 問題是我從名稱相似的證書中選擇了錯誤的證書。 “存檔”階段運行良好,但是存檔未通過驗證。

解決方案:只是在“存檔”階段選擇了正確的配置文件。

經驗教訓:檢查兩次配置文件名稱!

在Xcode中出現此錯誤,但在使用應用程序加載程序時沒有此類錯誤。 通過Xcode->打開開發人員工具->應用程序加載器訪問它。 確實非常令人沮喪。

確保使用正確的產品/捆綁ID的密鑰進行簽名。 如果我沒記錯的話,將它們混在一起可能會導致歸檔問題。 另外,轉到該臨時文件夾並檢查創建的是什么。 也許xCode正在使用其他名稱創建IPA,這可能會給您提示。

我通過從鑰匙串中刪除所有過期的簽名證書解決了相同的問題。 Xcode似乎只是使用給定的名稱來獲取它找到的第一個,無論它是否仍然有效。

我嘗試了所有操作,包括使用Unix工具重新安裝xcode4。 什么都行不通。 我認為我不必這樣做,因為我可以提交其他應用程序而不會出現問題。 我只是一個特殊項目(來自xcode3)遇到這個問題。

我什至從頭創建了一個項目,重新導入了所有代碼,然后重試-失敗。 因此,這不僅是我的項目,而且還是其中的某些內容。 因此,我已經開始創建一個新項目,添加一些文件,然后提交,然后拒絕找出導致它的原因的過程。 到目前為止,這是可行的。

更新:好的-它與使用CorePlot並將其鏈接為庫有關。 和瞧-在這里找到答案。 無法使用Xcode4解決方案通過CorePlot提交應用 :提交時選擇“請勿辭職”

我無法通過更改或修復代碼簽名身份來解決此問題(在許多情況下,這應該可以解決此問題。也無法簡單地重新安裝Xcode。這是我發布此答案的前兩個解決方案。

我成功卸載了所有開發人員工具,並從頭開始重新安裝。

這是我解決的方法:

  1. 打開鑰匙串,然后從“登錄”和“系統”中刪除所有分發證書。
  2. 從開發中心下載最新的發行證書。
  3. 雙擊證書以將其安裝在鑰匙串上。
  4. 在XCode上,確保證書名稱與“構建設置”相匹配。
  5. 為存檔而構建(鑰匙串彈出窗口應要求許可以對該應用程序進行簽名)。
  6. 存檔(再次,需要確認鑰匙串)。
  7. 驗證已存檔的應用程序(同樣,將需要確認鑰匙串)。
  8. 提交應用(再過一次,需要確認鑰匙串)。

如果您要為“存檔”進行構建,但看不到任何“鑰匙串確認”對話框,則可以在此停止,因為提交將無法進行。

我確實使用我的工作解決方案xcode_4.2_and_ios_sdk_5_beta__snow_leopard遇到了同樣的問題。

在不同的位置安裝Xcode的先前(非Beta版)版本,然后使用該版本,就這樣,它能夠正常工作,我能夠將我的應用程序上傳到AppStore而不帶來任何麻煩。

問候,

喬治。

我的解決方案是:

打開項目中的info.plist文件,並在產品名稱中輸入您的產品名稱,而不是$[PRODUCT_NAME]

請勿嘗試使用使用Beta SDK作為基本SDK構建的應用程序進行提交。

通過使用以下命令卸載所有開發人員工具,我擺脫了這個問題

須藤/ Developer / Library / uninstall-devtools --mode = all

然后重新啟動系統,並安裝了最新的非Beta版XCode和非Beta iOS SDK。

您是否一直在/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/SDKSettings.plist中使用ENTITLEMENTS_REQUIRED屬性(假設創建越獄應用程序)?

在這種情況下,請將ENTITLEMENTS_REQUIRED重置為YES。

對於xcode 4,我嘗試了所有操作,但是直到為snowleopart安裝xcode 4.2為止,我無法解決此錯誤

如果您無法在驗證頁面中看到您的應用程序圖標,則可能是您的xcode出錯了。 從蘋果開發人員頁面xcode 4.2下載並安裝。 解決了。 您無需卸載xcode 4,只需下載新的xcode 4.2並安裝即可。 我現在很好

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM