58

最近、コンパイルして Apple に提出したプロジェクトを開きました。

数か月間触れていませんが、次の場所で奇妙なコンパイル エラーが発生します。

#import <Crashlytics/Crashlytics.h>

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

'Crashlytics/Crashlytics.h' file not found

明らかにフレームワークが見つかりませんが、プロジェクトが数か月前に機能していたときに、突然停止した理由がわかりません。

なぜ何か提案はありますか?

Xcode: 4.6.3 Mac OS X: 10.8.4

4

12 に答える 12

87

プロジェクトのビルド設定 (検索パス) でフレームワークの検索パスに追加$(SRCROOT)するだけです。

Crashlytics のインストール プロセスは、それCrashlytics.frameworkをプロジェクト フォルダーにドロップします (またはシンボリック リンクを作成します)。

Crashlytics.framework をプロジェクト フォルダー階層のさらに深い場所に移動した場合は、'recursive' を右側に設定するか、単にHeader Search Paths.

$(SRCROOT)/Path/to/the/folder/containing/Crashlytics.framework

于 2013-08-29T09:08:30.427 に答える
25

プロジェクトとディスクからフレームワークを削除します。最新バージョンの Fabric プラグインがあることを確認してください。

次のコマンドを使用して、フレームワークをプラグイン フォルダーからデスクトップにコピーします。

ditto -xk ~/Library/Caches/com.crashlytics.mac/5b91b14e832a7b1c29441ec5ba109810/sdks/ios/com.twitter.crashlytics.ios-default.zip ~/Desktop/

ditto -xk ~/Library/Caches/com.crashlytics.mac/5b91b14e832a7b1c29441ec5ba109810/sdks/ios/io.fabric.sdk.ios-default.zip ~/Desktop/

デスクトップからプロジェクトにフレームワークを追加します。

情報元: https://twittercommunity.com/t/error-upgrading-from-crashlytics-on-ios/36196/2

于 2015-05-13T12:02:27.587 に答える
21

CocoaPods を使用して Crashlytics フレームワークを追加することをお勧めします。もうパスを気にする必要はありません。

ポッドファイル:

pod 'Crashlytics', '~> 3.4.1'

dSYM アップロードのスクリプト ビルド フェーズ:

./Pods/Crashlytics/iOS/Crashlytics.framework/run <your_crashlytics_id>

輸入:

#import <Crashlytics/Crashlytics.h>
于 2014-10-01T07:46:04.443 に答える
1

私の場合、Framework はプロジェクト フォルダーにありましたが、Project Navigator にはありませんでした。私はそれをプロジェクトにドラッグしましたが、すべてうまくいきました。

于 2014-10-01T07:30:46.663 に答える
1

チェックインしてからチェックアウトした後、(githubを介して)分散チームで作業するときにこの問題が発生しましたCrashlytics。には、Crashlytics.framework「Versions」という 1 つのフォルダしかありません。内部のコンテンツのバージョンCrashlytics.frameworkを別の場所に保存してから、後でコピーして貼り付ける必要がありCrashlytics.frameworkます。

于 2014-10-13T18:04:47.453 に答える
1

私の場合、古い Crashlytics インストールから Mac アプリを介して Cocoapods に移行していました。この質問に対する回答の多くは、すべてを完全に削除して最初からやり直すことを推奨しています。私はこれを始めましたが、 Fabric のドキュメントにあるコードと、Run Script Build フェーズに何をコピーするかを指示する Fabric アプリに示されているコードとの間に矛盾があることに気付きました。

Fabric のドキュメントには、文字列全体が二重引用符で囲まれています。"${PODS_ROOT}/Fabric/Fabric.framework/run <Your_API_Key> <Your_Build_Secret>"

Fabric アプリには、run実行可能ファイルへのパスが二重引用符で囲まれているだけです。"${PODS_ROOT}/Fabric/Fabric.framework/run" <Your_API_Key> <Your_Build_Secret>

したがって、すべてを削除して最初からやり直す前に、Run Script Build Phase を次のように更新してみてください。

"${PODS_ROOT}/Fabric/Fabric.framework/run" <Your_API_Key> <Your_Build_Secret>

于 2015-08-26T18:11:15.917 に答える
1

プロジェクトとディスクから Crashlytics.framework を削除します。コピーして再度追加します。それは私を助けました。

于 2015-03-27T12:26:30.840 に答える
0

フレームワークの検索パスをいじって、フレームワーク ファイルの再配置と再接続を試みました。ビルド設定(バイナリとライブラリのリンクセクション)を確認しましたが、エラーは解決しませんでした。

最後に、フレームワークを再インストールしました。これには 2 ~ 3 分しかかかりません。この問題は、Crashlytics.framework をルート ディレクトリから別のサブフォルダーに移動したことが原因である可能性がありますが、正確な理由はわかりません。

  • Crashlytics に関するすべてを削除する
  • crashlytics アプリを起動し、ログインしてプロジェクトを選択します
  • 実行スクリプトを追加
  • .framework ファイルをドラッグ アンド ドロップします (ルート フォルダーに保持しています)。
  • importandstartWithAPIKeyステートメントを追加し直します
于 2015-01-20T14:42:01.140 に答える
0

以前に Fabric にアップグレードしたことがあり、問題はありませんでした。数日後、同じプロジェクトを再度開いたところ、crashlytics.h ファイルが見つからないという問題がありました。

プロジェクトがコンパイルされていないため、プラグインから単純に再インストールすることはできませんでした (私のプロジェクトには CLS_LOG メッセージと欠落している crashlytics.h ファイルへの参照がたくさんありました。ビルドを許可するためだけにそれらを削除するには長い時間がかかりました)動作する - リファクタリングは CLS_LOG では動作しません)。

その代わりに、プロジェクトから crashlytics.framework を削除し、次の手順を実行してプラグインから直接復元しました。

  1. Fabric プラグインを再度ダウンロードし、zip ファイルをダブルクリックして Fabric アプリケーションを解凍します。

  2. Fabricアイコンを右クリックし、「パッケージの内容を表示」

  3. Crashlytics.framework フォルダーをデスクトップにコピーし、[ファイル] -> [ファイルを追加] でプロジェクトに再度追加します。

手順 3 がうまくいかない場合は、コンピューターのプロジェクト フォルダーに直接 crashlytics.framework を追加し、手順 3 と同じように Xcode 経由でプロジェクト リストに追加することもできますが、[必要に応じてアイテムをコピーする] のチェックを外します。すでにファイルを自分で配置しているためです。

その後、私のプロジェクトはコンパイルされ、再び正常に動作しました。

ファイルがなくなった理由についての推測では?アップグレード プロセスの一部で、古いフレームワークを削除してから、プラグインからスクリプトなどを実行する必要がありました。何が起こったのかは、後でゴミ箱を空にしたときに、いくつかの参照が失われたと思います. また、Crashlytics を .gitignore ファイルに入れるという問題があったため、コミットしたすべてのプロジェクトから消えてしまい、あまり良くありませんでした。

これが誰かを助けることを願っています!

于 2015-06-25T04:47:49.210 に答える
0

作業フォルダーの名前を変更したところ、Craslytics が失敗しました。ビルド設定(検索パス)でこれを確認してください。

幸運を!

于 2013-11-06T10:50:10.810 に答える