Skip to content

Commit 1546bc3

Browse files
committed
Introduce FirebaseStripBitcode property
1 parent 93956e5 commit 1546bc3

3 files changed

Lines changed: 22 additions & 1 deletion

File tree

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,16 @@ Windows
9090

9191
We rely on **determenistic order** of targets imports from nuget packages. The order is dictated by dependency graph. If package A references package B than targets from package B are imported before targets from package A. We do explicitly reference `Xamarin.Firebase.iOS.Core` package to ensure the overrides are imported after original targets.
9292

93+
## Device Incremental Builds
94+
95+
Execution of the `bitcode_strip` target takes ten(s) of seconds on every device build, which slows down your incremental builds by that amount. During development, you generally don't care about bitcode until you submit to the App Store. Speed up incremental debug builds by disabling `bitcode_strip`.
96+
97+
```
98+
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
99+
<FirebaseStripBitcode>false</FirebaseStripBitcode>
100+
</PropertyGroup>
101+
```
102+
93103
---
94104
**Note**
95105

src/Firebase.iOS.BitcodeStrip/BitcodeStrip.targets

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<!-- Public boolean property to turn on/off bitcode strip. True by default (strip enabled). -->
5+
<FirebaseStripBitcode Condition=" '$(FirebaseStripBitcode)' == '' ">true</FirebaseStripBitcode>
6+
7+
<!--
8+
Override to empty. This turns off bitcode strip master target:
9+
https://github.com/xamarin/GoogleApisForiOSComponents/blob/c7ae591364f73a4e61d47d765a1e537bb509422e/source/Firebase/Core/Core.targets#L182
10+
-->
11+
<_FirebaseStripBitcodeFromFrameworksMasterDependsOnTargets Condition=" '$(FirebaseStripBitcode)' != 'true' "></_FirebaseStripBitcodeFromFrameworksMasterDependsOnTargets>
12+
</PropertyGroup>
13+
314
<!--
415
That solves following issue https://github.com/dotnet/macios/issues/22591
516
by overriding Xamarin.Firebase.iOS.Core targets and setting proper working dir for bitcode_strip execution (XCode 16.4).

src/Firebase.iOS.BitcodeStrip/Firebase.iOS.BitcodeStrip.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
</PropertyGroup>
55
<PropertyGroup>
66
<PackageId>Xam.Firebase.iOS.BitcodeStrip</PackageId>
7-
<Version>1.0.0</Version>
7+
<Version>1.1.0</Version>
88
<Authors>yaliashkevich</Authors>
99
<Description>Helper tool for stripping bitcode from native frameworks shipped with Xamarin.Firebase.iOS.* packages, ensuring compatibility with the modern Xcode toolchain.</Description>
1010
<PackageLicenseExpression>MIT</PackageLicenseExpression>

0 commit comments

Comments
 (0)