環境:Xcode 7 GM
エラーなしでXcodeを使用してiOSアプリを正常にアップロードしました。このアプリはObjective-CとSwiftで書かれています。
ただし、アップロードが成功した直後に、Appleこのエラーを記載したメール:
無効なSwiftサポート-XXXXX(私のアプリ名)の最近の配信で1つ以上の問題を発見しました。配信を処理するには、次の問題を修正する必要があります。
無効なSwiftサポート-SwiftSupportフォルダーは空です。現在のパブリック(GM)バージョンのXcodeを使用してアプリを再構築し、再送信してください。
これらの問題を修正したら、修正したバイナリを再配信できます。
誰もがこの問題に対する解決策を持っていますか?
私はすでに以下の問題を確認しています。
アーカイブ(.xcarchiveファイル)の「SwiftSupport/iphoneos /」ライブラリは「Products/Applications/myApp.ipa/Frameworks /」と同等です。
私の「有効なアーキテクチャ」設定は、「armv7k」を表示する「$(ARCHS_STANDARD)」です。
プロビジョニングプロファイルは、それぞれiTunes Connectで作成されたDevおよびReleaseに設定されます。
そして、私の「編集スキーム」では、アーカイブでテスト対象のチェックが外されています。
重要な注意:これは、Swiftを使用しないしないプロジェクトでのみ機能します。以下を参照してください comment below
私はちょうど同じ問題に出会い、次の変更を行って解決しました-プロジェクトにSwiftファイルを使用していたが、それらを削除した場合は、「埋め込みコンテンツにSwift Code "を[ビルドオプション]で[いいえ]にします。
このページには多くの矛盾する答えがあります..私のために働いたのは、言及されたものでした here 、これは単にiOSアプリストアの展開オプションの保存を選択します(実際にはアプリストアには興味がありませんリリース..テストフライトの内部テスト用にリリースをプッシュするだけです。
とはいえ、提出する前にあなたのIPAが承認されるかどうかを確認する方法があります:
ここで、次のサブフォルダーを持つフォルダー(.ipaファイルと同じ名前)を取得した場合:
行っても構いませんが、Payload
フォルダーのみが表示されている場合は、もう一度試してください
また、いくつかのポインタ
SwiftSupport
フォルダーを手動で追加しようとしました here ..しかし、その後、あらゆる種類の副作用がありました..動作しませんでしたこれはxcodeのバグによるものだと思います(Xcode 8.0ビルド(8A218a)でこれを書いているので..うまくいくまで運試しを続けてください..確かな説明は期待しないでください)
「Xcode-> Product-> Archive」の後にエクスポートしようとすると、「ios app store deploymentで保存」オプションを選択する必要があります。
同じ問題で数日混乱しましたが、上記の設定でこの問題を解決できます。
「埋め込みコンテンツにSwift code)が含まれる」がyesまたはnoであっても関係ありません。
5ステップソリューション:
Swiftは荷物を運び、以前のバージョンとObjective Cコードとの互換性が必要なので、これはわずかに欠点です。
あなたがこれが役立つことを願って、私の多くの時間は無駄になりました;)
このエラーは、-exportOptionsPlistオプションを指定せずにxcodebuildを使用してIPAをエクスポートすると発生する可能性があります。
見る xcodebuild -help
使用可能なキーがありますが、おそらく次のように、少なくともメソッドキーが「app-store」に設定されたplistが必要です。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store</string>
</dict>
</plist>
私はこれに数時間取り組んだが、ここに私のために働いたものがあります。
アーカイブでは、XcodeはSwift libsをSwiftSupport/iphoneosにコピーしませんでしたが、私のプロジェクトには "Embedded Content Contains Swift Code
"すべてのターゲットでyesに設定しました。Swift libsを" AppName.app/Frameworks"にコピーしませんでした。提出する前にアーカイブ:
コピー"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/Swift/iphoneos/lib*"
to"Archive_folder/Products/Applications/AppName.app/Frameworks" and "SwiftSupport/iphoneos"
アプリに時計アプリもある場合
コピー
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/Swift/watchos" into "Archive_folder/SwiftSupport/watchos"
および"Archive_folder/Products/Applications/AppName.app/Watch/AppName WatchKit App.app/Frameworks"
次に、アプリを送信します。
Save for iOS App Store Deployment
Xcodeエクスポートオプションの代わりにSave for Ad Hoc Deployment
を使用すると、この問題は解決しました。直感に反して、TestFlightビルドでも最初のオプションを使用する必要があります。
"埋め込みコンテンツに含まれるSwift Code"を$(inherited)
に設定しました。CocoaPodsコマンドの実行後の警告pod install
はこれを見つけるのを助けてくれました。
[!] The `applewatch Extension [Debug]` target overrides the `EMBEDDED_CONTENT_CONTAINS_Swift` build setting defined in `Pods/Target Support Files/Pods-applewatch Extension/Pods-applewatch Extension.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or <--------------
- Remove the build settings from the target.
上記の方法が機能しなくなったため、この問題を解決するために今やっていることは次のとおりです。私のコードのメインアプリはObj-Cであり、私の時計アプリはSwiftであることに注意してください。
アーカイブ後、XCodeは「[アーカイブフォルダー]/SwiftSupport/iphoneos」を作成しませんが、「[アーカイブフォルダー]/Products/Applications/[アプリ名] .app/Watch/\ WatchKit\App.app」を作成して入力します。/Frameworks」にSwift dylibsを追加しました。したがって、次のソフトリンクを作成しました。
ln -s "[アーカイブフォルダー] /Products/Applications/.app/Watch/\WatchKit\App.app/Frameworks" "[アーカイブフォルダー]/SwiftSupport/iphoneos"
その後、XCode Organize経由で送信すると、エラーなしで受け入れられます。
ファイルをリンクするのではなく単にコピーすると、監視アプリが50MBの制限を超える危険があります。
これらすべてのソリューションを試した後、幸運な方法で合格しました。しかし、このリンクはあなたにとって良いと思います Invalid Swift Support/Swiftの無効な実装 。これらの手順を実行してから、MACを再起動します。
App Storeビルド提出問題:
無効なSwiftサポート-SwiftSupportフォルダーがありません。現在のパブリック(GM)バージョンのXcodeを使用してアプリを再構築し、再送信してください。
解決策:
ほとんどの場合、App Loaderを介してアプリケーションを送信し、オーガナイザー>アプリとしてipaを作成する通常のプラクティスにより、この問題が見つかりましたアーカイブ> Finderで表示>パッケージコンテンツを表示>製品>アプリケーション> OurProjectName.appでこのアプリをペイロードフォルダーにコピーしてZipし、App Loaderを使用してApp Storeに送信するipaファイルを作成します。これは、プロジェクトに含まれるObjective Cファイルのみを送信する場合には問題ありません。
ただし、プロジェクトにSwift=クラスとその使用法が含まれる場合、いくつかの変更があります。プロジェクトにSwift Objective Cプロジェクトのクラスが含まれる場合、IPAコンテンツ構造が変更されます添付のスクリーンショットとは若干異なります。
この問題を修正するには、Xcode [OR]if Xcodeオーガナイザーのエクスポートオプションを使用して最初にipaをエクスポートし、App Loaderを介してそれらのipaファイルをApp Storeに送信するよりも、App Loaderを使用してアプリケーションを送信します。
以下の参照スクリーンショットを参照してください。
ハーレー!!!あなたの問題は修正されます:) :) :)
また、export_method
の代わりにad-hoc
がapp-store
に設定されたplistを持つipa
をiTunesにアップロードすると、このエラーが発生します。
Always Embed Swift Standard Libraries)toYesのみが必要ですSwiftに依存する独自のフレームワークに対してリンクするObjective-Cターゲットの場合。Swiftに依存する内部フレームワークに対してリンク(つまり使用)していない場合、XcodeはSwift =アーカイブ内の標準ライブラリのインポートが少なくとも1回ある場合、Swift a Swiftファイル。
言い換えると、ターゲットにSwiftファイルをインポートしない場合、Swift標準ライブラリ-「Foundationのインポート」経由で-次に、XcodeはSwift標準ライブラリをアーカイブにコピーしません。
この問題の修正は、ターゲットの少なくとも1つのSwiftファイルが= Swift標準ライブラリ(例: "import Foundation")。
Daniel Jalkutには Swift依存関係)について非常に有益な投稿があります があり、これがこの問題に光を当てています。
私の問題は、アドホックプロファイルを使用してTestFlightに送信していたことです(ディストリビューションプロビジョニングプロファイルである必要があります)。素晴らしいエラーメッセージApple!