簡體   English   中英

xcode 正在創建通用 xcode 存檔而不是 iOS App Archive

[英]xcode is creating generic xcode archive instead of iOS App Archive

我是 iPhone 開發的初學者,我嘗試使用我的個人資料和有效證書創建一個ipa ,但是 xcode 正在創建一個通用的 xcode 存檔文件而不是 iOS 應用程序存檔,因為在我的代碼中有兩個.xcodeproj

stack overflow answer之一我遵循以下步驟:

  1. 跳過安裝對於主要項目目標是否
  2. 對於框架(子項目)目標,跳過安裝是 YES
  3. 子項目需要在 Project not Public 中有 Copy Headers
  4. Deployment 下的安裝目錄有效(例如 /Applications)

但我仍然沒有得到解決方案。

在我的情況下,問題是嵌入式靜態庫之一的“跳過安裝”設置為“否”。 也有用的鏈接: https ://developer.apple.com/library/mac/technotes/tn2215/_index.html

如果您在 Project>Targets>Build Phases>target dependencies 中有任何 .xcodeproj 文件,請將其從那里刪除,然后構建您的 ipa。 這個對我有用。 干杯

我的情況不是“跳過安裝”,也不是 cocoapods 問題。 看來我最終沒有使用的第 3 方框架之一是造成這種情況的原因。 解決方案只是將其刪除。

為了跟蹤這個問題,我右鍵單擊 Xcode 管理器中的通用存檔文件並選擇“在查找器中顯示”-> 右鍵單擊​​存檔文件-> 選擇顯示包內容-> 產品-> 應用程序,在此文件夾中您可以看到什么除了 {project-name}.app 文件之外,還有其他文件。 在我的情況下,有一個文件帶有我沒有使用的框架的前綴,這導致它從項目的工作區中刪除。

我的情況是我在項目中有 2 個目標,一旦我將其中一個目標設置為 Skip Install =“YES”,問題就解決了

我在使用 Cocoapods 0.38.1 時遇到了問題,在升級了一些項目后,它為我生成了 xCode Generic Archive... 在完成所有步驟之后,再次創建 ipa 的唯一方法是將 cocoapods 下載到 0.37.1 並按照以下步驟操作此鏈接:http: //9elements.com/io/index.php/cocoapods-best-practices/

我希望這會有所幫助!

一種情況是您必須在構建階段/標題中將標題(如果有)從公共移動到項目。

https://developer.apple.com/library/content/technotes/tn2215/_index.html#//apple_ref/doc/uid/DTS40011221-CH1-PROJ

我遇到的問題是CocoaPods version 0.38.2 .,將CocoaPods升級到更高版本(0.39.0.beta.4)后一切正常。

$gem install cocoapods --pre

然后:

$pod update

在 XCode 5 中,如果您在 Manage Schemes 中有多個目標和錯誤的復選標記,則會發生相同的錯誤。 然后 Xcode 將 2 個二進制文件放入 1 個通用存檔中。 這不會影響將文件簽入例如 git!

我知道回復晚了,但是是的,我通過以下步驟得到了解決方案:

  1. 轉到項目導航器
  2. 選擇目標
  3. 轉到構建階段
  4. 檢查目標依賴項並將其刪除
  5. 清理和構建代碼
  6. 嘗試存檔,這次您將獲得 iOS 應用存檔。

來自 KP 的最佳運氣和歡呼 :)

在我的情況下,問題是在一個計划中。 我有兩個目標標記為“存檔”。 這發生在我復制我的一個目標時。

Scheme -> Build -> Targets中,我只是刪除了我不想要的這個,之后該存檔位於“iOS Apps”而不是“Other Items”部分。

我同意@cat 的回復。

我錯誤地在管理方案下有兩個構建目標,這對我來說是個問題。 啜飲已經沒有了。

如果 Skip 已設置為 no,則檢查此步驟可以幫助您進行更多調試。

我也遇到了這個問題。 我在這里嘗試了所有解決方案。

(這是一個 xcode 工作區中的項目)

最后我解決了......我清理了Derived data文件夾中的所有內容,關閉工作區,然后關閉Xcode,打開單個目標項目

然后,我進行歸檔,它會生成一個 iOS 應用程序歸檔。

我希望我能幫助別人。

這些都不適合我,在我的情況下是cocoapods,必須全部卸載並安裝發布版本

sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-core
sudo gem uninstall cocoapods-downloader
sudo gem install cocoapods

原來我的方案中有兩個應用程序目標。 我在構建時看到,產品文件夾最終包含兩個應用程序。 同一個包中有兩個版本的應用程序。 遵循@Got99Errors 的檢查包內容的建議。 我從構建方案中刪除了第二個目標,問題就解決了。

在我的情況下,建議的解決方案都沒有工作,因為項目文件很好。 我只需要刪除派生數據文件夾中的所有內容,一切就恢復正常了。 您可以從“首選項”>“位置”中找到它。

我認為這是由於新的 Xcode 6。我以前使用的是 beta 版。

在嘗試了所有其他建議(檢查構建是否為單目標、清除 Derived Data 文件夾、關閉並重新打開 Xcode 等)后,我發現每次重新啟動系統都能解決此問題。 我還發現重啟已經解決了過去的一些其他 Xcode 奇怪問題,例如它表明它找不到某些系統框架頭文件。

我在上面找到的唯一建議確實允許我在不重新啟動的情況下構建正確的存檔是關閉 Xcode 工作區並從工作區打開單個 Xcode 項目,並為該項目構建存檔。 然而,重新啟動是我發現恢復 Xcode 的正常行為以能夠從多項目工作區中構建正確檔案的唯一選擇。

我發現重啟可以解決運行 OS X 10.11.6 和 Xcode 8.2.1 的系統上的 Xcode 問題 - 希望重啟也能解決較新系統上的問題,並幫助其他可能正在處理這個奇怪問題的人。

上述答案都沒有對我有用,一旦我按照Apple 的技術說明進行操作,我就開始收到很多鏈接錯誤和未找到標題的錯誤。

我嘗試解決這些錯誤,但沒有解決方案對我有用,嘗試使用標題搜索路徑、庫搜索路徑等。

最后,如果這些解決方案都不起作用,請按照以下步驟將您的應用提交到應用商店

使用 XCode 11.xx

  1. 本質上,在您執行 Clean Build Folder,然后 Build 之后,您會在以下位置找到 .app 文件:~/Library/Developer/Xcode/DerivedData//Build/Products/Release-iphoneos/

  2. 在桌面上創建一個名為 Payload 的新文件夾(此名稱區分大小寫)

  3. 復制您的 .app 文件並將副本粘貼到此 Payload 文件夾中。

  4. 右鍵單擊該文件夾並選擇“壓縮有效負載”

  5. 保存時,不要使用 .zip 擴展名保存它,而是使用 .ipa 擴展名保存它。

  6. 現在這是您應用的 .ipa 文件,您可以通過 Xcode Transporter App 上傳此文件

如果您仍在使用舊版本的 Xcode 10.xx,請按照上面給出的相同步驟操作,但只需更改最后一步,而不是傳輸器應用程序,使用 Application Loader 應用程序

有關該問題的更多詳細信息,請查看此帖子

我必須做的事情:

  1. 轉到 Product -> Schemes -> Manage :在這里確保只選擇一個方案,那就是您當前的方案

  2. 轉到產品 -> 方案 -> 編輯:有這樣的選項:確保只選擇一個存檔。在此處輸入圖像描述

我的問題是在安裝 pod 后開始的,在更新 cocoapods(從 0.38 到 0.39)並再次運行 pod install 后問題就消失了。

這對我有幫助(2018 年)

  • gem install cocoapods --pre
  • pod 1.5.0.beta.1 update檢查
  • 在方案設置中shared

檢查共享

我使用的是可可豆莢,當你去管理方案時,容器被設置為 xcodeproj 而不是 xcworkspace。 當設置為 xcworkspace 它工作。

在 XCode 11 中,就我而言,以上都不是。 我有一些 HTML 文件是我的目標(“目標成員”)的一部分,一旦我刪除它們,我就能夠生成正確的存檔。

基本上,只要確保您沒有在目標中放置錯誤的文件即可。

希望能幫助到你!

對我來說,Xcode 正在創建一個generic Xcode archive ,因為我的Info.plist中缺少UISupportedInterfaceOrientations字段。 添加后,應用存檔已正確創建

最后我解決了這種問題。 我認為這個問題出現在不同的場景中。

我得到了通用 Xcode 存檔類型。 之后,生成帶有分發內容的存檔構建。

實際上,就我而言,子項目頭文件路徑的問題,我相信歸檔時它們的路徑丟失了。

我已經嘗試過,刪除了子項目引用並再次添加。 我已經正確設置了標題搜索路徑,已識別,路徑在子項目下指向不同的文件夾位置。 添加后,它指向確切的文件夾。

之后,我嘗試存檔並使用分發應用選項生成存檔構建。 終於能夠獲取 iPa 文件並推送到 iTunes Connect :)。

這可能對某人有幫助。

謝謝

就我而言,沒有一個解決方案有效,因為我的根本原因是不同的。 我正在使用 SPM 並在我的 Swift 包中有一個 .xcdatamodel。 刪除它解決了這個問題。

刪除/移動 Xcode 開發者目錄

在通過並嘗試了幾乎所有在 stackoverflow 上提供的解決方案之后,包括完全重新安裝 Xcode 和 cocoapods,為我解決這個問題的是完全刪除~/Library/Developer目錄並讓 Xcode 在我下次構建時重新創建並填充它/打開了我的項目。

  1. 打開 Finder 並選擇菜單 Go > "Go to Folder" 並輸入 "~/Library"
  2. 刪除或移動(存檔以防萬一)“開發者”目錄
  3. 完全關閉 Xcode 並重新打開項目
  4. 在 Xcode 產品 > 存檔中
  5. 這現在創建了正確的 iOS 應用程序存檔,我能夠將應用程序分發並上傳到 Testflight

就我而言,問題在於我的應用名稱以點符號開頭。 MacOS 會處理以“.”開頭的文件和文件夾。 隱藏,所以 Xcode 看不到存檔中有一個實際的應用程序。

我在 Unity 中開發我的游戲,並且在 Unity 2020.1.17 之前一直運行良好。 顯然,有些事情發生了變化,新版本的 Unity 開始產生這個問題。

我使用的是 Unity,我的情況是 Edit -> Project Settings... -> Player -> iOS -> Other Settings -> Target SDK 設置為 Simulator SDK。 更改為 Device SDK 會正確創建應用存檔。 我希望它也可以幫助其他正在努力的人。

我在我的 tvOS 應用程序中遇到了同樣的問題。

通過禁用構建設置中的“在‘構建’期間構建文檔”標志來解決它。

截屏

我嘗試了所有建議,但沒有奏效。 但是,當我試圖按照@acecilia所說的進行操作時,我去檢查了我的info.plist ,問題是與 macOS info.plist相比,我的 iOS 目標缺少很多東西。

我通過單擊Target解決了這個問題,然后單擊頂部的Info ,並匹配我的兩個info.plist ,它最終讓我存檔為 iOS 版本而不是通用版本。

確保在 Project Settings > General 下設置了 Build 字段。

暫無
暫無

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

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