2012-01-05 87 views
5

我想創建一個ipa文件(產品 - >存檔 - >共享),但Xcode只生成存檔文件。Xcode創建存檔而不是IPA

它幾天前運作良好。我總是得到ipa的工作,但現在我無法生成ipa(當我點擊歸檔時我無法簽署代碼)。我在過去幾天內將子項目添加到主項目中(CorePlot-CocoaTouch)。我無法確定它可以關聯。

回答

13

如果您已經添加了一個靜態庫,它們現在默認安裝。這對於iPhone應用程序來說並不合適。轉到項目文件並選擇靜態庫的目標。在Build Settings下,轉到Deployment部分並將Skip Install設置更改爲YES。由於Xcode 4,它現在默認爲NO,這會破壞你的IPA(因爲你可以合法安裝的唯一二進制文件就是應用程序二進制本身)。

您可能必須從Basic視圖切換到All視圖才能看到此設置。

+0

謝謝你的回答。我已經做到了這一點(將所有「跳過安裝」設置爲是),但結果相同。它仍然爲我提供檔案,沒有機會分享它作爲IPA。 – Engeor 2012-01-05 08:34:33

+1

@Engeor然後還有其他東西仍在安裝。看看創建的原始檔案(甚至是它創建的新檔案)。那裏唯一的應該是你的應用程序包。找出還有哪些東西在那裏,你會有一個線索在哪裏看下。 – 2012-01-05 08:37:16

+0

工作的舊歸檔文件與不歸檔的新歸檔文件之間的唯一區別是具有CorePlot頭文件的文件夾。除此之外,只有一個應用程序文件。我迷路了:-( – Engeor 2012-01-05 08:58:58

8

既然爲我工作的答案被埋在評論中,我想我會把它帶到最前面。在我的情況下,將靜態庫的頭文件更改爲Project可以解決問題。

爲此,請選擇您的庫目標,然後轉到生成階段>複製標題並將頭文件從公開移動到項目。

+0

您的解決方案幫了我很多!謝謝。 – 2013-03-21 18:20:18

0

在XCode 5中,如果在「管理方案」中有多個目標和錯誤的選中標記,則會發生相同的錯誤。然後Xcode將2個二進制文件放入1個通用歸檔文件中。這並不影響將文件檢入到例如Git的!

0

其他答案都可能是正確的,但沒有幫助我的情況。我花了幾個小時,最後重新啓動。然後我再一次獲得了我一週前獲得的應用程序存檔。

2

一個誰也嘗試了其他所有的答案,也沒有運氣,請選中該複選框,希望對大家有所幫助(的伎倆對我的Xcode 6.0.1)

enter image description here

0

如果包括一個生成靜態庫的項目,請嘗試檢查選項「僅在安裝時複製」。這阻止了Xcode在應用程序歸檔中包含靜態庫。我使用Xcode 6.3.2。