コメントで教えていただきました。
こちらの方法で難読化してください。
https://flutter.dev/docs/deployment/obfuscate
@shinriyo さんありがとうございます!
### 上記の方法の注意点
どうやら--build-number
を指定する場合
$ flutter build ios --obfuscate --split-debug-info=<dir> --build-number=2
だと大量にエラーが出てしまいます。
なので
$ flutter build ios --build-number=2 --obfuscate --split-debug-info=<dir>
このように--build-number
指定を先にしてあげたほうが良さそうです。
ここで数時間つまづきました...。
以下に以前のバージョンの情報は残しておきます。
以下の情報は古いです。
個人的メモです。
https://github.com/flutter/flutter/wiki/Obfuscating-Dart-Code
まずこのページをみると難読化の方法が書いてある。
が、build aotってどこや。
xcode_backend.sh
を開く。
で、だいたい180行目ぐらいのところにbuild aot
が出てくる。ここや。
わからなければ、エディタかなんか使って検索する。
その一番下に追加する。
...
${local_engine_flag} \
${bitcode_flag} \
${extra_gen_snapshot_options_or_none}
こんな感じ。bitcode_flag
の行の最後の\
を忘れるとNo such file or directoryとかcommand not found
とか言われるので注意。
あと、extra_gen_snapshot_options_or_none
は変数なのでbuild aot
の前に
...
local extra_gen_snapshot_options_or_none=""
if [[ -n "$EXTRA_GEN_SNAPSHOT_OPTIONS" ]]; then
extra_gen_snapshot_options_or_none="--extra-gen-snapshot-options=$EXTRA_GEN_SNAPSHOT_OPTIONS"
fi
RunCommand "${FLUTTER_ROOT}/bin/flutter" --suppress-analytics \
${verbose_flag} \
build aot \
...
こちらをお忘れなく。
難読化後も読めるように
Release.xcconfig
には
EXTRA_GEN_SNAPSHOT_OPTIONS=--obfuscate
だけでなく
EXTRA_GEN_SNAPSHOT_OPTIONS=--obfuscate,--save-obfuscation-map=build/ios_dart_symbols_${FLUTTER_BUILD_NUMBER}.json
と書く。
これはありがたい記事がこちらにあります。ありがとうございます。
https://qiita.com/waytoa/items/afea190f6bcbf97c1551
以上、個人的メモでした。