Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit 6b5f95c

Browse files
committed
[Firebase/Google] Added logic to strip bitcode from closed-source frameworks
1 parent c328227 commit 6b5f95c

File tree

7 files changed

+162
-35
lines changed

7 files changed

+162
-35
lines changed

components.cake

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
// Firebase artifacts available to be built. These artifacts generate NuGets.
2-
Artifact FIREBASE_AB_TESTING_ARTIFACT = new Artifact ("Firebase.ABTesting", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "ABTesting");
3-
Artifact FIREBASE_AD_MOB_ARTIFACT = new Artifact ("Firebase.AdMob", "8.13.0.1", "10.0", ComponentGroup.Firebase, csprojName: "AdMob");
4-
Artifact FIREBASE_ANALYTICS_ARTIFACT = new Artifact ("Firebase.Analytics", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "Analytics");
5-
Artifact FIREBASE_AUTH_ARTIFACT = new Artifact ("Firebase.Auth", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "Auth");
6-
Artifact FIREBASE_CLOUD_FIRESTORE_ARTIFACT = new Artifact ("Firebase.CloudFirestore", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "CloudFirestore");
7-
Artifact FIREBASE_CLOUD_FUNCTIONS_ARTIFACT = new Artifact ("Firebase.CloudFunctions", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "CloudFunctions");
8-
Artifact FIREBASE_CLOUD_MESSAGING_ARTIFACT = new Artifact ("Firebase.CloudMessaging", "8.10.0.2", "10.0", ComponentGroup.Firebase, csprojName: "CloudMessaging");
9-
Artifact FIREBASE_CORE_ARTIFACT = new Artifact ("Firebase.Core", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "Core");
10-
Artifact FIREBASE_CRASHLYTICS_ARTIFACT = new Artifact ("Firebase.Crashlytics", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "Crashlytics");
11-
Artifact FIREBASE_DATABASE_ARTIFACT = new Artifact ("Firebase.Database", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "Database");
12-
Artifact FIREBASE_DYNAMIC_LINKS_ARTIFACT = new Artifact ("Firebase.DynamicLinks", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "DynamicLinks");
13-
Artifact FIREBASE_IN_APP_MESSAGING_ARTIFACT = new Artifact ("Firebase.InAppMessaging", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "InAppMessaging");
14-
Artifact FIREBASE_INSTALLATIONS_ARTIFACT = new Artifact ("Firebase.Installations", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "Installations");
15-
Artifact FIREBASE_PERFORMANCE_MONITORING_ARTIFACT = new Artifact ("Firebase.PerformanceMonitoring", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "PerformanceMonitoring");
16-
Artifact FIREBASE_REMOTE_CONFIG_ARTIFACT = new Artifact ("Firebase.RemoteConfig", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "RemoteConfig");
17-
Artifact FIREBASE_STORAGE_ARTIFACT = new Artifact ("Firebase.Storage", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "Storage");
2+
Artifact FIREBASE_AB_TESTING_ARTIFACT = new Artifact ("Firebase.ABTesting", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "ABTesting");
3+
Artifact FIREBASE_AD_MOB_ARTIFACT = new Artifact ("Firebase.AdMob", "8.13.0.3", "10.0", ComponentGroup.Firebase, csprojName: "AdMob");
4+
Artifact FIREBASE_ANALYTICS_ARTIFACT = new Artifact ("Firebase.Analytics", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "Analytics");
5+
Artifact FIREBASE_AUTH_ARTIFACT = new Artifact ("Firebase.Auth", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "Auth");
6+
Artifact FIREBASE_CLOUD_FIRESTORE_ARTIFACT = new Artifact ("Firebase.CloudFirestore", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "CloudFirestore");
7+
Artifact FIREBASE_CLOUD_FUNCTIONS_ARTIFACT = new Artifact ("Firebase.CloudFunctions", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "CloudFunctions");
8+
Artifact FIREBASE_CLOUD_MESSAGING_ARTIFACT = new Artifact ("Firebase.CloudMessaging", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "CloudMessaging");
9+
Artifact FIREBASE_CORE_ARTIFACT = new Artifact ("Firebase.Core", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "Core");
10+
Artifact FIREBASE_CRASHLYTICS_ARTIFACT = new Artifact ("Firebase.Crashlytics", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "Crashlytics");
11+
Artifact FIREBASE_DATABASE_ARTIFACT = new Artifact ("Firebase.Database", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "Database");
12+
Artifact FIREBASE_DYNAMIC_LINKS_ARTIFACT = new Artifact ("Firebase.DynamicLinks", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "DynamicLinks");
13+
Artifact FIREBASE_IN_APP_MESSAGING_ARTIFACT = new Artifact ("Firebase.InAppMessaging", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "InAppMessaging");
14+
Artifact FIREBASE_INSTALLATIONS_ARTIFACT = new Artifact ("Firebase.Installations", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "Installations");
15+
Artifact FIREBASE_PERFORMANCE_MONITORING_ARTIFACT = new Artifact ("Firebase.PerformanceMonitoring", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "PerformanceMonitoring");
16+
Artifact FIREBASE_REMOTE_CONFIG_ARTIFACT = new Artifact ("Firebase.RemoteConfig", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "RemoteConfig");
17+
Artifact FIREBASE_STORAGE_ARTIFACT = new Artifact ("Firebase.Storage", "8.10.0.3", "10.0", ComponentGroup.Firebase, csprojName: "Storage");
1818
// Artifact FIREBASE_APP_DISTRIBUTION_ARTIFACT = new Artifact ("Firebase.AppDistribution", "8.10.0.1", "10.0", ComponentGroup.Firebase, csprojName: "AppDistribution");
1919
// Artifact FIREBASE_APP_CHECK_ARTIFACT = new Artifact ("Firebase.AppCheck", "8.10.0.1", "11.0", ComponentGroup.Firebase, csprojName: "AppCheck");
2020

2121
// Google artifacts available to be built. These artifacts generate NuGets.
22-
Artifact GOOGLE_ANALYTICS_ARTIFACT = new Artifact ("Google.Analytics", "3.20.0.1", "9.0", ComponentGroup.Google, csprojName: "Analytics");
22+
Artifact GOOGLE_ANALYTICS_ARTIFACT = new Artifact ("Google.Analytics", "3.20.0.2", "9.0", ComponentGroup.Google, csprojName: "Analytics");
2323
Artifact GOOGLE_CAST_ARTIFACT = new Artifact ("Google.Cast", "4.7.0.1", "12.0", ComponentGroup.Google, csprojName: "Cast");
2424
Artifact GOOGLE_MAPS_ARTIFACT = new Artifact ("Google.Maps", "6.0.1.1", "12.0", ComponentGroup.Google, csprojName: "Maps");
25-
Artifact GOOGLE_MOBILE_ADS_ARTIFACT = new Artifact ("Google.MobileAds", "8.13.0.1", "10.0", ComponentGroup.Google, csprojName: "MobileAds");
25+
Artifact GOOGLE_MOBILE_ADS_ARTIFACT = new Artifact ("Google.MobileAds", "8.13.0.3", "10.0", ComponentGroup.Google, csprojName: "MobileAds");
2626
Artifact GOOGLE_UMP_ARTIFACT = new Artifact ("Google.UserMessagingPlatform", "1.1.0.1", "10.0", ComponentGroup.Google, csprojName: "UserMessagingPlatform");
2727
Artifact GOOGLE_PLACES_ARTIFACT = new Artifact ("Google.Places", "6.0.0.1", "12.0", ComponentGroup.Google, csprojName: "Places");
28-
Artifact GOOGLE_SIGN_IN_ARTIFACT = new Artifact ("Google.SignIn", "5.0.2.3", "10.0", ComponentGroup.Google, csprojName: "SignIn");
29-
Artifact GOOGLE_TAG_MANAGER_ARTIFACT = new Artifact ("Google.TagManager", "7.4.0.1", "10.0", ComponentGroup.Google, csprojName: "TagManager");
28+
Artifact GOOGLE_SIGN_IN_ARTIFACT = new Artifact ("Google.SignIn", "5.0.2.4", "10.0", ComponentGroup.Google, csprojName: "SignIn");
29+
Artifact GOOGLE_TAG_MANAGER_ARTIFACT = new Artifact ("Google.TagManager", "7.4.0.2", "10.0", ComponentGroup.Google, csprojName: "TagManager");
3030

3131
// MLKit artifacts available to be built. These artifacts generate NuGets.
3232
Artifact MLKIT_CORE_ARTIFACT = new Artifact ("MLKit.Core", "5.0.0", "10.0", ComponentGroup.MLKit, csprojName: "Core");

source/Firebase/Analytics/Analytics.targets

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
<_FirebaseAnalyticsItemsFolder>FAnlytcs-8.9.1</_FirebaseAnalyticsItemsFolder>
55
<_FirebaseAnalyticsSDKBaseFolder>$(XamarinBuildDownloadDir)$(_FirebaseAnalyticsItemsFolder)\FirebaseAnalytics-8.9.1\Frameworks\</_FirebaseAnalyticsSDKBaseFolder>
66
</PropertyGroup>
7+
<!-- Framework names to strip bitcode -->
8+
<ItemGroup Condition="('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True')">
9+
<_FrameworkNamesToStripBitcode Include="FirebaseAnalytics" />
10+
</ItemGroup>
711
<ItemGroup Condition="('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True')">
812
<XamarinBuildDownload Include="$(_FirebaseAnalyticsItemsFolder)">
913
<Url>https://dl.google.com/firebase/ios/analytics/66ce3623aa8037ff/FirebaseAnalytics-8.9.1.tar.gz</Url>

source/Firebase/Core/Core.targets

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,4 +157,68 @@
157157
<NativeReference Include="@(_NativeReference)" />
158158
</ItemGroup>
159159
</Target>
160+
161+
<!-- -->
162+
<!-- Targets to strip bitcode from specified frameworks -->
163+
<!-- -->
164+
165+
<!-- Framework names to strip bitcode -->
166+
<ItemGroup Condition="('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True')">
167+
<_FrameworkNamesToStripBitcode Include="GoogleAppMeasurement" Condition="'$(FirebaseWithoutAdIdSupport)'!='True'" />
168+
<_FrameworkNamesToStripBitcode Include="GoogleAppMeasurementIdentitySupport" Condition="'$(FirebaseWithoutAdIdSupport)'=='True'" />
169+
</ItemGroup>
170+
171+
<PropertyGroup>
172+
<!-- Properties used to strip bitcode from frameworks when using Visual Studio for Mac -->
173+
<_FirebaseStripBitcodeFromFrameworksMasterAfterTargets Condition="'$(OS)'=='Unix'">_ExpandNativeReferences</_FirebaseStripBitcodeFromFrameworksMasterAfterTargets>
174+
<_FirebaseStripBitcodeFromFrameworksMasterDependsOnTargets Condition="'$(OS)'=='Unix'">_FirebaseStripBitcodeFromFrameworksOnMac</_FirebaseStripBitcodeFromFrameworksMasterDependsOnTargets>
175+
176+
<!-- Properties used to strip bitcode from frameworks when using Visual Studio for Windows -->
177+
<_FirebaseStripBitcodeFromFrameworksMasterAfterTargets Condition="'$(OS)'!='Unix'">_ComputeFrameworkFilesToPublish</_FirebaseStripBitcodeFromFrameworksMasterAfterTargets>
178+
<_FirebaseStripBitcodeFromFrameworksMasterDependsOnTargets Condition="'$(OS)'!='Unix'">_FirebaseStripBitcodeFromFrameworksOnWindows</_FirebaseStripBitcodeFromFrameworksMasterDependsOnTargets>
179+
</PropertyGroup>
180+
181+
<Target Name="_FirebaseStripBitcodeFromFrameworksMasterTarget"
182+
Condition="'$(_FirebaseStripBitcodeFromFrameworksMasterDependsOnTargets)'!='' AND ('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True') AND '$(_SdkIsSimulator)'=='False' AND @(_FrameworkNamesToStripBitcode->Count()) != 0"
183+
AfterTargets="$(_FirebaseStripBitcodeFromFrameworksMasterAfterTargets)"
184+
DependsOnTargets="$(_FirebaseStripBitcodeFromFrameworksMasterDependsOnTargets)" />
185+
186+
<Target Name="_FirebaseStripBitcodeFromFrameworksOnMac">
187+
<!-- Get the frameworks to strip bitcode -->
188+
<FindInList
189+
List="@(_FrameworkNativeReference)"
190+
ItemSpecToFind="%(_FrameworkNamesToStripBitcode.Identity)"
191+
MatchFileNameOnly="True">
192+
<Output TaskParameter="ItemFound" ItemName="_FrameworksToStripBitcode"/>
193+
</FindInList>
194+
195+
<!-- Find the bitcode_strip command -->
196+
<Exec Command="xcrun -find bitcode_strip" ConsoleToMSBuild="true">
197+
<Output TaskParameter="ConsoleOutput" PropertyName="_BitcodeStripCommand" />
198+
</Exec>
199+
200+
<!-- Strip the bitcode from frameworks -->
201+
<Exec Command="$(_BitcodeStripCommand) %(_FrameworksToStripBitcode.Identity) -r -o %(_FrameworksToStripBitcode.Identity)" />
202+
</Target>
203+
204+
<Target Name="_FirebaseStripBitcodeFromFrameworksOnWindows"
205+
Condition="'$(IsMacEnabled)'=='true'">
206+
<!-- Get the frameworks to strip bitcode -->
207+
<FindInList
208+
CaseSensitive="false"
209+
List="@(_FrameworkNativeReference)"
210+
ItemSpecToFind="%(_FrameworkNamesToStripBitcode.Identity)"
211+
MatchFileNameOnly="True">
212+
<Output TaskParameter="ItemFound" ItemName="_FrameworksToStripBitcode"/>
213+
</FindInList>
214+
215+
<!-- Strip the bitcode from frameworks -->
216+
<Exec SessionId="$(BuildSessionId)"
217+
Command="&quot;%24(xcrun -find bitcode_strip)&quot; %(_FrameworksToStripBitcode.Identity) -r -o %(_FrameworksToStripBitcode.Identity)" />
218+
219+
<CopyFileFromBuildServer
220+
SessionId="$(BuildSessionId)"
221+
File="%(_FrameworksToStripBitcode.Identity)"
222+
TargetFile="%(_FrameworksToStripBitcode.Identity)" />
223+
</Target>
160224
</Project>

source/Google/Analytics/Analytics.targets

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,66 @@
1919
<Frameworks>CoreData SystemConfiguration</Frameworks>
2020
</NativeReference>
2121
</ItemGroup>
22+
23+
<!-- -->
24+
<!-- Targets to strip bitcode from specified frameworks -->
25+
<!-- -->
26+
27+
<!-- Framework names to strip bitcode -->
28+
<ItemGroup Condition="('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True')">
29+
<_FrameworkNamesToStripBitcode Include="GoogleAnalytics" />
30+
</ItemGroup>
31+
32+
<PropertyGroup>
33+
<!-- Properties used to strip bitcode from frameworks when using Visual Studio for Mac -->
34+
<_GoogleAnalyticsStripBitcodeFromFrameworksMasterAfterTargets Condition="'$(OS)'=='Unix'">_ExpandNativeReferences</_GoogleAnalyticsStripBitcodeFromFrameworksMasterAfterTargets>
35+
<_GoogleAnalyticsStripBitcodeFromFrameworksMasterDependsOnTargets Condition="'$(OS)'=='Unix'">_GoogleAnalyticsStripBitcodeFromFrameworksOnMac</_GoogleAnalyticsStripBitcodeFromFrameworksMasterDependsOnTargets>
36+
37+
<!-- Properties used to strip bitcode from frameworks when using Visual Studio for Windows -->
38+
<_GoogleAnalyticsStripBitcodeFromFrameworksMasterAfterTargets Condition="'$(OS)'!='Unix'">_ComputeFrameworkFilesToPublish</_GoogleAnalyticsStripBitcodeFromFrameworksMasterAfterTargets>
39+
<_GoogleAnalyticsStripBitcodeFromFrameworksMasterDependsOnTargets Condition="'$(OS)'!='Unix'">_GoogleAnalyticsStripBitcodeFromFrameworksOnWindows</_GoogleAnalyticsStripBitcodeFromFrameworksMasterDependsOnTargets>
40+
</PropertyGroup>
41+
42+
<Target Name="_GoogleAnalyticsStripBitcodeFromFrameworksMasterTarget"
43+
Condition="'$(_GoogleAnalyticsStripBitcodeFromFrameworksMasterDependsOnTargets)'!='' AND ('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True') AND '$(_SdkIsSimulator)'=='False' AND @(_FrameworkNamesToStripBitcode->Count()) != 0"
44+
AfterTargets="$(_GoogleAnalyticsStripBitcodeFromFrameworksMasterAfterTargets)"
45+
DependsOnTargets="$(_GoogleAnalyticsStripBitcodeFromFrameworksMasterDependsOnTargets)" />
46+
47+
<Target Name="_GoogleAnalyticsStripBitcodeFromFrameworksOnMac">
48+
<!-- Get the frameworks to strip bitcode -->
49+
<FindInList
50+
CaseSensitive="false"
51+
List="@(_FrameworkNativeReference)"
52+
ItemSpecToFind="%(_FrameworkNamesToStripBitcode.Identity)">
53+
<Output TaskParameter="ItemFound" ItemName="_FrameworksToStripBitcode"/>
54+
</FindInList>
55+
56+
<!-- Find the bitcode_strip command -->
57+
<Exec Command="xcrun -find bitcode_strip" ConsoleToMSBuild="true">
58+
<Output TaskParameter="ConsoleOutput" PropertyName="_BitcodeStripCommand" />
59+
</Exec>
60+
61+
<!-- Strip the bitcode from frameworks -->
62+
<Exec Command="$(_BitcodeStripCommand) %(_FrameworksToStripBitcode.Identity) -r -o %(_FrameworksToStripBitcode.Identity)" />
63+
</Target>
64+
65+
<Target Name="_GoogleAnalyticsStripBitcodeFromFrameworksOnWindows"
66+
Condition="'$(IsMacEnabled)'=='true'">
67+
<!-- Get the frameworks to strip bitcode -->
68+
<FindInList
69+
CaseSensitive="false"
70+
List="@(_FrameworkNativeReference)"
71+
ItemSpecToFind="%(_FrameworkNamesToStripBitcode.Identity)">
72+
<Output TaskParameter="ItemFound" ItemName="_FrameworksToStripBitcode"/>
73+
</FindInList>
74+
75+
<!-- Strip the bitcode from frameworks -->
76+
<Exec SessionId="$(BuildSessionId)"
77+
Command="&quot;%24(xcrun -find bitcode_strip)&quot; %(_FrameworksToStripBitcode.Identity) -r -o %(_FrameworksToStripBitcode.Identity)" />
78+
79+
<CopyFileFromBuildServer
80+
SessionId="$(BuildSessionId)"
81+
File="%(_FrameworksToStripBitcode.Identity)"
82+
TargetFile="%(_FrameworksToStripBitcode.Identity)" />
83+
</Target>
2284
</Project>

source/Google/MobileAds/MobileAds.targets

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
<_GoogleMobileAdsId>FAdM-8.13.0</_GoogleMobileAdsId>
55
<_GoogleMobileAdsSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleMobileAdsId)\Frameworks\GoogleMobileAdsFramework-Current\</_GoogleMobileAdsSDKBaseFolder>
66
</PropertyGroup>
7+
<!-- Framework names to strip bitcode -->
8+
<ItemGroup Condition="('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True')">
9+
<_FrameworkNamesToStripBitcode Include="GoogleMobileAds" />
10+
</ItemGroup>
711
<ItemGroup Condition="('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True')">
812
<XamarinBuildDownload Include="$(_GoogleMobileAdsId)">
913
<Url>https://dl.google.com/dl/cpdc/7a51a535dad39fe5/Google-Mobile-Ads-SDK-8.13.0.tar.gz</Url>
@@ -19,19 +23,4 @@
1923
</NativeReference>
2024
</ItemGroup>
2125
</Target>
22-
<!-- ResolveNativeReferences task is omitting NativeReference metadata of Xcframeworks
23-
https://github.com/xamarin/xamarin-macios/issues/13843
24-
Here's a workaround to include the missing metada meanwhile the fix hit stable -->
25-
<Target Name="_AddMissingMetadataForGoogleMobileAds" AfterTargets="_ExpandNativeReferences">
26-
<ItemGroup>
27-
<!-- From https://dl.google.com/dl/cpdc/7a51a535dad39fe5/Google-Mobile-Ads-SDK-8.13.0.tar.gz -->
28-
<_FrameworkNativeReference Update="@(_FrameworkNativeReference)" Condition="'%(_FrameworkNativeReference.Filename)' == 'GoogleMobileAds'">
29-
<SmartLink>True</SmartLink>
30-
<ForceLoad>True</ForceLoad>
31-
<LinkerFlags>-ObjC -lz -lsqlite3</LinkerFlags>
32-
<Frameworks>AudioToolbox AVFoundation CFNetwork CoreGraphics CoreMedia CoreTelephony CoreVideo MediaPlayer MessageUI MobileCoreServices QuartzCore Security StoreKit SystemConfiguration</Frameworks>
33-
<WeakFrameworks>AdSupport JavaScriptCore SafariServices WebKit</WeakFrameworks>
34-
</_FrameworkNativeReference>
35-
</ItemGroup>
36-
</Target>
3726
</Project>

source/Google/SignIn/SignIn.targets

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
<_GoogleSignInItemsFolder>GSgnI-5.0.2</_GoogleSignInItemsFolder>
55
<_GoogleSignInSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleSignInItemsFolder)\</_GoogleSignInSDKBaseFolder>
66
</PropertyGroup>
7+
<!-- Framework names to strip bitcode -->
8+
<ItemGroup Condition="('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True')">
9+
<_FrameworkNamesToStripBitcode Include="GoogleSignIn" />
10+
</ItemGroup>
711
<ItemGroup Condition="('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True')">
812
<XamarinBuildDownload Include="$(_GoogleSignInItemsFolder)">
913
<Url>https://dl.google.com/dl/cpdc/4d5ad0c02cd38abf/GoogleSignIn-5.0.2.tar.gz</Url>

source/Google/TagManager/TagManager.targets

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
<_GoogleTagManagerSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleTagManagerItemsFolder)\</_GoogleTagManagerSDKBaseFolder>
66
<_GoogleTagManageFrameworksBaseFolder>$(_GoogleTagManagerSDKBaseFolder)GoogleTagManager-7.4.0\Frameworks\</_GoogleTagManageFrameworksBaseFolder>
77
</PropertyGroup>
8+
<!-- Framework names to strip bitcode -->
9+
<ItemGroup Condition="('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True')">
10+
<_FrameworkNamesToStripBitcode Include="GoogleTagManager" />
11+
</ItemGroup>
812
<ItemGroup Condition="('$(OutputType)'!='Library' OR '$(IsAppExtension)'=='True')">
913
<XamarinBuildDownload Include="$(_GoogleTagManagerItemsFolder)">
1014
<Url>https://dl.google.com/firebase/ios/tagmanager/405c0e6ab8f653b7/GoogleTagManager-7.4.0.tar.gz</Url>

0 commit comments

Comments
 (0)