サイトのトップへ戻る

Twitter 開発者 ドキュメント日本語訳

高度な設定



ビルドサービス

Twitterでは細かい設定不要で JenkinsXCode Bots をサポートしています。 Onboard your app using Fabric, push to your server and we’ll receive your dSYMs automatically.

プロヒント:サーバでは Xcode.appをクローズし、Crashlytics.appをインストールしないよう気をつけてください。



iOS フレームワークを移動する

Crashlytics.Framework を別のディレクトリに移動させることは可能です。; ただ `Run Script Build Phase` が新しいディレクトリを指すように更新するだけです。

例: 既定の Crashlytics run script build phase は以下となっています:

	./Crashlytics.framework/run <your_api_key_here>

Crashlytics フレームワークを“Vendor”という名前の一つ下の階層に移動させる場合、run script build phaseを以下のように変更する必要があります。:

	./Vendor/Crashlytics.framework/run <your_api_key_here>

Build Phase Cheat Sheet を使うと助けになるでしょう。



条件付き dSYM アップロード

既定のセットアップでは、全てのビルドにおいてアプリのdSYMファイルを取得するようにします (ビルドする際はコードが変更されていると考えられられるため)。 この設定のおかげで、アプリの開発中や内部テスト中にクラッシュが発生した場合、クラッシュの原因となったコードの正確な行の表示がされます。

Crashlytics を特定のビルドでのみ実行したい場合は、 run script build phaseに希望する時のみ実行するロジックを追加することができます。以下を参考にしてやってみましょう:

	releaseConfig="Release"
	
	if [ "$releaseConfig" = "${CONFIGURATION}" ]; then   
    	echo "Running Crashlytics"
    	./Crashlytics.framework/run <your_api_key_here>
    fi


dSYMs を手動でアップロードする

dSYMsがピックアップされてにないと判明した場合、アプリの設定ページ](https://fabric.io/settings/apps)へ行ってアプリを選択し、後述のようにURL最後に “mappings”を追加することによってdSYMsを手動で追加できます。:

https://fabric.io/settings/apps/<my_app_id>/mappings

こうすることで、dSYMsを手動でアップロードできるページが表示されます。



複数ターゲット

Crashlytics を複数のターゲットに対して実行するには、Crashlytics Run Scriptを各ターゲットのBuild Phaseに追加します。 既定の Crashlytics run script build phase は以下の通りです:

	./Crashlytics.framework/run <your_api_key_here>


複数環境でのアプリ開発

あなたがMyAwesomeApp と呼ばれるアプリを持っており、そのアプリの開発バージョンと製品バージョンのどちらにも同じIDをつけたいとします。

最も簡単な方法は、各バージョンごとに組織アカウント(organization )を分けて作成し、組織アカウントに対応した各バージョンのMyAwesomeApp をオンボードし (各組織アカウントごとに専用のAPIキーを取得するようにしてください。) 、全ての設定をすることです。

なぜこの方法を取るのか?

  • 組織アカウントによってクラッシュを分けるため
  • 各組織アカウントに異なったチームメンバーを追加し、開発段階ごとにprod へのアクセス権を制御するため。など


プライバシーダイアログ

既定では、この機能は無効になっています。あなたのアプリのいずれかのバージョンでクラッシュが発生した時、このクラッシュを報告するかどうかをユーザーに確認します。 我々の分析データによるとほとんどのユーザーがクラッシュの報告を拒否するので、この機能は無効のままにすることをお勧めします。 有効にしたいのであれば、アプリの設定ページで有効にできます。



応用

Crashlyticsの“Send Crash Report”ダイアログを国別言語対応したい場合、 プロジェクトのローカライズリソース内にある “Crashlytics.strings”と呼ばれる標準文字列ファイルをインクルードしなければなりません。

以下のキーを使用できます:

  • “CrashlyticsCrashSubmissionPromptTitle”
  • “CrashlyticsCrashSubmissionPromptMessage”
  • “CrashlyticsCrashSubmissionSendTitle”
  • “CrashlyticsCrashSubmissionAlwaysSendTitle”
  • “CrashlyticsCrashSubmissionCancelTitle”

任意の言語でこれらのキーの値を設定すると、Twitter web UIの該当項目がその値で上書きされます。 However, you still must use the web UI to control the presence of the “always send” button and the prompt dialog itself.

Crashlytics.strings ファイルの例:

/* 
Crashlytics.strings
*/

"CrashlyticsCrashSubmissionPromptTitle"     = "Send Crash Report?";
"CrashlyticsCrashSubmissionPromptMessage"   = "Looks like we 
					crashed! Please help us fix the problem 
					by sending a crash report.";
"CrashlyticsCrashSubmissionSendTitle"       = "Send";
"CrashlyticsCrashSubmissionAlwaysSendTitle" = "Always Send";
"CrashlyticsCrashSubmissionCancelTitle"     = "Don't Send";