web-dev-qa-db-ja.com

'無効なビットコードバージョン(プロデューサー:' 902.0.39.2_0 'リーダー:' 900.0.37_0 ')'

私はXcode 9.0を使用しています。

私のポッドファイル

pod 'Alamofire', '~> 4.3'
pod 'SwiftyJSON'
pod 'AlamofireSwiftyJSON'
pod 'KSToastView', '0.5.7'
pod 'SDWebImage', '~> 4.0'
pod 'NVActivityIndicatorView'   
pod 'Firebase/Core'
pod 'Firebase/Messaging'
pod 'CarbonKit'
pod 'SBPickerSelector'
pod 'SwiftyStoreKit'    
pod 'Fabric'
pod 'Crashlytics'
pod 'SAMKeychain', '1.5.2'

エラーログ:

ld:ビットコードバンドルのオブジェクトファイルを再解析できませんでした: '無効なビットコードバージョン(Producer:' 902.0.39.2_0 'Reader:' 900.0.37_0 ')'、libLTOバージョン 'LLVMバージョン9.0.0、(clang-900.0.37 ) 'アーキテクチャarm64 clangの場合:エラー:リンカコマンドが終了コード1で失敗しました(呼び出しを確認するには-vを使用してください)

この問題に関する多くの記事を読みましたが、解決できません。 this を参照しました。はい、これはプロジェクトをアーカイブしてビルドしたいことに注意します

configuration = Debug
ENABLE_BITCODE = YES
configuration = Release
ENABLE_BITCODE = YES
completeSettings = some
ENABLE_BITCODE = YES

助言がありますか?

9

この問題を解決する手順:

  • ビルド設定
  • [ビルドオプション]カテゴリで[ビットコードを有効にする]オプションを検索します。
  • いいえを選択します.
19
Ashish Singh

これは、Xcodeの新しいバージョンでビルドされたプロジェクト(フレームワーク)にいくつかの依存関係があるためです。

Xcodeバージョンを更新するか、プロジェクトのビットコードを無効にする必要があります(プロジェクト>ビルド設定>ビットコードを有効にする= NO)

6
Mourad

これは、2つの異なるXcodeバージョンを並べてインストールし、間違ったコマンドラインツールを指すバージョンでビルドした場合にも発生する可能性があります。 (更新された)Xcode 10.2の横にXcode 10.1をインストールした後にこの問題が発生しました。私のXcode 10.1はXcode 10.2コマンドラインツールを指していたので、あなたの場合と同様に無効なビットコードバージョンでリンクに失敗しました。修正は次のとおりです。

  • Xcodeの設定でコマンドラインツールを変更->場所->コマンドラインツール: XCode Preferenes -> Locations

  • ビルドフォルダーを消去し、アーカイブを押します。

上記は、他のXcodeバージョンでも有効です。

3

Riveraが言ったように、あなたが使ういくつかのライブラリはXcode 10(おそらくFirebase)を期待しています。そのため、回避策はライブラリのバージョンをダウングレードすることです。私にとって、これらのバージョンはXcode 9とビットコード対応オプションでうまく機能します:

  pod 'Firebase/Core', '~> 4.13.0'
  pod 'Fabric', '~> 1.7.0'
  pod 'Crashlytics', '~> 3.9.0'

おそらく、使用する古いバージョンのFirebase/Messagingも調査する必要があります。

ところで、これは、開発者が特定のバージョンを指定せずにポッドの使用を避ける必要がある理由の1つです(常にポッドの最新バージョンをダウンロードすることになります)。また、ポッド機能を使用しているコードとのバージョンの非互換性につながる可能性があります。

1
SerhiiK

使用するライブラリの中には、Xcode 10(おそらくFirebase)が必要です。 Xcode 10を使用します。

0
Rivera