簡體   English   中英

Xcode 4 + iOS 4.3:“存檔類型不存在打包程序”

[英]Xcode 4 + iOS 4.3: “No Packager exists for the type of archive”

我剛剛升級到Xcode 4,並試圖創建一個早期項目的adhoc版本。 每當我使用“歸檔”選項時,我或者在管理器窗口中根本沒有歸檔,或者有歸檔,但是沒有選項將其打包為.ipa,因為“歸檔類型不存在包裝器” ”。

對於已從Xcode 3.2遷移的項目,有沒有人在Xcode 4下使用adhoc構建工作?

您可能在主項目中有一些鏈接項目(如圖書館)。 轉到這些項目的Build設置,並將設置“Skip install”(Deployement category)設置為“Yes”,但將主項目的“Skip install”保留為“No”。 構建,存檔,您應該能夠選擇ipa包。

謝謝,但我需要3個步驟,以便用我的項目框架來解決問題:

  1. 為每個依賴項目將Target Build Settings /“Skip Installation”屬性設置為“YES”

  2. 清除每個項目的目標構建設置“安裝目錄”屬性

  3. 對於每個項目,將每個標題從“構建階段/構建設置/復制標題”部分移動到項目

我發現這些答案的組合解決了這個問題。 我花了很多時間來驗證在所有鏈接的項目中Skip Install是否設置為Yes,結果證明這只是我的問題的一部分。 如果您在使用Archive時遇到此問題,請執行以下步驟:

  1. 在管理器中找到存檔,右鍵單擊並選擇“在Finder中顯示”。
  2. 在Finder中右鍵單擊.xcarchive文件,然后選擇“顯示包內容”。
  3. 找到Products文件夾並查看其中的內容。 Products文件夾中應該只有一個Applications文件夾,而Applications文件夾應該只包含一個iPhone應用程序(YourProject.app)。

如果在步驟3中,您直接在Products或子文件夾下找到靜態庫(<some-library> .a),請轉到Xcode並選擇生成靜態庫的項目(您應該能夠告訴哪個項目它基於靜態庫的名稱)。 轉到Build Settings並選擇目標,然后將“Skip Install”設置為“Yes”。

如果在步驟3中,您直接在Products或子文件夾下找到頭文件(<some-header> .h),請轉到Xcode並選擇包含這些頭的項目。 您應該能夠根據頭文件名中使用的前綴找到項目。 在該項目中,轉到Build Phases,然后在Copy Headers部分中,將所有標題從Public和Private部分移動到Project部分。

感謝這個答案這個答案以及幫助我​​解決這個問題的答案

這里有另外兩個我們覺得對這個問題很有用的提示......不是答案,但是他們可能會節省別人很多時間搞亂8 /

如果您使用的是不是由xcode4構建的靜態庫,則“deployment-> skip install”解決方法對它們不起作用。 解決這個問題的方法是不將它們添加到項目中,並確保它們的路徑位於Build Settings中的Header和/或Library Search Paths中,並且-lblah條目也會添加到Linker Flags中。

另外,如果你有一個靜態的lib設置為Target Dependency(例如我們將libjson.a設置為這個並且我很確定這是正確/合乎邏輯的事情),那么你根本無法構建.ipa的無論。 我們花了一整天的時間來討論這個愚蠢的問題,最后只是刪除它解決了它。 就我個人而言,我認為這應該留下一個破碎的項目......但它的確如此有用。

為了弄清楚哪些項目/庫/組件阻止Xcode做出正確的存檔,請執行以下操作:

在管理器中找到存檔,右鍵單擊並在查找器中顯示。 這將顯示.xcarchive文件。 右鍵單擊並顯示包內容。 現在查看Products文件夾。 很可能不僅僅是一個包含一個iPhone應用程序的Application文件夾。

在我的情況下,有一個包含libOAuthConsumer_iPhone.a的usr / local / lib文件夾結構,當我在Xcode中搜索它時,我確實找到了另一個我沒有將Skip Install設置為YES的項目。 對於每個人來說可能並不那么容易,但是查看包內部應該至少可以指示哪個組件正在弄亂歸檔過程。

這些是在xcode 4.2中解決上述問題的步驟

1:對於添加的所有第三方庫,“跳過安裝”為YES。 為您的項目“跳過安裝”為NO。您可以從Build設置中訪問“Skip to install”。

2:從左側導航器窗格中選擇第三方庫標題。

2.1:右邊是Utililtes窗格。顯示並隱藏它與視圖 - > utilities-> show / hide utilities(command-Option-0)或工具欄中視圖分段控件中的第三個按鈕

2.2:選擇文件檢查器(command-option-1)

2.3選擇目標成員資格並從公共或私人更改“項目”選項

跳過安裝對我不起作用。 我解決了這個問題,將標記為public的所有標題移動到項目中。 我目前正在使用靜態庫和ipad項目的工作區中工作。 似乎每當你想用鏈接的項目構建你的產品時,有一個bug或xcode的東西,xcode構建兩者並且Organizer沒有顯示共享ipa的選項。

暫無
暫無

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

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