Skip to content

Commit 6eeb2cf

Browse files
authored
docs: update obfuscation guide for Shorebird 1.6.84 (#505)
* Update obfuscation docs for Shorebird 1.6.84 Shorebird now supports obfuscation on all platforms including iOS when using Flutter 3.41.2+. Document the --obfuscate flag on shorebird release and automatic obfuscation detection for patches. * Format with prettier
1 parent 13374e2 commit 6eeb2cf

1 file changed

Lines changed: 31 additions & 13 deletions

File tree

src/content/docs/code-push/guides/security-tools.mdx

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,30 @@ All you have to do is pass `--obfuscate` to your `flutter build` (or
5353
This obfuscation isn't particularly fancy, but it will rename all library,
5454
method and field names in your program to unique identifiers during compilation.
5555

56-
Shorebird also supports this same obfuscation, on all platforms other than iOS.
57-
Currently obfuscation support in Dart's compiler is incompatible with
58-
Shorebird's other modifications on iOS. We have a plan to fix such, it just
59-
hasn't reached the top of our list yet:
60-
https://github.com/shorebirdtech/shorebird/issues/1619
56+
### Using obfuscation with Shorebird
57+
58+
As of Shorebird 1.6.84 with Flutter 3.41.2 and later, Shorebird supports
59+
obfuscation on all platforms, including iOS.
60+
61+
To use obfuscation, pass `--obfuscate` to your `shorebird release` command:
62+
63+
```sh
64+
shorebird release android --obfuscate
65+
shorebird release ios --obfuscate
66+
```
67+
68+
When you create a patch, Shorebird will automatically detect that the release
69+
was built with obfuscation and apply the same obfuscation to the patch. No extra
70+
flags are needed:
71+
72+
```sh
73+
shorebird patch android
74+
shorebird patch ios
75+
```
76+
77+
:::note Obfuscation support requires Flutter 3.41.2 or later. If you are using
78+
an older version of Flutter, `shorebird release --obfuscate` will display an
79+
error asking you to upgrade. :::
6180

6281
## Third Party Security Programs
6382

@@ -85,13 +104,12 @@ with third party security tools and Shorebird.
85104

86105
### GuardSquare on iOS
87106

88-
We have seen one issue with GuardSquare on iOS with Shorebird. Similar to the
89-
lack of `--obfuscate` support for Shorebird with Dart, GuardSquare (at least in
90-
some configurations) will make an attempt to "obfuscate" iOS binaries further
91-
replacing the implementations of some functions with code which is used to
92-
provide obscured access to constants/strings/numbers stored within the binary.
93-
This is currently incompatible with our Dart modifications for iOS. If this is
94-
an issue for your product, we'd be happy to discuss with your GuardSquare
95-
support team if there are workarounds we could build together.
107+
We have seen one issue with GuardSquare on iOS with Shorebird. GuardSquare (at
108+
least in some configurations) will make an attempt to "obfuscate" iOS binaries
109+
further, replacing the implementations of some functions with code which is used
110+
to provide obscured access to constants/strings/numbers stored within the
111+
binary. This may be incompatible with Shorebird's Dart modifications for iOS. If
112+
this is an issue for your product, we'd be happy to discuss with your
113+
GuardSquare support team if there are workarounds we could build together.
96114

97115
Reach out to us at contact@shorebird.dev.

0 commit comments

Comments
 (0)