web-dev-qa-db-ja.com

無効なバンドル、バンドルには許可されていないネストされたバンドルが含まれ、許可されていないファイル「Frameworks」が含まれています

アプリとウォッチ拡張機能の間でコードを共有する共有フレームワークを追加しました。後で多くの問題が発生するため、共有フレームワークを削除しました。 iPhoneでアプリをビルドして実行し、視聴することができます。しかし、App Storeに送信すると、次の2つのエラーが表示されます。

エラーITMS-90205:「バンドルが無効です。'xxxWatchKit Extension.appex 'のバンドルに、許可されていないネストされたバンドルが含まれています。」

エラーITMS-90206:「バンドルが無効です。'xxxWatchKit Extension.appex 'のバンドルに、許可されていないファイル' Frameworks 'が含まれています。」

私はstackoverflow( thisthisthis )で言及されているすべての解決策を試しましたが、どれもうまくいきません。エラーを修正するにはどうすればよいですか? Appleからのエラーメッセージは、私がすべきことの手がかりを実際には与えません。

21
WayneZhao

私はまだ問題の原因を完全に理解していませんが、最終的に私のために問題を解決した答えに出くわしました。

https://github.com/CocoaPods/CocoaPods/issues/42

具体的には、2015年10月12日のmikehouseによる投稿が問題の解決策でした。

次の実行スクリプトを、埋め込み拡張ターゲットすべてに追加します。私の場合、ビルドスクリプトとして実行スクリプトをToday拡張機能とApple Watch App拡張機能)に追加する必要がありました。

cd "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/"
if [[ -d "Frameworks" ]]; then 
    rm -fr Frameworks
fi
13
cgossain

「ITMS-90206」エラーはこの投稿で解決されました: 検証エラー:無効なバンドル。..のバンドルに許可されていないファイル 'Frameworks'が含まれています

WatchKit拡張機能のビルドオプション内で、設定を[はい]から[いいえ]に変更する必要があります。

Embedded Content Contains Swift Code: No
6
tuc0w

上記ではうまくいきませんでした。

Embedded Content Contains Swift Code: NO

本当に何もしませんでした。

動的フレームワークを使用してこの問題を経験しました。私の動的フレームワークには他の動的フレームワークが含まれていて、

Embedded Content Contains Swift Code: YES

そして代わりに、他の動的フレームワークにそれをNoに設定させます。しかし、その代わりに私は設定しなければなりませんでした

Always Embed Swift Standard Libraries: NO

ビルドフェーズの下。

これをYESに設定すると、frameworksフォルダーが生成され、ITCへのアップロードが失敗します。

6
user023

次のビルド設定でビルドするフレームワークがありました。

Always Embed Swift Standard Libraries: YES

Allow Non-Modular includes in Framework Modules: YES

そこで、両方をNOに変更して、フレームワークを再度ビルドしました。

Always Embed Swift Standard Libraries: NO

Allow Non-Modular includes in Framework Modules: NO

フレームワークの新しいビルドをプロジェクトに追加したので、iTunes Connectに正常にアップロードされました。

2
Vahid

今日実装したカスタムフレームワークを使用する拡張機能がありました。

私はすべての解決策を試しましたが、何もうまくいきませんでした。

本日の拡張のみでカスタムフレームワークが必要だったので、このフレームワークを本日の拡張のみにリンクして埋め込みました。

エラーの内容は次のとおりです。

バンドルに許可されていないフレームワークが含まれている

今日の拡張機能はフレームワークを埋め込むべきではなく、それにリンクするだけです。

そこで、本日の拡張機能からフレームワークを削除して、親アプリに追加しました。

注意:

親アプリはこのフレームワークに追加されているため、このフレームワークを使用する必要があります。

0
Ayman Ibrahim