LoginSignup
5
4

More than 3 years have passed since last update.

flutter build iosの難読化に失敗する

Last updated at Posted at 2019-10-01

コメントで教えていただきました。

こちらの方法で難読化してください。
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

以上、個人的メモでした。

5
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4