Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

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

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away