⚙️
Flutter Dart-defineでInfo.plistの値も変更する
Dart-define便利
簡単にビルド設定切り替えられてとっても便利。感謝です。
でもちょっとだけ悩んだのがgoogle_sign_inで、
iOSでGoogle Signinしたい時は、Info.plistにREVERSED_CLIENT_ID相当の値を埋め込まないといけない。当然取り込むGoogleService-Info.plistが変わった時はInfo.plist内の値も変えないと駄目。面倒だ。
xcconfigファイルで定義する
元の記事ではFlavorに対応してxcconfigファイルを作成しています。これを利用すれば解決出来そう、と取り組んでみました。
// dev.xcconfig
FLAVOR=dev
REVERSED_CLIENT_ID=com.googleusercontent.apps....
// prod.xcconfig
FLAVOR=prod
REVERSED_CLIENT_ID=com.googleusercontent.apps....
REVERSED_CLIENT_IDを定義したらInfo.plist中で使うだけです。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>$(REVERSED_CLIENT_ID)</string>
</array>
</dict>
</array>
Discussion