開発のヒホ

iOSとかAndroidとかのアプリを開発するのに四苦八苦するブログ

DEBUG時だけUIFileSharingEnabledをYESにする方法

 UIFileSharingEnabled、実機内のアプリで生成したファイルを簡単にPCに取り込めて便利です。

 が、UIFileSharingEnabledをYESにしたまま申請すると、理由を聞かれて申請が通りません。
 ですのでアプリ申請のときだけUIFileSharingEnabledをNOにする必要があるのですが、それを忘れてしまって公開が遅れてしまうことが多々有ります。

 そこで今回、DEBUG時のみUIFileSharingEnabledをYESにする方法がわかったのでメモしておきます。
 以下のサイトを参考にさせてもらいました。
ios - UIFileSharingEnabled on debug variant only - Stack Overflow
How to Add a Run Script Build phase

 作業はとても簡単で、Run Scriptにコードを書くだけです。

 まずプロジェクトファイルのBuild Phasesタブを開きます。

f:id:hihokaruta:20150113024144p:plain

 左上の+ボタンを押して、New Run Script Phaseを選択し、Run Scriptタブを出現させます。

f:id:hihokaruta:20150113024319p:plain

 後はコードを書く部分(Shellの下)に以下のコードを入れます。

if [ ${CONFIGURATION} = "Debug" ]; then
    /usr/libexec/PlistBuddy -c "Set :UIFileSharingEnabled YES" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
else
    /usr/libexec/PlistBuddy -c "Set :UIFileSharingEnabled NO" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
fi

 これでDebug時はUIFileSharingEnabledがYESに、それ以外の時はNOのなるはずです。
 心配な方は、申請する前に一応ipaファイルを作ってみて、plistの中身を確認してみると安心できます。
バイナリ形式のplistファイル - PILOG