2016-08-16 49 views
6

提交使用應用程序加載的應用程序更新後,我從蘋果這封電子郵件:「無效斯威夫特支持 - SwiftSupport文件夾丟失」和Xcode 7.3.1

我們已經發現有一個或一個以上的問題你最近交付 「[應用程序名稱]」。爲了處理您的交付,下面的問題必須 予以糾正:

無效斯威夫特支持 - SwiftSupport文件夾丟失。使用當前的Xcode公共(GM)版本重建 您的應用,然後重新提交 它。

一旦這些問題得到糾正,您可以重新傳送 更正後的二進制文件。

我確定這個二進制文件是用最新的Xcode GM(7.3.1)編譯的,所以這不是問題。我已經在網上看到了針對這個問題的各種潛在修復,但希望通過提供更多細節,有人可能能夠幫助我找出具體的解決方案。

  • 使用Application Loader 3.5提交IPA文件沒有問題。
  • 該應用的以前版本不使用Swift,但是此更新確實如此。
  • 「嵌入的內容包含Swift代碼」版本設置設置爲NOMy understanding是,如果我們有一個純粹的Objective-C目標取決於Swift或混合目標,這應該只是YES
  • 該項目使用CocoaPods,但沒有任何改變,在我們的豆莢爲此更新。
  • 該應用程序的先前版本包含一個WatchKit應用程序和擴展,但此更新不包含。
  • 在使用相同版本生成的xcarchive內,SwiftSupport文件夾就在那裏。它包含一個名爲iphoneos的子文件夾,其中包含若干Apple Swift庫,如libswiftFoundation.dylib
  • 如果我將.ipa文件重命名爲.zip並將其取消歸檔,則其應用程序包不包含SwiftSupport文件夾,但確實包含帶有相同Swift dylib的Frameworks文件夾。

回答

7

這裏的解決方案是this answer。我們需要使用新的-exportOptionsPlist標誌與xcodebuild而不是舊的-exportFormat-exportWithOriginalSigningIdentity標誌。 plist只需要將method鍵設置爲app-store

+0

非常感謝!保存我的* :) – itsdamslife

+0

我在哪裏必須更改此plist文件的關鍵,請幫忙。 – vaibhav

+1

您不需要更改plist文件中的密鑰。您需要在命令行上使用'-exportOptionsPlist'標誌,該標誌採用plist文件的路徑。這個plist(一個新文件)需要包含'method'鍵,其值被設置爲'app-store'。 – Luke

0

就我而言,我只是將冗餘的swift文件添加到項目中,並解決了問題。

0

在創建ipa文件時,您應該選擇「保存爲iOS App Store部署」而不是「保存爲即席部署」選項。 enter image description here