2017-05-03 12 views
0

私はS3サービスを使用する必要があったため、最近私のアプリケーションにAWS SDKを含めました。私はフレームワークの全体の束を含め、いくつかの写真をアップロードしてダウンロードするだけで、間違いなく私は他の選択肢を見つけられなかったと思います。無効なバンドル構造 - AWS SDK

すべてが問題なく構築されました。また、ローカルデバイスでも実行されていました。

enter image description here

ERROR ITMS-90166::私はアーカイブしようとしたとき

は、私は次のエラー得ません。「コード署名資格がありません「をcom.amazonaws.sdk.iosバンドルに見つかりませ資格を。 AWSResources ... "

ERROR ITMS-90171: "無効なバンドル構造 - バイナリファイル" ../Frameworks/AWSLex.framework/AWSResouces.bundle/AWSResources" が許可されていないあなたがアプリをすることができます。スタンドアロンのexecを含んでいないut30またはライブラリ.... "

私が見つけた唯一の一時的な解決策は、AWSResouces.bundleを削除してエラーなしでアーカイブすることでした。

AWS SDKを追加するには、私はCarthageを使用します。

githubの "AWS/AWS-SDK-IOS" 私が使用し、 "2.5.5"

+0

AWSS3.frameworkとAWSCore.frameworkのみを使用している場合、AWSLex.frameworkを含めるようです。埋め込みライブラリリストから他のAWSフレームワークを削除する必要があります。 – donkon

+0

@donkon私はその解決策についても考えていましたが、私は "https://github.com/lvillani/carthage-copy-frameworks"を使用しています。アマゾンがやったやり方では、すべてのアップデートで手動でフレームワークを削除する必要があります。代わりに、私はAWSS3とAWSCoreをフォークし、不要な依存関係を取り除くことができました。なぜアマゾンがその方法を選んだのだろうと思っています。なぜAWSLexにスタンドアロンの実行可能ファイルを含めるのでしょうか。 – zirinisp

+1

ビルドスクリプトの一部としてフレームワークを削除するスクリプトを追加できました。彼らは問題を認識していますが、解決策はまだありません。 – donkon

答えて

0

ソリューションは、donkonのおかげで必要とされなかったすべてのフレームワークを削除するには、スクリプトを使用することでした。スクリプトは以下の通りです:

find "${SRCROOT}"/Carthage/Build/iOS/AWS* -type d ! -name 'AWSS3*' ! -name 'AWSCore*' -maxdepth 0 -exec rm -rf {} \; 

は、ターゲット上でその追加 - >「ターゲット」 - >

enter image description here

フェーズを構築し、私は将来的にはAmazonはカルタゴを使用するために私たちを可能にすることを願っていますし、必要なフレームワークだけを追加します。

関連する問題