Archive するたびに Splunk Mint (旧 Bugsense) に自動で dSYM ファイルをアップロードする

追記: この記事は古い情報です。現在この記事の方法ではアップロードできません。

最新の SplunkMint-iOS をインストールし、以下の記事に従って設定してください。(ただし、アーカイブ時ではなくビルド時にアプロードされます)

Configure your project for symbolication - Splunk Documentation

API キーとトークンの取得

API キーとトークンは Splunk Mint のサイトにログインして、それぞれ以下のページから取得する。

  • API キー
    • プロジェクトの Settings > General
  • API トーク
    • Account > Account Info > My Info
Xcode プロジェクトの設定

Xcodeスキーマ(Xcode 上バーのデバッグ停止ボタンの右) をクリックして Edit Scheme... を選択する。

f:id:suer:20150609144908p:plain

Archive の Post-actions を開き、+ をクリックして New Run Script Action を選択する。

f:id:suer:20150609145221p:plain

Shell は /bin/shスクリプトは以下のとおり

API_KEY="API キー"
API_TOKEN="API トークン"
APP_NAME=アプリ名
rm -f $APP_NAME.app.dSYM.zip
zip -r $APP_NAME.app.dSYM.zip "${ARCHIVE_DSYMS_PATH}/$APP_NAME.app.dSYM"
curl -F file=@"$APP_NAME.app.dSYM.zip" --header "X-Splunk-Mint-apikey: $API_KEY"  --header "X-Splunk-Mint-Auth-Token: $API_TOKEN" "https://symbolicator.splkmobile.com/upload/dsym" -i
API キーやトークンを Git の管理対象に入れたく無い場合

プロジェクトルートディレクトリに mint.plist というファイルを置いて、.gitignore で管理対象にならないようにする。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>API_KEY</key>
<string>API キー</string>
<key>API_TOKEN</key>
<string>API トークン</string>
</dict>
</plist>

以下のようなスクリプトを登録する

APP_NAME="アプリ名"
API_KEY=$(/usr/libexec/PlistBuddy -c "Print API_KEY" $(dirname ${WORKSPACE_PATH})/mint.plist)
API_TOKEN=$(/usr/libexec/PlistBuddy -c "Print API_TOKEN" $(dirname ${WORKSPACE_PATH})/mint.plist)

rm -f $APP_NAME.app.dSYM.zip
zip -r $APP_NAME.app.dSYM.zip "${ARCHIVE_DSYMS_PATH}/$APP_NAME.app.dSYM"
curl -F file=@"$APP_NAME.app.dSYM.zip" --header "X-Splunk-Mint-apikey: ${API_KEY}"  --header "X-Splunk-Mint-Auth-Token: ${API_TOKEN}  "https://symbolicator.splkmobile.com/upload/dsym" -i