アプリでFabric Crashlyticsを更新した後、iOSデバイスで実行できなくなりました。シミュレーターでは問題なく動作します。エラーは:
アーキテクチャarm64の未定義のシンボル: "_gzopen"、参照先:-[CLSPackageReportOperation compressFile:] in Crashlytics(CLSPackageReportOperation.o) "_gzwrite"、参照元:___ 42- [CLSPackageReportOperation compressFile:] _ block_invoke in Crashlytics(CLSPackageReportOperation.o) "_gzclose "、参照元:-[CLSPackageReportOperation compressFile:] in Crashlytics(CLSPackageReportOperation.o)ld:アーキテクチャー用のシンボルが見つかりませんarm64 clang:エラー:リンカーコマンドが終了コード1で失敗しました(-vを使用して呼び出しを確認してください)
解決しました。 Crashlytics.frameworkを削除して再インストールしました。
Crashlyticsとファブリックでは、ターゲットを以下に対してリンクする必要があります。
ターゲットを選択するだけです->ビルドフェーズ->バイナリをライブラリにリンクする->欠落しているものを追加します。
お役に立てば幸いです。
ビルド設定で他のリンカーフラグに$(inherited)
を追加するだけでこの問題を解決しました。
私にとっての解決策はビルドフェーズでした-ライブラリとバイナリをリンクすると、私のレガシープロジェクトでlibc ++を追加して機能します。
拡張 リカルドの答え こちら。 「Build Phases」タブを選択し、「Link Binary With Libraries」の横にある「+」をクリックして追加します-
Googleによると、開発者はCrashlytics Firebase経由 を使用する必要があります。これは、Firebase v5.16.0およびFabric v1.9.0(Xcode 10.1)の時点で機能しました。
$(inherited)$(OTHER_LDFLAGS)-ObjC -l "sqlite3" -l "z" -l "c ++" -framework "Crashlytics" -framework "Fabric" -framework "Security"を追加して問題を解決しました-framework "SystemConfiguration" -framework "UIKit"ビルド設定の他のリンカーフラグに。
Project(not target)Infoタブで、構成ファイルをnoneに設定し、pod install
再び