diff --git a/Readme.md b/Readme.md
index b2b79ea6e..404310421 100644
--- a/Readme.md
+++ b/Readme.md
@@ -4,81 +4,88 @@ Xamarin creates and maintains Xamarin.iOS bindings for the Google APIs for iOS L
**Active Libraries**
+| Package Id | NuGet |
+|------------------------------------------------------------------------------|-----------------------------------------------|
+| [Xamarin.Firebase.iOS.ABTesting][F.ABTesting.Name] | [8.10.0][F.ABTesting.Package] |
+| [Xamarin.Firebase.iOS.AdMob][F.AdMob.Name] | [8.10.0.0][F.AdMob.Package] |
+| [Xamarin.Firebase.iOS.Analytics][F.Analytics.Name] | [8.10.0][F.Analytics.Package] |
+| [Xamarin.Firebase.iOS.Auth][F.Auth.Name] | [8.10.0][F.Auth.Package] |
+| [Xamarin.Firebase.iOS.CloudFirestore][F.CloudFirestore.Name] | [8.10.0][F.CloudFirestore.Package] |
+| [Xamarin.Firebase.iOS.CloudFunctions][F.CloudFunctions.Name] | [8.10.0][F.CloudFunctions.Package] |
+| [Xamarin.Firebase.iOS.CloudMessaging][F.CloudMessaging.Name] | [8.10.0][F.CloudMessaging.Package] |
+| [Xamarin.Firebase.iOS.Core][F.Core.Name] | [8.10.0][F.Core.Package] |
+| [Xamarin.Firebase.iOS.Crashlytics][F.Crashlytics.Name] | [8.10.0][F.Crashlytics.Package] |
+| [Xamarin.Firebase.iOS.Database][F.Database.Name] | [8.10.0][F.Database.Package] |
+| [Xamarin.Firebase.iOS.DynamicLinks][F.DynamicLinks.Name] | [8.10.0][F.DynamicLinks.Package] |
+| [Xamarin.Firebase.iOS.InAppMessaging][F.InAppMessaging.Name] | [8.10.0][F.InAppMessaging.Package] |
+| [Xamarin.Firebase.iOS.Installations][F.Installations.Name] | [8.10.0][F.Installations.Package] |
+| [Xamarin.Firebase.iOS.PerformanceMonitoring][F.PerformanceMonitoring.Name] | [8.10.0][F.PerformanceMonitoring.Package] |
+| [Xamarin.Firebase.iOS.RemoteConfig][F.RemoteConfig.Name] | [8.10.0][F.RemoteConfig.Package] |
+| [Xamarin.Firebase.iOS.Storage][F.Storage.Name] | [8.10.0][F.Storage.Package] |
+| [Xamarin.Google.iOS.Analytics][G.Analytics.Name] | [3.20.0.0][G.Analytics.Package] |
+| [Xamarin.Google.iOS.Cast][G.Cast.Name] | [4.7.0.0][G.Cast.Package] |
+| [Xamarin.Google.iOS.Maps][G.Maps.Name] | [6.0.1.0][G.Maps.Package] |
+| [Xamarin.Google.iOS.MobileAds][G.MobileAds.Name] | [8.13.0.0][G.MobileAds.Package] |
+| [Xamarin.Google.iOS.UserMessagingPlatform][G.UserMessagingPlatform.Name] | [1.1.0.0][G.UserMessagingPlatform.Package] |
+| [Xamarin.Google.iOS.Places][G.Places.Name] | [6.0.0.0][G.Places.Package] |
+| [Xamarin.Google.iOS.SignIn][G.SignIn.Name] | [5.0.2.2][G.SignIn.Package] |
+| [Xamarin.Google.iOS.TagManager][G.TagManager.Name] | [7.4.0.0][G.TagManager.Package] |
+
+**Deprecated Libraries**
+
| Package Id | NuGet |
|------------------------------------------------------------------------------|----------------------------------------------|
-| [Xamarin.Firebase.iOS.ABTesting][F.ABTesting.Name] | [4.2.0.0][F.ABTesting.Package] |
-| [Xamarin.Firebase.iOS.AdMob][F.AdMob.Name] | [7.66.0.0][F.AdMob.Package] |
-| [Xamarin.Firebase.iOS.Analytics][F.Analytics.Name] | [6.9.0.0][F.Analytics.Package] |
-| [Xamarin.Firebase.iOS.Auth][F.Auth.Name] | [6.9.2.0][F.Auth.Package] |
-| [Xamarin.Firebase.iOS.CloudFirestore][F.CloudFirestore.Name] | [1.19.0.0][F.CloudFirestore.Package] |
-| [Xamarin.Firebase.iOS.CloudFunctions][F.CloudFunctions.Name] | [2.9.0.0][F.CloudFunctions.Package] |
-| [Xamarin.Firebase.iOS.CloudMessaging][F.CloudMessaging.Name] | [4.7.1.0][F.CloudMessaging.Package] |
-| [Xamarin.Firebase.iOS.Core][F.Core.Name] | [6.10.4.0][F.Core.Package] |
-| [Xamarin.Firebase.iOS.Crashlytics][F.Crashlytics.Name] | [4.6.2.0][F.Crashlytics.Package] |
-| [Xamarin.Firebase.iOS.Database][F.Database.Name] | [6.6.0.0][F.Database.Package] |
-| [Xamarin.Firebase.iOS.DynamicLinks][F.DynamicLinks.Name] | [4.3.1.0][F.DynamicLinks.Package] |
-| [Xamarin.Firebase.iOS.InAppMessaging][F.InAppMessaging.Name] | [0.24.0.0][F.InAppMessaging.Package] |
-| [Xamarin.Firebase.iOS.Installations][F.Installations.Name] | [1.7.0.0][F.Installations.Package] |
-| [Xamarin.Firebase.iOS.InstanceID][F.InstanceID.Name] | [4.8.0.0][F.InstanceID.Package] |
+| [Xamarin.Firebase.iOS.InstanceID][F.InstanceID.Name] | [7.11.0.0][F.InstanceID.Package] |
+| [Xamarin.Google.iOS.AppIndexing][G.AppIndexing.Name] | [2.0.3.8][G.AppIndexing.Package] |
+| [Xamarin.Google.iOS.InstanceID][G.InstanceID.Name] | [1.2.1.18][G.InstanceID.Package] |
+| [Xamarin.Google.iOS.PlayGames][G.PlayGames.Name] | [5.1.1.11][G.PlayGames.Package] |
+| [Xamarin.Firebase.iOS.CrashReporting][F.CrashReporting.Name] | [2.0.0.6][F.CrashReporting.Package] |
+| [Xamarin.Firebase.iOS.Invites][F.Invites.Name] | [3.0.1.1][F.Invites.Package] |
+| [Xamarin.Google.iOS.AppInvite][G.AppInvite.Name] | [1.0.2.4][G.AppInvite.Package] |
+| [Xamarin.Google.iOS.Core][G.Core.Name] | [3.1.0.1][G.Core.Package] |
+| [Xamarin.Google.iOS.GoogleCloudMessaging][G.GoogleCloudMessaging.Name] | [1.2.0.1][G.GoogleCloudMessaging.Package] |
| [Xamarin.Firebase.iOS.MLKit][F.MLKit.Name] | [0.21.0.0][F.MLKit.Package] |
| [Xamarin.Firebase.iOS.MLKit.Common][F.MLKit.Common.Name] | [0.21.0.0][F.MLKit.Common.Package] |
| [Xamarin.Firebase.iOS.MLKit.ModelInterpreter][F.MLKit.ModelInterpreter.Name] | [0.21.0.0][F.MLKit.ModelInterpreter.Package] |
-| [Xamarin.Firebase.iOS.MLKit.NaturalLanguage][F.MLKit.NaturalLanguage.Name] | [0.18.0.0][F.MLKit.NaturalLanguage.Package] |
+| [Xamarin.Firebase.iOS.MLKit.NaturalLanguage][F.MLKit.NaturalLanguage.Name] | [0.18.1.0][F.MLKit.NaturalLanguage.Package] |
| [Xamarin.Firebase.iOS.MLKit.Vision][F.MLKit.Vision.Name] | [0.21.0.0][F.MLKit.Vision.Package] |
-| [Xamarin.Firebase.iOS.PerformanceMonitoring][F.PerformanceMonitoring.Name] | [3.3.0.0][F.PerformanceMonitoring.Package] |
-| [Xamarin.Firebase.iOS.RemoteConfig][F.RemoteConfig.Name] | [4.9.1.0][F.RemoteConfig.Package] |
-| [Xamarin.Firebase.iOS.Storage][F.Storage.Name] | [3.9.1.0][F.Storage.Package] |
-| [Xamarin.Google.iOS.Analytics][G.Analytics.Name] | [3.17.0.6][G.Analytics.Package] |
-| [Xamarin.Google.iOS.AppIndexing][G.AppIndexing.Name] | [2.0.3.8][G.AppIndexing.Package] |
-| [Xamarin.Google.iOS.Cast][G.Cast.Name] | [4.4.6.1][G.Cast.Package] |
-| [Xamarin.Google.iOS.InstanceID][G.InstanceID.Name] | [1.2.1.18][G.InstanceID.Package] |
-| [Xamarin.Google.iOS.Maps][G.Maps.Name] | [3.9.0.0][G.Maps.Package] |
-| [Xamarin.Google.iOS.MobileAds][G.MobileAds.Name] | [7.57.0.0][G.MobileAds.Package] |
-| [Xamarin.Google.iOS.Places][G.Places.Name] | [3.9.0.0][G.Places.Package] |
-| [Xamarin.Google.iOS.PlayGames][G.PlayGames.Name] | [5.1.1.11][G.PlayGames.Package] |
-| [Xamarin.Google.iOS.SignIn][G.SignIn.Name] | [5.0.2.1][G.SignIn.Package] |
-| [Xamarin.Google.iOS.TagManager][G.TagManager.Name] | [7.1.2.3][G.TagManager.Package] |
-
-**Deprecated Libraries**
-
-| Package Id | NuGet |
-|----------------------------------------------------------------------------|--------------------------------------------|
-| [Xamarin.Firebase.iOS.CrashReporting][F.CrashReporting.Name] | [2.0.0.6][F.CrashReporting.Package] |
-| [Xamarin.Firebase.iOS.Invites][F.Invites.Name] | [3.0.1.1][F.Invites.Package] |
-| [Xamarin.Google.iOS.AppInvite][G.AppInvite.Name] | [1.0.2.4][G.AppInvite.Package] |
-| [Xamarin.Google.iOS.Core][G.Core.Name] | [3.1.0.1][G.Core.Package] |
-| [Xamarin.Google.iOS.GoogleCloudMessaging][G.GoogleCloudMessaging.Name] | [1.2.0.1][G.GoogleCloudMessaging.Package] |
## Firebase APIs for iOS current global version
Here's a table that shows in which global version is located each component of Firebase at this point of history:
-| Component Name | Component Version | Global Version |
-|----------------------------------|:-----------------:|:--------------:|
-| Firebase A/B Testing | **4.2.0.0** | **6.34.0** |
-| Firebase AdMob | **7.66.0.0** | **6.34.0** |
-| Firebase Analytics | **6.9.0.0** | **6.34.0** |
-| Firebase Auth | **6.9.2.0** | **6.34.0** |
-| Firebase Cloud Firestore | **1.19.0.0** | **6.34.0** |
-| Firebase Cloud Functions | **2.9.0.0** | **6.34.0** |
-| Firebase Cloud Messaging | **4.7.1.0** | **6.34.0** |
-| Firebase Core | **6.10.4.0** | **6.34.0** |
-| Firebase Crashlytics | **4.6.2.0** | **6.34.0** |
-| Firebase Database | **6.6.0.0** | **6.34.0** |
-| Firebase Dynamic Links | **4.3.1.0** | **6.34.0** |
-| Firebase In App Messaging | **0.24.0.0** | **6.34.0** |
-| Firebase Installations | **1.7.0.0** | **6.34.0** |
-| Firebase Instance ID | **4.8.0.0** | **6.34.0** |
-| Firebase MLKit | **0.21.0.0** | **6.34.0** |
-| Firebase MLKit Common | **0.21.0.0** | **6.34.0** |
-| Firebase MLKit Model Interpreter | **0.21.0.0** | **6.34.0** |
-| Firebase MLKit Natural Language | **0.18.0.0** | **6.34.0** |
-| Firebase MLKit Vision | **0.21.0.0** | **6.34.0** |
-| Firebase Performance Monitoring | **3.3.0.0** | **6.34.0** |
-| Firebase RemoteConfig | **4.9.1.0** | **6.34.0** |
-| Firebase Storage | **3.9.1.0** | **6.34.0** |
-| Google Sign-In | **5.0.2.1** | **6.15.0** |
-| Google Tag Manager | **7.1.2.3** | **6.5.0** |
+| Component Name | Component Version | Global Version |
+|----------------------------------|:------------------:|:--------------:|
+| Firebase A/B Testing | **8.10.0** | **8.10.0** |
+| Firebase AdMob | **8.10.0** | **8.10.0** |
+| Firebase Analytics | **8.10.0** | **8.10.0** |
+| Firebase Auth | **8.10.0** | **8.10.0** |
+| Firebase Cloud Firestore | **8.10.0** | **8.10.0** |
+| Firebase Cloud Functions | **8.10.0** | **8.10.0** |
+| Firebase Cloud Messaging | **8.10.0** | **8.10.0** |
+| Firebase Core | **8.10.0** | **8.10.0** |
+| Firebase Crashlytics | **8.10.0** | **8.10.0** |
+| Firebase Database | **8.10.0** | **8.10.0** |
+| Firebase Dynamic Links | **8.10.0** | **8.10.0** |
+| Firebase In App Messaging | **8.10.0** | **8.10.0** |
+| Firebase Installations | **8.10.0** | **8.10.0** |
+| Firebase Performance Monitoring | **8.10.0** | **8.10.0** |
+| Firebase RemoteConfig | **8.10.0** | **8.10.0** |
+| Firebase Storage | **8.10.0** | **8.10.0** |
+| Google User Messaging Platform | **1.1.0.0** | **8.10.0** |
+| Google Cast | **4.7.0.0** | **8.10.0** |
+| Google Sign-In | **5.0.2.2** | **8.10.0** |
+| Google Tag Manager | **7.4.0.0** | **8.10.0** |
+
+## Ad Id Support
+
+By default Firebase includes Ad Id Support, however, it can be disabled by adding the below property group to your project file.
+
+```xml
+
+ True
+
+```
## Building
@@ -86,8 +93,10 @@ Here's a table that shows in which global version is located each component of F
Before building the libraries and samples in this repository, you will need to install [.NET Core][30] and the [Cake .NET Core Tool][32]:
+Currently requires a version of Cake less than 1.0 (due to dependencies).
+
```sh
-dotnet tool install -g cake.tool
+dotnet tool install -g cake.tool --version 0.38.5
```
When building on macOS, you may also need to install [CocoaPods][31]:
@@ -125,26 +134,34 @@ Firebase.Database
Firebase.DynamicLinks
Firebase.InAppMessaging
Firebase.Installations
-Firebase.InstanceID
-Firebase.MLKit
-Firebase.MLKit.Common
-Firebase.MLKit.ModelInterpreter
-Firebase.MLKit.NaturalLanguage
Firebase.PerformanceMonitoring
Firebase.RemoteConfig
Firebase.Storage
// Google keys
Google.Analytics
-Google.Appindexing
Google.Cast
-Google.Core
-Google.InstanceID
Google.Maps
Google.MobileAds
+Google.UserMessagingPlatform
Google.Places
Google.SignIn
Google.TagManager
+
+// MLKit keys
+MLKit.BarcodeScanning
+MLKit.Core
+MLKit.DigitalInkRecognition
+MLKit.FaceDetection
+MLKit.ImageLabeling
+MLKit.ObjectDetection
+MLKit.TextRecognition
+MLKit.TextRecognition.Chinese
+MLKit.TextRecognition.Devanagari
+MLKit.TextRecognition.Japanese
+MLKit.TextRecognition.Korean
+MLKit.TextRecognition.Latin
+MLKit.Vision
```
The following targets can be specified using the `--target=`:
@@ -195,12 +212,6 @@ This project is part of the [.NET Foundation][104]
[F.DynamicLinks.Name]: source/Firebase/DynamicLinks
[F.InAppMessaging.Name]: source/Firebase/InAppMessaging
[F.Installations.Name]: source/Firebase/Installations
-[F.InstanceID.Name]: source/Firebase/InstanceID
-[F.MLKit.Name]: source/Firebase/MLKit
-[F.MLKit.Common.Name]: source/Firebase/MLKit.Common
-[F.MLKit.ModelInterpreter.Name]: source/Firebase/MLKit.ModelInterpreter
-[F.MLKit.NaturalLanguage.Name]: source/Firebase/MLKit.NaturalLanguage
-[F.MLKit.Vision.Name]: source/Firebase/MLKit.Vision
[F.PerformanceMonitoring.Name]: source/Firebase/PerformanceMonitoring
[F.RemoteConfig.Name]: source/Firebase/RemoteConfig
[F.Storage.Name]: source/Firebase/Storage
@@ -220,12 +231,6 @@ This project is part of the [.NET Foundation][104]
[F.DynamicLinks.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.DynamicLinks/
[F.InAppMessaging.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.InAppMessaging/
[F.Installations.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.Installations/
-[F.InstanceID.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.InstanceID/
-[F.MLKit.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit/
-[F.MLKit.Common.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.Common/
-[F.MLKit.ModelInterpreter.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.ModelInterpreter/
-[F.MLKit.NaturalLanguage.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.NaturalLanguage/
-[F.MLKit.Vision.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.Vision/
[F.PerformanceMonitoring.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.PerformanceMonitoring/
[F.RemoteConfig.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.RemoteConfig/
[F.Storage.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.Storage/
@@ -234,48 +239,77 @@ This project is part of the [.NET Foundation][104]
[comment]: # (Path for active Google component folders)
[G.Analytics.Name]: source/Google/Analytics
-[G.AppIndexing.Name]: source/Google/AppIndexing
[G.Cast.Name]: source/Google/Cast
-[G.InstanceID.Name]: source/Google/InstanceID
[G.Maps.Name]: source/Google/Maps
[G.MobileAds.Name]: source/Google/MobileAds
+[G.UserMessagingPlatform.Name]: source/Google/UserMessagingPlatform
[G.Places.Name]: source/Google/Places
-[G.PlayGames.Name]: source/Google/PlayGames
[G.SignIn.Name]: source/Google/SignIn
[G.TagManager.Name]: source/Google/TagManager
[comment]: # (URL for active Google component NuGets)
[G.Analytics.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.Analytics/
-[G.AppIndexing.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.AppIndexing/
[G.Cast.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.Cast/
-[G.InstanceID.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.InstanceID/
[G.Maps.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.Maps/
[G.MobileAds.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.MobileAds/
+[G.UserMessagingPlatform.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.UserMessagingPlatform/
[G.Places.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.Places/
-[G.PlayGames.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.PlayGames/
[G.SignIn.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.SignIn/
[G.TagManager.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.TagManager/
+[comment]: # (Path for active MLKit component folders)
+
+[MLK.BarcodeScanning]: source/MLKit/BarcodeScanning
+[MLK.Core]: source/MLKit/Core
+[MLK.DigitalInkRecognition]: source/MLKit/DigitalInkRecognition
+[MLK.FaceDetection]: source/MLKit/FaceDetection
+[MLK.ImageLabeling]: source/MLKit/ImageLabeling
+[MLK.ObjectDetection]: source/MLKit/ObjectDetection
+[MLK.TextRecognition]: source/MLKit/TextRecognition
+[MLK.TextRecognition.Chinese]: source/MLKit/TextRecognitionChinese
+[MLK.TextRecognition.Devanagari]: source/MLKit/TextRecognitionDevanagari
+[MLK.TextRecognition.Japanese]: source/MLKit/TextRecognitionJapanese
+[MLK.TextRecognition.Korean]: source/MLKit/TextRecognitionKorean
+[MLK.TextRecognition.Latin]: source/MLKit/TextRecognitionLatin
+[MLK.Vision]: source/MLKit/Vision
[comment]: # (Path for deprecated Firebase component folders)
+[F.InstanceID.Name]: source/Firebase/InstanceID
[F.CrashReporting.Name]: source/Firebase/CrashReporting
[F.Invites.Name]: source/Firebase/Invites
+[F.MLKit.Name]: source/Firebase/MLKit
+[F.MLKit.Common.Name]: source/Firebase/MLKit.Common
+[F.MLKit.ModelInterpreter.Name]: source/Firebase/MLKit.ModelInterpreter
+[F.MLKit.NaturalLanguage.Name]: source/Firebase/MLKit.NaturalLanguage
+[F.MLKit.Vision.Name]: source/Firebase/MLKit.Vision
[comment]: # (URL for deprecated Firebase component NuGets)
+[F.InstanceID.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.InstanceID/
[F.CrashReporting.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.CrashReporting/
[F.Invites.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.Invites/
+[F.MLKit.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit/
+[F.MLKit.Common.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.Common/
+[F.MLKit.ModelInterpreter.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.ModelInterpreter/
+[F.MLKit.NaturalLanguage.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.NaturalLanguage/
+[F.MLKit.Vision.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.Vision/
[comment]: # (Path for deprecated Google component folders)
+[G.AppIndexing.Name]: source/Google/AppIndexing
+[G.InstanceID.Name]: source/Google/InstanceID
+[G.PlayGames.Name]: source/Google/PlayGames
[G.AppInvite.Name]: source/Google/AppInvite
[G.Core.Name]: source/Google/Core
[G.GoogleCloudMessaging.Name]: source/Google/GoogleCloudMessaging
[comment]: # (URL for deprecated Google component NuGets)
+[G.AppIndexing.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.AppIndexing/
+[G.InstanceID.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.InstanceID/
+[G.PlayGames.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.PlayGames/
[G.AppInvite.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.AppInvite/
[G.Core.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.Core/
[G.GoogleCloudMessaging.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.GoogleCloudMessaging/
diff --git a/Xamarin.Google.sln b/Xamarin.Google.sln
index 8032ab5ca..f9cb29e02 100644
--- a/Xamarin.Google.sln
+++ b/Xamarin.Google.sln
@@ -17,8 +17,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Google", "Google", "{7154BB
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "source\Firebase\Core\Core.csproj", "{9335A59B-3B54-4ED5-8201-B68CFD05CAFB}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InstanceID", "source\Firebase\InstanceID\InstanceID.csproj", "{754D8F56-C3DB-4E33-91D5-45445AB286EF}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analytics", "source\Firebase\Analytics\Analytics.csproj", "{25783B8D-1423-4CC2-B629-7E7F36A1CF4B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdMob", "source\Firebase\AdMob\AdMob.csproj", "{7157A790-5767-4045-8A26-D71F2F43E78B}"
@@ -37,12 +35,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Database", "source\Firebase
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamicLinks", "source\Firebase\DynamicLinks\DynamicLinks.csproj", "{4D102D0B-59D7-4902-913E-85CAA0DFE8A3}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKit.Common", "source\Firebase\MLKit.Common\MLKit.Common.csproj", "{90DDF7C4-5223-4863-9687-6211BC5D56E5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKit.ModelInterpreter", "source\Firebase\MLKit.ModelInterpreter\MLKit.ModelInterpreter.csproj", "{108BC6F9-E830-4F3B-85A9-DF7A70A06396}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKit.Vision", "source\Firebase\MLKit.Vision\MLKit.Vision.csproj", "{B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerformanceMonitoring", "source\Firebase\PerformanceMonitoring\PerformanceMonitoring.csproj", "{3ECC9FBF-72BB-48E4-B454-56194A422B3A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteConfig", "source\Firebase\RemoteConfig\RemoteConfig.csproj", "{2FC178FA-114D-4A51-A3DF-5EA10E2C71C4}"
@@ -51,12 +43,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Storage", "source\Firebase\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analytics", "source\Google\Analytics\Analytics.csproj", "{36FD3346-EA1E-41A3-91D2-1C380E97BA34}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppIndexing", "source\Google\AppIndexing\AppIndexing.csproj", "{8AD7D708-4672-4EBB-9DDC-1482B1B72A70}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cast", "source\Google\Cast\Cast.csproj", "{D71F8108-A163-4E1B-BFB5-EF58FEBADD33}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InstanceID", "source\Google\InstanceID\InstanceID.csproj", "{06E1E2BA-A43A-4816-ABAB-23E027CD1D98}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maps", "source\Google\Maps\Maps.csproj", "{2D4887E5-F5E4-4C2B-9F35-EAE5E562E43B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MobileAds", "source\Google\MobileAds\MobileAds.csproj", "{1C9DFB3E-FDA5-478B-B063-CF646AA892DB}"
@@ -83,10 +71,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DatabaseSample", "samples\F
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamicLinksSample", "samples\Firebase\DynamicLinks\DynamicLinksSample\DynamicLinksSample.csproj", "{58BF0CB1-7D93-46C0-BE89-D97ECF5210C6}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKitVisionSample", "samples\Firebase\MLKit.Vision\MLKitVisionSample\MLKitVisionSample.csproj", "{8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModelInterpreterSample", "samples\Firebase\MLKit.ModelInterpreter\ModelInterpreterSample\ModelInterpreterSample.csproj", "{11CAA1ED-73F0-4E36-B30F-B12042E7E165}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerformanceMonitoringSample", "samples\Firebase\PerformanceMonitoring\PerformanceMonitoringSample\PerformanceMonitoringSample.csproj", "{60356E08-92A4-433E-956A-F207579B2E6D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteConfigSample", "samples\Firebase\RemoteConfig\RemoteConfigSample\RemoteConfigSample.csproj", "{F26D64FB-D6A2-41E2-9B31-E8DA0AA400C8}"
@@ -95,14 +79,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StorageSample", "samples\Fi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CuteAnimalsiOS", "samples\Google\Analytics\CuteAnimalsiOS\CuteAnimalsiOS.csproj", "{EBF60C41-86FD-4FFC-853A-72591179EDB8}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppIndexingSample", "samples\Google\AppIndexing\AppIndexingSample\AppIndexingSample.csproj", "{890E5435-4BAB-4059-954B-788702F01BF3}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CastSample", "samples\Google\Cast\CastSample\CastSample.csproj", "{715CE4E1-EF89-411D-BA91-8227129D5704}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InstanceIDSample", "samples\Google\InstanceID\InstanceIDSample\InstanceIDSample.csproj", "{F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "source\Google\Core\Core.csproj", "{9C9AE37B-1FBB-46B2-9718-C5701F5C7704}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GoogleMapsAdvSample", "samples\Google\Maps\GoogleMapsAdvSample\GoogleMapsAdvSample.csproj", "{1AA78CE3-4FB5-4A85-B38C-320A5C8BDC8D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GoogleMapsSample", "samples\Google\Maps\GoogleMapsSample\GoogleMapsSample.csproj", "{2F8EC051-F3A4-43C0-928C-734423FBF1D0}"
@@ -115,14 +93,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignInExample", "samples\Go
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagManagerSample", "samples\Google\TagManager\TagManagerSample\TagManagerSample.csproj", "{A557F95D-A084-47BE-8EF8-C5E42AD8C233}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKit.NaturalLanguage", "source\Firebase\MLKit.NaturalLanguage\MLKit.NaturalLanguage.csproj", "{43F378EA-35C8-494E-9685-B00EBBA2A7A3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NaturalLanguageSample", "samples\Firebase\MLKit.NaturalLanguage\NaturalLanguageSample\NaturalLanguageSample.csproj", "{6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKit", "source\Firebase\MLKit\MLKit.csproj", "{943D1525-5047-4E66-8E5A-D09930F8B339}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKitSample", "samples\Firebase\MLKit\MLKitSample\MLKitSample.csproj", "{AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Installations", "source\Firebase\Installations\Installations.csproj", "{65ACD945-5A8A-419D-B9FB-8DFD03C532F4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CloudFunctions", "source\Firebase\CloudFunctions\CloudFunctions.csproj", "{E5719ABE-6807-49C9-9E7A-0997FF4A5365}"
@@ -138,6 +108,40 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.editorconfig = .editorconfig
EndProjectSection
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UserMessagingPlatform", "source\Google\UserMessagingPlatform\UserMessagingPlatform.csproj", "{F6CEF86A-612E-4361-B46E-E5349EF478CE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "source\MLKit\Core\Core.csproj", "{720DD721-A108-488A-83CA-8DACF2D6D506}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextRecognition", "source\MLKit\TextRecognition\TextRecognition.csproj", "{F37568EB-B67A-4882-8DE8-E00D135CC73D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextRecognitionLatin", "source\MLKit\TextRecognitionLatin\TextRecognitionLatin.csproj", "{015148EF-FF69-42AC-88C8-2CDEBCAB927E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MLKit", "MLKit", "{156DD27D-5857-45B7-9511-0D8E7FE4EAE3}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MLKit", "MLKit", "{86D67AC8-6E53-4315-8610-59A85C1C35C7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKitVisionSample", "samples\MLKit\MLKitVision\MLKitVisionSample\MLKitVisionSample.csproj", "{8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextRecognitionChinese", "source\MLKit\TextRecognitionChinese\TextRecognitionChinese.csproj", "{DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextRecognitionDevanagari", "source\MLKit\TextRecognitionDevanagari\TextRecognitionDevanagari.csproj", "{159C82C4-1C3C-4956-A0FE-AACF10388B34}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextRecognitionJapanese", "source\MLKit\TextRecognitionJapanese\TextRecognitionJapanese.csproj", "{247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextRecognitionKorean", "source\MLKit\TextRecognitionKorean\TextRecognitionKorean.csproj", "{C5AF22AA-649C-4D88-A498-F342B529BE48}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BarcodeScanning", "source\MLKit\BarcodeScanning\BarcodeScanning.csproj", "{5FBD1B51-DC20-4594-99AB-4C978DC65BD4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FaceDetection", "source\MLKit\FaceDetection\FaceDetection.csproj", "{A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DigitalInkRecognition", "source\MLKit\DigitalInkRecognition\DigitalInkRecognition.csproj", "{2723A591-AD5B-40B2-8D04-262CEBB20B33}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vision", "source\MLKit\Vision\Vision.csproj", "{AB6D62E6-8B42-401A-9E9E-E963EA0AE176}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageLabeling", "source\MLKit\ImageLabeling\ImageLabeling.csproj", "{AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObjectDetection", "source\MLKit\ObjectDetection\ObjectDetection.csproj", "{847E4CEC-590D-4209-954B-0DBCB727DF64}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -181,30 +185,6 @@ Global
{9335A59B-3B54-4ED5-8201-B68CFD05CAFB}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
{9335A59B-3B54-4ED5-8201-B68CFD05CAFB}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
{9335A59B-3B54-4ED5-8201-B68CFD05CAFB}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|x64.ActiveCfg = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|x64.Build.0 = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|x86.ActiveCfg = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|x86.Build.0 = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|Any CPU.Build.0 = Release|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|x64.ActiveCfg = Release|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|x64.Build.0 = Release|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|x86.ActiveCfg = Release|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|x86.Build.0 = Release|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|iPhone.ActiveCfg = Release|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|iPhone.Build.0 = Release|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|iPhone.Build.0 = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}.AppStore|iPhone.Build.0 = Debug|Any CPU
{25783B8D-1423-4CC2-B629-7E7F36A1CF4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{25783B8D-1423-4CC2-B629-7E7F36A1CF4B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{25783B8D-1423-4CC2-B629-7E7F36A1CF4B}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -421,78 +401,6 @@ Global
{4D102D0B-59D7-4902-913E-85CAA0DFE8A3}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
{4D102D0B-59D7-4902-913E-85CAA0DFE8A3}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
{4D102D0B-59D7-4902-913E-85CAA0DFE8A3}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|x64.ActiveCfg = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|x64.Build.0 = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|x86.ActiveCfg = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|x86.Build.0 = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|Any CPU.Build.0 = Release|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|x64.ActiveCfg = Release|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|x64.Build.0 = Release|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|x86.ActiveCfg = Release|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|x86.Build.0 = Release|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|iPhone.ActiveCfg = Release|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|iPhone.Build.0 = Release|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|iPhone.Build.0 = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|x64.ActiveCfg = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|x64.Build.0 = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|x86.ActiveCfg = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|x86.Build.0 = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|Any CPU.Build.0 = Release|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|x64.ActiveCfg = Release|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|x64.Build.0 = Release|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|x86.ActiveCfg = Release|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|x86.Build.0 = Release|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|iPhone.ActiveCfg = Release|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|iPhone.Build.0 = Release|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|iPhone.Build.0 = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
- {90DDF7C4-5223-4863-9687-6211BC5D56E5}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|x64.ActiveCfg = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|x64.Build.0 = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|x86.ActiveCfg = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|x86.Build.0 = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|Any CPU.Build.0 = Release|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|x64.ActiveCfg = Release|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|x64.Build.0 = Release|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|x86.ActiveCfg = Release|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|x86.Build.0 = Release|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|iPhone.ActiveCfg = Release|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|iPhone.Build.0 = Release|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|iPhone.Build.0 = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.AppStore|iPhone.Build.0 = Debug|Any CPU
{3ECC9FBF-72BB-48E4-B454-56194A422B3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3ECC9FBF-72BB-48E4-B454-56194A422B3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3ECC9FBF-72BB-48E4-B454-56194A422B3A}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -589,30 +497,6 @@ Global
{36FD3346-EA1E-41A3-91D2-1C380E97BA34}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
{36FD3346-EA1E-41A3-91D2-1C380E97BA34}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
{36FD3346-EA1E-41A3-91D2-1C380E97BA34}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|x64.ActiveCfg = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|x64.Build.0 = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|x86.ActiveCfg = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|x86.Build.0 = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|Any CPU.Build.0 = Release|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|x64.ActiveCfg = Release|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|x64.Build.0 = Release|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|x86.ActiveCfg = Release|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|x86.Build.0 = Release|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|iPhone.ActiveCfg = Release|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|iPhone.Build.0 = Release|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|iPhone.Build.0 = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.AppStore|iPhone.Build.0 = Debug|Any CPU
{D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -637,30 +521,6 @@ Global
{D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
{D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
{D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|x64.ActiveCfg = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|x64.Build.0 = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|x86.ActiveCfg = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|x86.Build.0 = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|Any CPU.Build.0 = Release|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|x64.ActiveCfg = Release|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|x64.Build.0 = Release|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|x86.ActiveCfg = Release|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|x86.Build.0 = Release|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|iPhone.ActiveCfg = Release|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|iPhone.Build.0 = Release|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|iPhone.Build.0 = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.AppStore|iPhone.Build.0 = Debug|Any CPU
{2D4887E5-F5E4-4C2B-9F35-EAE5E562E43B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2D4887E5-F5E4-4C2B-9F35-EAE5E562E43B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2D4887E5-F5E4-4C2B-9F35-EAE5E562E43B}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -973,54 +833,6 @@ Global
{58BF0CB1-7D93-46C0-BE89-D97ECF5210C6}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
{58BF0CB1-7D93-46C0-BE89-D97ECF5210C6}.AppStore|iPhone.ActiveCfg = Release|iPhone
{58BF0CB1-7D93-46C0-BE89-D97ECF5210C6}.AppStore|iPhone.Build.0 = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x64.Build.0 = Debug|iPhoneSimulator
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x86.Build.0 = Debug|iPhoneSimulator
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|Any CPU.ActiveCfg = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|Any CPU.Build.0 = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x64.ActiveCfg = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x64.Build.0 = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x86.ActiveCfg = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x86.Build.0 = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhone.ActiveCfg = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhone.Build.0 = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhone.ActiveCfg = Debug|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhone.Build.0 = Debug|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.AppStore|iPhone.ActiveCfg = Release|iPhone
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.AppStore|iPhone.Build.0 = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|x64.Build.0 = Debug|iPhoneSimulator
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|x86.Build.0 = Debug|iPhoneSimulator
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|Any CPU.ActiveCfg = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|Any CPU.Build.0 = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|x64.ActiveCfg = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|x64.Build.0 = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|x86.ActiveCfg = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|x86.Build.0 = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|iPhone.ActiveCfg = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|iPhone.Build.0 = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|iPhone.ActiveCfg = Debug|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|iPhone.Build.0 = Debug|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.AppStore|iPhone.ActiveCfg = Release|iPhone
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.AppStore|iPhone.Build.0 = Release|iPhone
{60356E08-92A4-433E-956A-F207579B2E6D}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{60356E08-92A4-433E-956A-F207579B2E6D}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
{60356E08-92A4-433E-956A-F207579B2E6D}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
@@ -1117,30 +929,6 @@ Global
{EBF60C41-86FD-4FFC-853A-72591179EDB8}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
{EBF60C41-86FD-4FFC-853A-72591179EDB8}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
{EBF60C41-86FD-4FFC-853A-72591179EDB8}.AppStore|iPhone.Build.0 = AppStore|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
- {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
- {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|x64.Build.0 = Debug|iPhoneSimulator
- {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
- {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|x86.Build.0 = Debug|iPhoneSimulator
- {890E5435-4BAB-4059-954B-788702F01BF3}.Release|Any CPU.ActiveCfg = Release|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Release|Any CPU.Build.0 = Release|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Release|x64.ActiveCfg = Release|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Release|x64.Build.0 = Release|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Release|x86.ActiveCfg = Release|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Release|x86.Build.0 = Release|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {890E5435-4BAB-4059-954B-788702F01BF3}.Release|iPhone.ActiveCfg = Release|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Release|iPhone.Build.0 = Release|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {890E5435-4BAB-4059-954B-788702F01BF3}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|iPhone.ActiveCfg = Debug|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|iPhone.Build.0 = Debug|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.AppStore|iPhone.ActiveCfg = Release|iPhone
- {890E5435-4BAB-4059-954B-788702F01BF3}.AppStore|iPhone.Build.0 = Release|iPhone
{715CE4E1-EF89-411D-BA91-8227129D5704}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{715CE4E1-EF89-411D-BA91-8227129D5704}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
{715CE4E1-EF89-411D-BA91-8227129D5704}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
@@ -1165,54 +953,6 @@ Global
{715CE4E1-EF89-411D-BA91-8227129D5704}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
{715CE4E1-EF89-411D-BA91-8227129D5704}.AppStore|iPhone.ActiveCfg = Release|iPhone
{715CE4E1-EF89-411D-BA91-8227129D5704}.AppStore|iPhone.Build.0 = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|x64.Build.0 = Debug|iPhoneSimulator
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|x86.Build.0 = Debug|iPhoneSimulator
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|Any CPU.ActiveCfg = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|Any CPU.Build.0 = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|x64.ActiveCfg = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|x64.Build.0 = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|x86.ActiveCfg = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|x86.Build.0 = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|iPhone.ActiveCfg = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|iPhone.Build.0 = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|iPhone.ActiveCfg = Debug|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|iPhone.Build.0 = Debug|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.AppStore|iPhone.ActiveCfg = Release|iPhone
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.AppStore|iPhone.Build.0 = Release|iPhone
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|x64.ActiveCfg = Debug|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|x64.Build.0 = Debug|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|x86.ActiveCfg = Debug|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|x86.Build.0 = Debug|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|Any CPU.Build.0 = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|x64.ActiveCfg = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|x64.Build.0 = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|x86.ActiveCfg = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|x86.Build.0 = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|iPhone.ActiveCfg = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|iPhone.Build.0 = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|iPhone.Build.0 = Debug|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.AppStore|iPhone.ActiveCfg = Release|Any CPU
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.AppStore|iPhone.Build.0 = Release|Any CPU
{1AA78CE3-4FB5-4A85-B38C-320A5C8BDC8D}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{1AA78CE3-4FB5-4A85-B38C-320A5C8BDC8D}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
{1AA78CE3-4FB5-4A85-B38C-320A5C8BDC8D}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
@@ -1357,30 +1097,6 @@ Global
{A557F95D-A084-47BE-8EF8-C5E42AD8C233}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
{A557F95D-A084-47BE-8EF8-C5E42AD8C233}.AppStore|iPhone.ActiveCfg = Release|iPhone
{A557F95D-A084-47BE-8EF8-C5E42AD8C233}.AppStore|iPhone.Build.0 = Release|iPhone
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|x64.ActiveCfg = Debug|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|x64.Build.0 = Debug|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|x86.ActiveCfg = Debug|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|x86.Build.0 = Debug|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|Any CPU.Build.0 = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|x64.ActiveCfg = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|x64.Build.0 = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|x86.ActiveCfg = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|x86.Build.0 = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|iPhone.ActiveCfg = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|iPhone.Build.0 = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|iPhone.Build.0 = Debug|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.AppStore|iPhone.ActiveCfg = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.AppStore|iPhone.Build.0 = Release|Any CPU
{E5719ABE-6807-49C9-9E7A-0997FF4A5365}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E5719ABE-6807-49C9-9E7A-0997FF4A5365}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E5719ABE-6807-49C9-9E7A-0997FF4A5365}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -1405,86 +1121,6 @@ Global
{E5719ABE-6807-49C9-9E7A-0997FF4A5365}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
{E5719ABE-6807-49C9-9E7A-0997FF4A5365}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
{E5719ABE-6807-49C9-9E7A-0997FF4A5365}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.AppStore|iPhone.ActiveCfg = Release|Any CPU
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.AppStore|iPhone.Build.0 = Release|Any CPU
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|x64.Build.0 = Debug|iPhoneSimulator
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|x86.Build.0 = Debug|iPhoneSimulator
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|Any CPU.ActiveCfg = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|Any CPU.Build.0 = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|x64.ActiveCfg = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|x64.Build.0 = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|x86.ActiveCfg = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|x86.Build.0 = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|iPhone.ActiveCfg = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|iPhone.Build.0 = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|iPhone.ActiveCfg = Debug|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|iPhone.Build.0 = Debug|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.AppStore|iPhone.ActiveCfg = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.AppStore|iPhone.Build.0 = Release|iPhone
- {E5719ABE-6807-49C9-9E7A-0997FF4A5365}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.AppStore|iPhone.ActiveCfg = Release|iPhone
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.AppStore|iPhone.Build.0 = Release|iPhone
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|x64.ActiveCfg = Debug|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|x64.Build.0 = Debug|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|x86.ActiveCfg = Debug|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|x86.Build.0 = Debug|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|Any CPU.Build.0 = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|x64.ActiveCfg = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|x64.Build.0 = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|x86.ActiveCfg = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|x86.Build.0 = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|iPhone.ActiveCfg = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|iPhone.Build.0 = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|iPhone.Build.0 = Debug|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.AppStore|iPhone.ActiveCfg = Release|Any CPU
- {943D1525-5047-4E66-8E5A-D09930F8B339}.AppStore|iPhone.Build.0 = Release|Any CPU
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|x64.Build.0 = Debug|iPhoneSimulator
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|x86.Build.0 = Debug|iPhoneSimulator
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|Any CPU.ActiveCfg = Release|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|Any CPU.Build.0 = Release|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|x64.ActiveCfg = Release|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|x64.Build.0 = Release|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|x86.ActiveCfg = Release|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|x86.Build.0 = Release|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|iPhone.ActiveCfg = Release|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|iPhone.Build.0 = Release|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|iPhone.ActiveCfg = Debug|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|iPhone.Build.0 = Debug|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.AppStore|iPhone.ActiveCfg = Release|iPhone
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.AppStore|iPhone.Build.0 = Release|iPhone
{65ACD945-5A8A-419D-B9FB-8DFD03C532F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{65ACD945-5A8A-419D-B9FB-8DFD03C532F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{65ACD945-5A8A-419D-B9FB-8DFD03C532F4}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -1592,6 +1228,366 @@ Global
{C02A268C-500B-4C3E-81E7-4E40A7AEB323}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
{C02A268C-500B-4C3E-81E7-4E40A7AEB323}.AppStore|iPhone.ActiveCfg = Release|iPhone
{C02A268C-500B-4C3E-81E7-4E40A7AEB323}.AppStore|iPhone.Build.0 = Release|iPhone
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|x64.Build.0 = Debug|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|x86.Build.0 = Debug|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|x64.ActiveCfg = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|x64.Build.0 = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|x86.ActiveCfg = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|x86.Build.0 = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|iPhone.Build.0 = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Debug|x64.Build.0 = Debug|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Debug|x86.Build.0 = Debug|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Release|Any CPU.Build.0 = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Release|x64.ActiveCfg = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Release|x64.Build.0 = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Release|x86.ActiveCfg = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Release|x86.Build.0 = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Release|iPhone.Build.0 = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {720DD721-A108-488A-83CA-8DACF2D6D506}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Debug|x64.Build.0 = Debug|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Debug|x86.Build.0 = Debug|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Release|x64.ActiveCfg = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Release|x64.Build.0 = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Release|x86.ActiveCfg = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Release|x86.Build.0 = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Release|iPhone.Build.0 = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Debug|x64.Build.0 = Debug|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Debug|x86.Build.0 = Debug|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Release|x64.ActiveCfg = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Release|x64.Build.0 = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Release|x86.ActiveCfg = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Release|x86.Build.0 = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Release|iPhone.Build.0 = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x64.Build.0 = Debug|iPhoneSimulator
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x86.Build.0 = Debug|iPhoneSimulator
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|Any CPU.ActiveCfg = Release|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|Any CPU.Build.0 = Release|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x64.ActiveCfg = Release|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x64.Build.0 = Release|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x86.ActiveCfg = Release|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x86.Build.0 = Release|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhone.ActiveCfg = Release|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhone.Build.0 = Release|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhone.ActiveCfg = Debug|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhone.Build.0 = Debug|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.AppStore|iPhone.ActiveCfg = Release|iPhone
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.AppStore|iPhone.Build.0 = Release|iPhone
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Debug|x64.Build.0 = Debug|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Debug|x86.Build.0 = Debug|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Release|x64.ActiveCfg = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Release|x64.Build.0 = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Release|x86.ActiveCfg = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Release|x86.Build.0 = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Release|iPhone.Build.0 = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Debug|x64.Build.0 = Debug|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Debug|x86.Build.0 = Debug|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Release|Any CPU.Build.0 = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Release|x64.ActiveCfg = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Release|x64.Build.0 = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Release|x86.ActiveCfg = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Release|x86.Build.0 = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Release|iPhone.Build.0 = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Debug|x64.Build.0 = Debug|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Debug|x86.Build.0 = Debug|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Release|x64.ActiveCfg = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Release|x64.Build.0 = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Release|x86.ActiveCfg = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Release|x86.Build.0 = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Release|iPhone.Build.0 = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Debug|x64.Build.0 = Debug|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Debug|x86.Build.0 = Debug|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Release|x64.ActiveCfg = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Release|x64.Build.0 = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Release|x86.ActiveCfg = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Release|x86.Build.0 = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Release|iPhone.Build.0 = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {C5AF22AA-649C-4D88-A498-F342B529BE48}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Debug|x64.Build.0 = Debug|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Debug|x86.Build.0 = Debug|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Release|x64.ActiveCfg = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Release|x64.Build.0 = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Release|x86.ActiveCfg = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Release|x86.Build.0 = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Release|iPhone.Build.0 = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Debug|x64.Build.0 = Debug|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Debug|x86.Build.0 = Debug|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Release|x64.ActiveCfg = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Release|x64.Build.0 = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Release|x86.ActiveCfg = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Release|x86.Build.0 = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Release|iPhone.Build.0 = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Debug|x64.Build.0 = Debug|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Debug|x86.Build.0 = Debug|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Release|x64.ActiveCfg = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Release|x64.Build.0 = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Release|x86.ActiveCfg = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Release|x86.Build.0 = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Release|iPhone.Build.0 = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Debug|x64.Build.0 = Debug|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Debug|x86.Build.0 = Debug|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Release|x64.ActiveCfg = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Release|x64.Build.0 = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Release|x86.ActiveCfg = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Release|x86.Build.0 = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Release|iPhone.Build.0 = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Debug|x64.Build.0 = Debug|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Debug|x86.Build.0 = Debug|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Release|x64.ActiveCfg = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Release|x64.Build.0 = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Release|x86.ActiveCfg = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Release|x86.Build.0 = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Release|iPhone.Build.0 = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Debug|x64.Build.0 = Debug|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Debug|x86.Build.0 = Debug|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Release|Any CPU.Build.0 = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Release|x64.ActiveCfg = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Release|x64.Build.0 = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Release|x86.ActiveCfg = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Release|x86.Build.0 = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Release|iPhone.Build.0 = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}.AppStore|iPhone.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{87DAFAF8-C745-44F0-BC8A-503BF4A97082} = {66A8A447-CECE-4C0D-9F8E-8EC790A141F3}
@@ -1599,7 +1595,6 @@ Global
{A8FBB637-BB67-45CD-9883-E203FE66EC13} = {69028465-228C-475F-A932-A161B6F17B75}
{7154BBDA-0E15-4967-B3B9-7623F914F697} = {69028465-228C-475F-A932-A161B6F17B75}
{9335A59B-3B54-4ED5-8201-B68CFD05CAFB} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
- {754D8F56-C3DB-4E33-91D5-45445AB286EF} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{25783B8D-1423-4CC2-B629-7E7F36A1CF4B} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{7157A790-5767-4045-8A26-D71F2F43E78B} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{76D97DB8-CAFE-4F0C-9F90-970CB26080FA} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
@@ -1609,16 +1604,11 @@ Global
{E1558CDF-C9CE-4A78-AA96-9EA75A39D266} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{5013B41D-804C-499D-B0E5-E8D14859044F} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{4D102D0B-59D7-4902-913E-85CAA0DFE8A3} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
- {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
- {90DDF7C4-5223-4863-9687-6211BC5D56E5} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
- {108BC6F9-E830-4F3B-85A9-DF7A70A06396} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{3ECC9FBF-72BB-48E4-B454-56194A422B3A} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{2FC178FA-114D-4A51-A3DF-5EA10E2C71C4} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{03D44E24-A726-44F9-8EC9-4B136F15B817} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{36FD3346-EA1E-41A3-91D2-1C380E97BA34} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23}
- {8AD7D708-4672-4EBB-9DDC-1482B1B72A70} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23}
{D71F8108-A163-4E1B-BFB5-EF58FEBADD33} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23}
- {06E1E2BA-A43A-4816-ABAB-23E027CD1D98} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23}
{2D4887E5-F5E4-4C2B-9F35-EAE5E562E43B} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23}
{1C9DFB3E-FDA5-478B-B063-CF646AA892DB} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23}
{FC514AE9-BE75-467B-91CC-B5FFC0AFBEC4} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23}
@@ -1632,30 +1622,38 @@ Global
{DB75BE06-E241-4750-8243-C00D1743F4D0} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
{94474EED-2C21-463F-A093-A6FE10C97F50} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
{58BF0CB1-7D93-46C0-BE89-D97ECF5210C6} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
- {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
- {11CAA1ED-73F0-4E36-B30F-B12042E7E165} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
{60356E08-92A4-433E-956A-F207579B2E6D} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
{F26D64FB-D6A2-41E2-9B31-E8DA0AA400C8} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
{87BCF68D-05D6-4E40-9550-AE74C37AFA89} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
{EBF60C41-86FD-4FFC-853A-72591179EDB8} = {7154BBDA-0E15-4967-B3B9-7623F914F697}
- {890E5435-4BAB-4059-954B-788702F01BF3} = {7154BBDA-0E15-4967-B3B9-7623F914F697}
{715CE4E1-EF89-411D-BA91-8227129D5704} = {7154BBDA-0E15-4967-B3B9-7623F914F697}
- {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7} = {7154BBDA-0E15-4967-B3B9-7623F914F697}
- {9C9AE37B-1FBB-46B2-9718-C5701F5C7704} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23}
{1AA78CE3-4FB5-4A85-B38C-320A5C8BDC8D} = {7154BBDA-0E15-4967-B3B9-7623F914F697}
{2F8EC051-F3A4-43C0-928C-734423FBF1D0} = {7154BBDA-0E15-4967-B3B9-7623F914F697}
{0FFC84D3-DC23-433C-8675-500FD96CCD73} = {7154BBDA-0E15-4967-B3B9-7623F914F697}
{B55BE51C-E261-4A23-9ACB-2FE7FFF89E22} = {7154BBDA-0E15-4967-B3B9-7623F914F697}
{7571880D-0FA2-43A3-BA08-A0F68B590253} = {7154BBDA-0E15-4967-B3B9-7623F914F697}
{A557F95D-A084-47BE-8EF8-C5E42AD8C233} = {7154BBDA-0E15-4967-B3B9-7623F914F697}
- {43F378EA-35C8-494E-9685-B00EBBA2A7A3} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
- {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
- {943D1525-5047-4E66-8E5A-D09930F8B339} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
- {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
{65ACD945-5A8A-419D-B9FB-8DFD03C532F4} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{AB5F0D3A-EE49-48ED-848F-B288D837CA77} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{9353CA95-7C8D-44BC-B599-FCD195C4722E} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
{E5719ABE-6807-49C9-9E7A-0997FF4A5365} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082}
{C02A268C-500B-4C3E-81E7-4E40A7AEB323} = {A8FBB637-BB67-45CD-9883-E203FE66EC13}
+ {F6CEF86A-612E-4361-B46E-E5349EF478CE} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23}
+ {720DD721-A108-488A-83CA-8DACF2D6D506} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {F37568EB-B67A-4882-8DE8-E00D135CC73D} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {015148EF-FF69-42AC-88C8-2CDEBCAB927E} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {156DD27D-5857-45B7-9511-0D8E7FE4EAE3} = {66A8A447-CECE-4C0D-9F8E-8EC790A141F3}
+ {86D67AC8-6E53-4315-8610-59A85C1C35C7} = {69028465-228C-475F-A932-A161B6F17B75}
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F} = {86D67AC8-6E53-4315-8610-59A85C1C35C7}
+ {DAF37117-66D8-45B7-A3F8-D9DC897CDF1C} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {159C82C4-1C3C-4956-A0FE-AACF10388B34} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {247C0EC4-67A7-42EE-BFA7-B3C60905A6C9} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {C5AF22AA-649C-4D88-A498-F342B529BE48} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {5FBD1B51-DC20-4594-99AB-4C978DC65BD4} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {A4B54A9B-3C3A-491B-BD29-62C8D230CBDE} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {2723A591-AD5B-40B2-8D04-262CEBB20B33} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
+ {847E4CEC-590D-4209-954B-0DBCB727DF64} = {156DD27D-5857-45B7-9511-0D8E7FE4EAE3}
EndGlobalSection
EndGlobal
diff --git a/cgmanifest.json b/cgmanifest.json
index 1b7b22ebb..b16b00c74 100644
--- a/cgmanifest.json
+++ b/cgmanifest.json
@@ -14,7 +14,7 @@
"Type": "Pod",
"Pod": {
"Name": "AppAuth",
- "Version": "1.3.0"
+ "Version": "1.4.0"
}
}
},
@@ -32,7 +32,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseABTesting",
- "Version": "4.2.0"
+ "Version": "8.10.0"
}
}
},
@@ -41,7 +41,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseAnalytics",
- "Version": "6.9.0"
+ "Version": "8.10.0"
}
}
},
@@ -50,7 +50,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseAuth",
- "Version": "6.9.2"
+ "Version": "8.10.0"
}
}
},
@@ -59,7 +59,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseCore",
- "Version": "6.10.4"
+ "Version": "8.10.0"
}
}
},
@@ -68,7 +68,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseCoreDiagnostics",
- "Version": "1.6.0"
+ "Version": "8.10.0"
}
}
},
@@ -77,7 +77,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseCrashlytics",
- "Version": "4.6.2"
+ "Version": "8.10.0"
}
}
},
@@ -86,7 +86,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseDatabase",
- "Version": "6.6.0"
+ "Version": "8.10.0"
}
}
},
@@ -95,7 +95,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseDynamicLinks",
- "Version": "4.3.1"
+ "Version": "8.10.0"
}
}
},
@@ -104,7 +104,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseFirestore",
- "Version": "1.19.0"
+ "Version": "8.10.0"
}
}
},
@@ -113,7 +113,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseFunctions",
- "Version": "2.9.0"
+ "Version": "8.10.0"
}
}
},
@@ -122,7 +122,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseInAppMessaging",
- "Version": "0.24.0"
+ "Version": "8.10.0-beta"
}
}
},
@@ -131,7 +131,7 @@
"type": "Pod",
"Pod": {
"name": "FirebaseInstallations",
- "Version": "1.7.0"
+ "Version": "8.10.0"
}
}
},
@@ -139,8 +139,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseInstanceID",
- "Version": "4.8.0"
+ "name": "FirebaseMessaging",
+ "Version": "8.10.0"
}
}
},
@@ -148,8 +148,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMessaging",
- "Version": "4.7.1"
+ "name": "FirebasePerformance",
+ "Version": "8.10.0"
}
}
},
@@ -157,8 +157,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLCommon",
- "Version": "0.21.0"
+ "name": "FirebaseRemoteConfig",
+ "Version": "8.10.0"
}
}
},
@@ -166,8 +166,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLModelInterpreter",
- "Version": "0.21.0"
+ "name": "FirebaseStorage",
+ "Version": "8.10.0"
}
}
},
@@ -175,8 +175,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLNaturalLanguage",
- "Version": "0.18.0"
+ "name": "FirebaseAppDistribution",
+ "Version": "8.10.0-beta"
}
}
},
@@ -184,8 +184,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLNLLanguageID",
- "Version": "0.18.0"
+ "name": "FirebaseAppCheck",
+ "Version": "8.10.0-beta"
}
}
},
@@ -193,8 +193,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLNLSmartReply",
- "Version": "0.18.0"
+ "name": "GoogleAPIClientForREST",
+ "Version": "1.6.0"
}
}
},
@@ -202,8 +202,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLNLTranslate",
- "Version": "0.19.0"
+ "name": "GoogleAppMeasurement",
+ "Version": "8.10.0"
}
}
},
@@ -211,8 +211,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLVision",
- "Version": "0.21.0"
+ "name": "GoogleAnalytics",
+ "Version": "3.20.0"
}
}
},
@@ -220,8 +220,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLVisionAutoML",
- "Version": "0.21.0"
+ "name": "google-cast-sdk",
+ "Version": "4.7.0"
}
}
},
@@ -229,8 +229,17 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLVisionBarcodeModel",
- "Version": "0.21.0"
+ "name": "GoogleDataTransport",
+ "Version": "9.1.2"
+ }
+ }
+ },
+ {
+ "component": {
+ "type": "Pod",
+ "Pod": {
+ "name": "GoogleIPhoneUtilities",
+ "Version": "1.2.0"
}
}
},
@@ -238,8 +247,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLVisionFaceModel",
- "Version": "0.21.0"
+ "name": "GoogleMaps",
+ "Version": "6.0.1"
}
}
},
@@ -247,8 +256,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLVisionLabelModel",
- "Version": "0.21.0"
+ "name": "Google-Mobile-Ads-SDK",
+ "Version": "8.13.0"
}
}
},
@@ -256,8 +265,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLVisionObjectDetection",
- "Version": "0.21.0"
+ "name": "GooglePlaces",
+ "Version": "6.0.0"
}
}
},
@@ -265,8 +274,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseMLVisionTextModel",
- "Version": "0.21.0"
+ "name": "GoogleSignIn",
+ "Version": "5.0.2"
}
}
},
@@ -274,8 +283,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebasePerformance",
- "Version": "3.3.0"
+ "name": "GoogleTagManager",
+ "Version": "7.4.0"
}
}
},
@@ -283,8 +292,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseRemoteConfig",
- "Version": "4.9.1"
+ "name": "GoogleToolboxForMac",
+ "Version": "2.3.2"
}
}
},
@@ -292,8 +301,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "FirebaseStorage",
- "Version": "3.9.1"
+ "name": "GoogleUserMessagingPlatform",
+ "Version": "1.1.0"
}
}
},
@@ -301,8 +310,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleAnalytics",
- "Version": "3.17.0"
+ "name": "GoogleUtilities",
+ "Version": "7.6.0"
}
}
},
@@ -310,8 +319,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleAPIClientForREST",
- "Version": "1.4.3"
+ "name": "GoogleUtilitiesComponents",
+ "Version": "1.0.0"
}
}
},
@@ -319,8 +328,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleAppIndexing",
- "Version": "2.0.3"
+ "name": "gRPC-C++",
+ "Version": "1.28.2"
}
}
},
@@ -328,8 +337,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleAppMeasurement",
- "Version": "6.9.0"
+ "name": "gRPC-Core",
+ "Version": "1.28.2"
}
}
},
@@ -337,8 +346,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "google-cast-sdk",
- "Version": "4.4.6"
+ "name": "GTMAppAuth",
+ "Version": "1.2.1"
}
}
},
@@ -346,8 +355,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleDataTransport",
- "Version": "7.5.1"
+ "name": "GTMSessionFetcher",
+ "Version": "1.7.0"
}
}
},
@@ -355,8 +364,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GGLInstanceID",
- "Version": "1.2.1"
+ "name": "leveldb-library",
+ "Version": "1.22.1"
}
}
},
@@ -364,8 +373,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleIPhoneUtilities",
- "Version": "1.2.0"
+ "name": "nanopb",
+ "Version": "2.30908.0"
}
}
},
@@ -373,8 +382,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleMaps",
- "Version": "3.9.0"
+ "name": "PromisesObjC",
+ "Version": "2.0.0"
}
}
},
@@ -382,8 +391,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "Google-Mobile-Ads-SDK",
- "Version": "7.66.0"
+ "name": "Protobuf",
+ "Version": "3.15.8"
}
}
},
@@ -391,8 +400,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GooglePlaces",
- "Version": "3.9.0"
+ "name": "TensorFlowLiteC",
+ "Version": "2.3.0"
}
}
},
@@ -400,8 +409,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleSignIn",
- "Version": "5.0.2"
+ "name": "MLKitCommon",
+ "Version": "5.0.0"
}
}
},
@@ -409,8 +418,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleTagManager",
- "Version": "7.1.2"
+ "name": "MLKitVision",
+ "Version": "3.0.0"
}
}
},
@@ -418,8 +427,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleToolboxForMac",
- "Version": "2.2.2"
+ "name": "MLImage",
+ "Version": "1.0.0-beta2"
}
}
},
@@ -427,8 +436,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleUserMessagingPlatform",
- "Version": "1.1.0"
+ "name": "MLKitMDD",
+ "Version": "3.0.0"
}
}
},
@@ -436,8 +445,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GoogleUtilities",
- "Version": "6.7.2"
+ "name": "SSZipArchive",
+ "Version": "2.4.2"
}
}
},
@@ -445,8 +454,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "gRPC-C++",
- "Version": "1.28.2"
+ "name": "MLKitTextRecognitionCommon",
+ "Version": "1.0.0-beta3"
}
}
},
@@ -454,8 +463,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "gRPC-Core",
- "Version": "1.28.2"
+ "name": "MLKitTextRecognition",
+ "Version": "1.4.0-beta3"
}
}
},
@@ -463,8 +472,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GTMAppAuth",
- "Version": "1.0.0"
+ "name": "MLKitTextRecognitionChinese",
+ "Version": "1.0.0-beta3"
}
}
},
@@ -472,8 +481,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "GTMSessionFetcher",
- "Version": "1.4.0"
+ "name": "MLKitTextRecognitionDevanagari",
+ "Version": "1.0.0-beta3"
}
}
},
@@ -481,8 +490,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "leveldb-library",
- "Version": "1.22.0"
+ "name": "MLKitTextRecognitionJapanese",
+ "Version": "1.0.0-beta3"
}
}
},
@@ -490,8 +499,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "nanopb",
- "Version": "1.30906.0"
+ "name": "MLKitTextRecognitionKorean",
+ "Version": "1.0.0-beta3"
}
}
},
@@ -499,8 +508,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "PromisesObjC",
- "Version": "1.2.10"
+ "name": "MLKitFaceDetection",
+ "Version": "1.5.0"
}
}
},
@@ -508,8 +517,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "Protobuf",
- "Version": "3.13.0"
+ "name": "MLKitBarcodeScanning",
+ "Version": "1.6.0"
}
}
},
@@ -517,8 +526,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "TensorFlowLiteC",
- "Version": "2.3.0"
+ "name": "MLKitDigitalInkRecognition",
+ "Version": "1.5.0"
}
}
},
@@ -526,8 +535,35 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "TensorFlowLiteObjC",
- "Version": "2.3.0"
+ "name": "MLKitVisionKit",
+ "Version": "4.0.0"
+ }
+ }
+ },
+ {
+ "component": {
+ "type": "Pod",
+ "Pod": {
+ "name": "MLKitImageLabelingCommon",
+ "Version": "3.0.0"
+ }
+ }
+ },
+ {
+ "component": {
+ "type": "Pod",
+ "Pod": {
+ "name": "MLKitObjectDetectionCommon",
+ "Version": "3.0.0"
+ }
+ }
+ },
+ {
+ "component": {
+ "type": "Pod",
+ "Pod": {
+ "name": "MLKitImageLabeling",
+ "Version": "1.5.0"
}
}
},
@@ -535,8 +571,8 @@
"component": {
"type": "Pod",
"Pod": {
- "name": "Google",
- "Version": "3.1.0"
+ "name": "MLKitObjectDetection",
+ "Version": "1.5.0"
}
}
}
diff --git a/common.cake b/common.cake
index 9f9b2ab63..81b456b48 100644
--- a/common.cake
+++ b/common.cake
@@ -99,8 +99,11 @@ void BuildSdkOnPodfile (Artifact artifact)
if (artifact.PodSpecs?.Length == 0)
return;
- var baseArch = Platform.iOSArmV7;
- var platforms = new [] { baseArch, Platform.iOSArm64, Platform.iOSSimulator64, Platform.iOSSimulator };
+ var baseArch = Platform.iOSArmV7;
+ // from iOS 11 only 64-bit builds are supported
+ var platforms = Version.TryParse(GetMinimunSupportedVersion(artifact), out var iosVer) && iosVer.Major > 10
+ ? new [] { Platform.iOSArm64, Platform.iOSSimulator64 }
+ : new [] { baseArch, Platform.iOSArm64, Platform.iOSSimulator64, Platform.iOSSimulator };
var podsProject = "./Pods/Pods.xcodeproj";
var workingDirectory = (DirectoryPath)$"./externals/{artifact.Id}";
diff --git a/components.cake b/components.cake
index 0ce25c340..d3343cdce 100644
--- a/components.cake
+++ b/components.cake
@@ -1,38 +1,47 @@
// Firebase artifacts available to be built. These artifacts generate NuGets.
-Artifact FIREBASE_AB_TESTING_ARTIFACT = new Artifact ("Firebase.ABTesting", "4.2.0", "8.0", ComponentGroup.Firebase, csprojName: "ABTesting");
-Artifact FIREBASE_AD_MOB_ARTIFACT = new Artifact ("Firebase.AdMob", "7.66.0", "8.0", ComponentGroup.Firebase, csprojName: "AdMob");
-Artifact FIREBASE_ANALYTICS_ARTIFACT = new Artifact ("Firebase.Analytics", "6.9.0", "8.0", ComponentGroup.Firebase, csprojName: "Analytics");
-Artifact FIREBASE_AUTH_ARTIFACT = new Artifact ("Firebase.Auth", "6.9.2", "8.0", ComponentGroup.Firebase, csprojName: "Auth");
-Artifact FIREBASE_CLOUD_FIRESTORE_ARTIFACT = new Artifact ("Firebase.CloudFirestore", "1.19.0", "8.0", ComponentGroup.Firebase, csprojName: "CloudFirestore");
-Artifact FIREBASE_CLOUD_FUNCTIONS_ARTIFACT = new Artifact ("Firebase.CloudFunctions", "2.9.0", "8.0", ComponentGroup.Firebase, csprojName: "CloudFunctions");
-Artifact FIREBASE_CLOUD_MESSAGING_ARTIFACT = new Artifact ("Firebase.CloudMessaging", "4.7.1", "8.0", ComponentGroup.Firebase, csprojName: "CloudMessaging");
-Artifact FIREBASE_CORE_ARTIFACT = new Artifact ("Firebase.Core", "6.10.4", "8.0", ComponentGroup.Firebase, csprojName: "Core");
-Artifact FIREBASE_CRASHLYTICS_ARTIFACT = new Artifact ("Firebase.Crashlytics", "4.6.2", "8.0", ComponentGroup.Firebase, csprojName: "Crashlytics");
-Artifact FIREBASE_DATABASE_ARTIFACT = new Artifact ("Firebase.Database", "6.6.0", "8.0", ComponentGroup.Firebase, csprojName: "Database");
-Artifact FIREBASE_DYNAMIC_LINKS_ARTIFACT = new Artifact ("Firebase.DynamicLinks", "4.3.1", "8.0", ComponentGroup.Firebase, csprojName: "DynamicLinks");
-Artifact FIREBASE_IN_APP_MESSAGING_ARTIFACT = new Artifact ("Firebase.InAppMessaging", "0.24.0", "9.0", ComponentGroup.Firebase, csprojName: "InAppMessaging");
-Artifact FIREBASE_INSTALLATIONS_ARTIFACT = new Artifact ("Firebase.Installations", "1.7.0", "8.0", ComponentGroup.Firebase, csprojName: "Installations");
-Artifact FIREBASE_INSTANCE_ID_ARTIFACT = new Artifact ("Firebase.InstanceID", "4.8.0", "8.0", ComponentGroup.Firebase, csprojName: "InstanceID");
-Artifact FIREBASE_MLKIT_ARTIFACT = new Artifact ("Firebase.MLKit", "0.21.0", "9.0", ComponentGroup.Firebase, csprojName: "MLKit");
-Artifact FIREBASE_MLKIT_COMMON_ARTIFACT = new Artifact ("Firebase.MLKit.Common", "0.21.0", "9.0", ComponentGroup.Firebase, csprojName: "MLKit.Common");
-Artifact FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT = new Artifact ("Firebase.MLKit.ModelInterpreter", "0.21.0", "9.0", ComponentGroup.Firebase, csprojName: "MLKit.ModelInterpreter");
-Artifact FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT = new Artifact ("Firebase.MLKit.NaturalLanguage", "0.18.0", "9.0", ComponentGroup.Firebase, csprojName: "MLKit.NaturalLanguage");
-Artifact FIREBASE_MLKIT_VISION_ARTIFACT = new Artifact ("Firebase.MLKit.Vision", "0.21.0", "9.0", ComponentGroup.Firebase, csprojName: "MLKit.Vision");
-Artifact FIREBASE_PERFORMANCE_MONITORING_ARTIFACT = new Artifact ("Firebase.PerformanceMonitoring", "3.3.0", "8.0", ComponentGroup.Firebase, csprojName: "PerformanceMonitoring");
-Artifact FIREBASE_REMOTE_CONFIG_ARTIFACT = new Artifact ("Firebase.RemoteConfig", "4.9.1", "8.0", ComponentGroup.Firebase, csprojName: "RemoteConfig");
-Artifact FIREBASE_STORAGE_ARTIFACT = new Artifact ("Firebase.Storage", "3.9.1", "8.0", ComponentGroup.Firebase, csprojName: "Storage");
+Artifact FIREBASE_AB_TESTING_ARTIFACT = new Artifact ("Firebase.ABTesting", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "ABTesting");
+Artifact FIREBASE_AD_MOB_ARTIFACT = new Artifact ("Firebase.AdMob", "8.13.0", "10.0", ComponentGroup.Firebase, csprojName: "AdMob");
+Artifact FIREBASE_ANALYTICS_ARTIFACT = new Artifact ("Firebase.Analytics", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "Analytics");
+Artifact FIREBASE_AUTH_ARTIFACT = new Artifact ("Firebase.Auth", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "Auth");
+Artifact FIREBASE_CLOUD_FIRESTORE_ARTIFACT = new Artifact ("Firebase.CloudFirestore", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "CloudFirestore");
+Artifact FIREBASE_CLOUD_FUNCTIONS_ARTIFACT = new Artifact ("Firebase.CloudFunctions", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "CloudFunctions");
+Artifact FIREBASE_CLOUD_MESSAGING_ARTIFACT = new Artifact ("Firebase.CloudMessaging", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "CloudMessaging");
+Artifact FIREBASE_CORE_ARTIFACT = new Artifact ("Firebase.Core", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "Core");
+Artifact FIREBASE_CRASHLYTICS_ARTIFACT = new Artifact ("Firebase.Crashlytics", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "Crashlytics");
+Artifact FIREBASE_DATABASE_ARTIFACT = new Artifact ("Firebase.Database", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "Database");
+Artifact FIREBASE_DYNAMIC_LINKS_ARTIFACT = new Artifact ("Firebase.DynamicLinks", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "DynamicLinks");
+Artifact FIREBASE_IN_APP_MESSAGING_ARTIFACT = new Artifact ("Firebase.InAppMessaging", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "InAppMessaging");
+Artifact FIREBASE_INSTALLATIONS_ARTIFACT = new Artifact ("Firebase.Installations", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "Installations");
+Artifact FIREBASE_PERFORMANCE_MONITORING_ARTIFACT = new Artifact ("Firebase.PerformanceMonitoring", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "PerformanceMonitoring");
+Artifact FIREBASE_REMOTE_CONFIG_ARTIFACT = new Artifact ("Firebase.RemoteConfig", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "RemoteConfig");
+Artifact FIREBASE_STORAGE_ARTIFACT = new Artifact ("Firebase.Storage", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "Storage");
+// Artifact FIREBASE_APP_DISTRIBUTION_ARTIFACT = new Artifact ("Firebase.AppDistribution", "8.10.0", "10.0", ComponentGroup.Firebase, csprojName: "AppDistribution");
+// Artifact FIREBASE_APP_CHECK_ARTIFACT = new Artifact ("Firebase.AppCheck", "8.10.0", "11.0", ComponentGroup.Firebase, csprojName: "AppCheck");
// Google artifacts available to be built. These artifacts generate NuGets.
-Artifact GOOGLE_ANALYTICS_ARTIFACT = new Artifact ("Google.Analytics", "3.17.0.6", "5.0", ComponentGroup.Google, csprojName: "Analytics");
-Artifact GOOGLE_APP_INDEXING_ARTIFACT = new Artifact ("Google.AppIndexing", "2.0.3.8", "7.0", ComponentGroup.Google, csprojName: "AppIndexing");
-Artifact GOOGLE_CAST_ARTIFACT = new Artifact ("Google.Cast", "4.4.6.1", "9.0", ComponentGroup.Google, csprojName: "Cast");
-Artifact GOOGLE_CORE_ARTIFACT = new Artifact ("Google.Core", "3.1.0.4", "7.0", ComponentGroup.Google, csprojName: "Core");
-Artifact GOOGLE_INSTANCE_ID_ARTIFACT = new Artifact ("Google.InstanceID", "1.2.1.18", "7.0", ComponentGroup.Google, csprojName: "InstanceID");
-Artifact GOOGLE_MAPS_ARTIFACT = new Artifact ("Google.Maps", "3.9.0.0", "9.0", ComponentGroup.Google, csprojName: "Maps");
-Artifact GOOGLE_MOBILE_ADS_ARTIFACT = new Artifact ("Google.MobileAds", "7.66.0", "9.0", ComponentGroup.Google, csprojName: "MobileAds");
-Artifact GOOGLE_PLACES_ARTIFACT = new Artifact ("Google.Places", "3.9.0.0", "9.0", ComponentGroup.Google, csprojName: "Places");
-Artifact GOOGLE_SIGN_IN_ARTIFACT = new Artifact ("Google.SignIn", "5.0.2.1", "8.0", ComponentGroup.Google, csprojName: "SignIn");
-Artifact GOOGLE_TAG_MANAGER_ARTIFACT = new Artifact ("Google.TagManager", "7.1.2.3", "8.0", ComponentGroup.Google, csprojName: "TagManager");
+Artifact GOOGLE_ANALYTICS_ARTIFACT = new Artifact ("Google.Analytics", "3.20.0.0", "9.0", ComponentGroup.Google, csprojName: "Analytics");
+Artifact GOOGLE_CAST_ARTIFACT = new Artifact ("Google.Cast", "4.7.0.0", "12.0", ComponentGroup.Google, csprojName: "Cast");
+Artifact GOOGLE_MAPS_ARTIFACT = new Artifact ("Google.Maps", "5.2.0.0", "12.0", ComponentGroup.Google, csprojName: "Maps");
+Artifact GOOGLE_MOBILE_ADS_ARTIFACT = new Artifact ("Google.MobileAds", "8.13.0.0", "10.0", ComponentGroup.Google, csprojName: "MobileAds");
+Artifact GOOGLE_UMP_ARTIFACT = new Artifact ("Google.UserMessagingPlatform", "1.1.0.0", "10.0", ComponentGroup.Google, csprojName: "UserMessagingPlatform");
+Artifact GOOGLE_PLACES_ARTIFACT = new Artifact ("Google.Places", "5.1.0.0", "12.0", ComponentGroup.Google, csprojName: "Places");
+Artifact GOOGLE_SIGN_IN_ARTIFACT = new Artifact ("Google.SignIn", "5.0.2.2", "10.0", ComponentGroup.Google, csprojName: "SignIn");
+Artifact GOOGLE_TAG_MANAGER_ARTIFACT = new Artifact ("Google.TagManager", "7.4.0.0", "10.0", ComponentGroup.Google, csprojName: "TagManager");
+
+// MLKit artifacts available to be built. These artifacts generate NuGets.
+Artifact MLKIT_CORE_ARTIFACT = new Artifact ("MLKit.Core", "5.0.0", "10.0", ComponentGroup.MLKit, csprojName: "Core");
+Artifact MLKIT_TEXT_RECOGNITION = new Artifact ("MLKit.TextRecognition", "1.0.0.3", "10.0", ComponentGroup.MLKit, csprojName: "TextRecognition");
+Artifact MLKIT_VISION = new Artifact ("MLKit.Vision", "3.0.0", "10.0", ComponentGroup.MLKit, csprojName: "Vision");
+Artifact MLKIT_TEXT_RECOGNITION_LATIN = new Artifact ("MLKit.TextRecognition.Latin", "1.4.0.3", "10.0", ComponentGroup.MLKit, csprojName: "TextRecognitionLatin");
+Artifact MLKIT_TEXT_RECOGNITION_CHINESE = new Artifact ("MLKit.TextRecognition.Chinese", "1.0.0.3", "10.0", ComponentGroup.MLKit, csprojName: "TextRecognitionChinese");
+Artifact MLKIT_TEXT_RECOGNITION_DEVANAGARI = new Artifact ("MLKit.TextRecognition.Devanagari", "1.0.0.3", "10.0", ComponentGroup.MLKit, csprojName: "TextRecognitionDevanagari");
+Artifact MLKIT_TEXT_RECOGNITION_JAPANESE = new Artifact ("MLKit.TextRecognition.Japanese", "1.0.0.3", "10.0", ComponentGroup.MLKit, csprojName: "TextRecognitionJapanese");
+Artifact MLKIT_TEXT_RECOGNITION_KOREAN = new Artifact ("MLKit.TextRecognition.Korean", "1.0.0.3", "10.0", ComponentGroup.MLKit, csprojName: "TextRecognitionKorean");
+Artifact MLKIT_FACE_DETECTION = new Artifact ("MLKit.FaceDetection", "1.5.0", "10.0", ComponentGroup.MLKit, csprojName: "FaceDetection");
+Artifact MLKIT_BARCODE_SCANNING = new Artifact ("MLKit.BarcodeScanning", "1.6.0", "10.0", ComponentGroup.MLKit, csprojName: "BarcodeScanning");
+Artifact MLKIT_DIGITAL_INK_RECOGNITION = new Artifact ("MLKit.DigitalInkRecognition", "1.5.0", "10.0", ComponentGroup.MLKit, csprojName: "DigitalInkRecognition");
+Artifact MLKIT_IMAGE_LABELING = new Artifact ("MLKit.ImageLabeling", "1.5.0", "10.0", ComponentGroup.MLKit, csprojName: "ImageLabeling");
+Artifact MLKIT_OBJECT_DETECTION = new Artifact ("MLKit.ObjectDetection", "1.5.0", "10.0", ComponentGroup.MLKit, csprojName: "ObjectDetection");
var ARTIFACTS = new Dictionary {
{ "Firebase.ABTesting", FIREBASE_AB_TESTING_ARTIFACT },
@@ -48,26 +57,33 @@ var ARTIFACTS = new Dictionary {
{ "Firebase.DynamicLinks", FIREBASE_DYNAMIC_LINKS_ARTIFACT },
{ "Firebase.InAppMessaging", FIREBASE_IN_APP_MESSAGING_ARTIFACT },
{ "Firebase.Installations", FIREBASE_INSTALLATIONS_ARTIFACT },
- { "Firebase.InstanceID", FIREBASE_INSTANCE_ID_ARTIFACT },
- { "Firebase.MLKit", FIREBASE_MLKIT_ARTIFACT },
- { "Firebase.MLKit.Common", FIREBASE_MLKIT_COMMON_ARTIFACT },
- { "Firebase.MLKit.ModelInterpreter", FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT },
- { "Firebase.MLKit.NaturalLanguage", FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT },
- { "Firebase.MLKit.Vision", FIREBASE_MLKIT_VISION_ARTIFACT },
{ "Firebase.PerformanceMonitoring", FIREBASE_PERFORMANCE_MONITORING_ARTIFACT },
{ "Firebase.RemoteConfig", FIREBASE_REMOTE_CONFIG_ARTIFACT },
{ "Firebase.Storage", FIREBASE_STORAGE_ARTIFACT },
+ // { "Firebase.AppDistribution", FIREBASE_APP_DISTRIBUTION_ARTIFACT },
+ // { "Firebase.AppCheck", FIREBASE_APP_CHECK_ARTIFACT },
+
+ { "Google.Analytics", GOOGLE_ANALYTICS_ARTIFACT },
+ { "Google.Cast", GOOGLE_CAST_ARTIFACT },
+ { "Google.Maps", GOOGLE_MAPS_ARTIFACT },
+ { "Google.MobileAds", GOOGLE_MOBILE_ADS_ARTIFACT },
+ { "Google.UserMessagingPlatform", GOOGLE_UMP_ARTIFACT },
+ { "Google.Places", GOOGLE_PLACES_ARTIFACT },
+ { "Google.SignIn", GOOGLE_SIGN_IN_ARTIFACT },
+ { "Google.TagManager", GOOGLE_TAG_MANAGER_ARTIFACT },
- { "Google.Analytics", GOOGLE_ANALYTICS_ARTIFACT },
- { "Google.Appindexing", GOOGLE_APP_INDEXING_ARTIFACT },
- { "Google.Cast", GOOGLE_CAST_ARTIFACT },
- { "Google.Core", GOOGLE_CORE_ARTIFACT },
- { "Google.InstanceID", GOOGLE_INSTANCE_ID_ARTIFACT },
- { "Google.Maps", GOOGLE_MAPS_ARTIFACT },
- { "Google.MobileAds", GOOGLE_MOBILE_ADS_ARTIFACT },
- { "Google.Places", GOOGLE_PLACES_ARTIFACT },
- { "Google.SignIn", GOOGLE_SIGN_IN_ARTIFACT },
- { "Google.TagManager", GOOGLE_TAG_MANAGER_ARTIFACT },
+ { "MLKit.Core", MLKIT_CORE_ARTIFACT },
+ { "MLKit.TextRecognition", MLKIT_TEXT_RECOGNITION },
+ { "MLKit.Vision", MLKIT_VISION },
+ { "MLKit.TextRecognition.Latin", MLKIT_TEXT_RECOGNITION_LATIN },
+ { "MLKit.TextRecognition.Chinese", MLKIT_TEXT_RECOGNITION_CHINESE },
+ { "MLKit.TextRecognition.Devanagari", MLKIT_TEXT_RECOGNITION_DEVANAGARI },
+ { "MLKit.TextRecognition.Japanese", MLKIT_TEXT_RECOGNITION_JAPANESE },
+ { "MLKit.TextRecognition.Korean", MLKIT_TEXT_RECOGNITION_KOREAN },
+ { "MLKit.FaceDetection", MLKIT_FACE_DETECTION },
+ { "MLKit.BarcodeScanning", MLKIT_BARCODE_SCANNING },
+ { "MLKit.ImageLabeling", MLKIT_IMAGE_LABELING },
+ { "MLKit.ObjectDetection", MLKIT_OBJECT_DETECTION },
};
void SetArtifactsDependencies ()
@@ -78,156 +94,188 @@ void SetArtifactsDependencies ()
FIREBASE_AUTH_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, /* Needed for sample */ GOOGLE_SIGN_IN_ARTIFACT };
FIREBASE_CLOUD_FIRESTORE_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, /* Needed for sample */ FIREBASE_AUTH_ARTIFACT };
FIREBASE_CLOUD_FUNCTIONS_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT};
- FIREBASE_CLOUD_MESSAGING_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT };
+ FIREBASE_CLOUD_MESSAGING_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT };
FIREBASE_CORE_ARTIFACT.Dependencies = null;
FIREBASE_CRASHLYTICS_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT };
FIREBASE_DATABASE_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, /* Needed for sample */ FIREBASE_AUTH_ARTIFACT };
FIREBASE_DYNAMIC_LINKS_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT };
FIREBASE_IN_APP_MESSAGING_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT };
FIREBASE_INSTALLATIONS_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT };
- FIREBASE_INSTANCE_ID_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT };
- FIREBASE_MLKIT_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT, FIREBASE_REMOTE_CONFIG_ARTIFACT, FIREBASE_MLKIT_COMMON_ARTIFACT, FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT, FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT, FIREBASE_MLKIT_VISION_ARTIFACT };
- FIREBASE_MLKIT_COMMON_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT };
- FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_MLKIT_COMMON_ARTIFACT };
- FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_MLKIT_COMMON_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT, FIREBASE_REMOTE_CONFIG_ARTIFACT };
- FIREBASE_MLKIT_VISION_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_MLKIT_COMMON_ARTIFACT };
- FIREBASE_PERFORMANCE_MONITORING_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT, FIREBASE_REMOTE_CONFIG_ARTIFACT };
- FIREBASE_REMOTE_CONFIG_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT };
+ FIREBASE_PERFORMANCE_MONITORING_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT, FIREBASE_REMOTE_CONFIG_ARTIFACT };
+ FIREBASE_REMOTE_CONFIG_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT };
FIREBASE_STORAGE_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_DATABASE_ARTIFACT, /* Needed for sample */ FIREBASE_AUTH_ARTIFACT };
+ // FIREBASE_APP_DISTRIBUTION_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT };
+ // FIREBASE_APP_CHECK_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT };
GOOGLE_ANALYTICS_ARTIFACT.Dependencies = null;
- GOOGLE_APP_INDEXING_ARTIFACT.Dependencies = null;
GOOGLE_CAST_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT };
- GOOGLE_CORE_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_ANALYTICS_ARTIFACT };
- GOOGLE_INSTANCE_ID_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_ANALYTICS_ARTIFACT, GOOGLE_CORE_ARTIFACT };
GOOGLE_MAPS_ARTIFACT.Dependencies = null;
GOOGLE_MOBILE_ADS_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT };
+ GOOGLE_UMP_ARTIFACT.Dependencies = null;
GOOGLE_PLACES_ARTIFACT.Dependencies = new [] { GOOGLE_MAPS_ARTIFACT };
GOOGLE_SIGN_IN_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT };
- GOOGLE_TAG_MANAGER_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_ANALYTICS_ARTIFACT, GOOGLE_ANALYTICS_ARTIFACT };
+ GOOGLE_TAG_MANAGER_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_ANALYTICS_ARTIFACT };
+
+ MLKIT_CORE_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT };
+ MLKIT_TEXT_RECOGNITION.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT };
+ MLKIT_VISION.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT };
+ MLKIT_TEXT_RECOGNITION_LATIN.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT, MLKIT_TEXT_RECOGNITION };
+ MLKIT_TEXT_RECOGNITION_CHINESE.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT, MLKIT_TEXT_RECOGNITION };
+ MLKIT_TEXT_RECOGNITION_DEVANAGARI.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT, MLKIT_TEXT_RECOGNITION };
+ MLKIT_TEXT_RECOGNITION_JAPANESE.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT, MLKIT_TEXT_RECOGNITION };
+ MLKIT_TEXT_RECOGNITION_KOREAN.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT, MLKIT_TEXT_RECOGNITION };
+ MLKIT_FACE_DETECTION.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT };
+ MLKIT_BARCODE_SCANNING.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT };
+ MLKIT_DIGITAL_INK_RECOGNITION.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT };
+ MLKIT_IMAGE_LABELING.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT, MLKIT_VISION };
+ MLKIT_OBJECT_DETECTION.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, MLKIT_CORE_ARTIFACT, MLKIT_VISION };
}
void SetArtifactsPodSpecs ()
{
// Firebase components
FIREBASE_AB_TESTING_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseABTesting", targetName: "FirebaseABTesting", subSpecs: new [] { "ABTesting" })
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseABTesting", targetName: "FirebaseABTesting", subSpecs: new [] { "ABTesting" })
};
FIREBASE_AD_MOB_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "AdMob" })
+ PodSpec.Create ("Firebase", "8.10.0", subSpecs: new [] { "AdMob" })
};
FIREBASE_ANALYTICS_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "Analytics" })
+ PodSpec.Create ("Firebase", "8.10.0", subSpecs: new [] { "Analytics" })
};
FIREBASE_AUTH_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseAuth", targetName: "FirebaseAuth", subSpecs: new [] { "Auth" })
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseAuth", targetName: "FirebaseAuth", subSpecs: new [] { "Auth" })
};
FIREBASE_CLOUD_FIRESTORE_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseFirestore", targetName: "FirebaseFirestore", subSpecs: new [] { "Firestore" }),
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseFirestore", targetName: "FirebaseFirestore", subSpecs: new [] { "Firestore" }),
PodSpec.Create ("BoringSSL-GRPC", "0.0.7", frameworkSource: FrameworkSource.Pods, frameworkName: "openssl_grpc"),
PodSpec.Create ("gRPC-Core", "1.28.2", frameworkSource: FrameworkSource.Pods, frameworkName: "grpc"),
PodSpec.Create ("gRPC-C++", "1.28.2", frameworkSource: FrameworkSource.Pods, frameworkName: "grpcpp"),
PodSpec.Create ("abseil", "0.20200225.0", frameworkSource: FrameworkSource.Pods, frameworkName: "absl", subSpecs: new [] { "algorithm", "base", "memory", "meta", "strings", "time", "types" })
};
FIREBASE_CLOUD_FUNCTIONS_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseFunctions", targetName: "FirebaseFunctions", subSpecs: new [] { "Functions" })
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseFunctions", targetName: "FirebaseFunctions", subSpecs: new [] { "Functions" })
};
FIREBASE_CLOUD_MESSAGING_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseMessaging", targetName: "FirebaseMessaging", subSpecs: new [] { "Messaging" })
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseMessaging", targetName: "FirebaseMessaging", subSpecs: new [] { "Messaging" })
};
FIREBASE_CORE_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseCore", targetName: "FirebaseCore", subSpecs: new [] { "CoreOnly" }),
- PodSpec.Create ("FirebaseCoreDiagnostics", "1.6.0", frameworkSource: FrameworkSource.Pods),
- PodSpec.Create ("GTMSessionFetcher", "1.4.0", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "Full" }),
- PodSpec.Create ("GoogleAPIClientForREST", "1.4.3", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "Vision" }, useDefaultSubspecs: true),
- PodSpec.Create ("GoogleAppMeasurement", "6.9.0"),
- PodSpec.Create ("GoogleDataTransport", "7.5.1", frameworkSource: FrameworkSource.Pods),
- PodSpec.Create ("PromisesObjC", "1.2.10", frameworkSource: FrameworkSource.Pods, frameworkName: "FBLPromises", targetName: "PromisesObjC"),
- PodSpec.Create ("GoogleToolboxForMac", "2.2.2", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "NSData+zlib", "NSDictionary+URLArguments", "Logger", "StringEncoding", "URLBuilder" }),
- PodSpec.Create ("GoogleUtilities", "6.7.2", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "AppDelegateSwizzler", "Environment", "Logger", "ISASwizzler", "MethodSwizzler", "Network", "NSData+zlib", "Reachability", "UserDefaults", }),
- PodSpec.Create ("nanopb", "1.30906.0", frameworkSource: FrameworkSource.Pods),
- PodSpec.Create ("leveldb-library", "1.22.0", frameworkSource: FrameworkSource.Pods, frameworkName: "leveldb"),
- PodSpec.Create ("Protobuf", "3.13.0", frameworkSource: FrameworkSource.Pods, frameworkName: "Protobuf")
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseCore", targetName: "FirebaseCore", subSpecs: new [] { "CoreOnly" }),
+ PodSpec.Create ("FirebaseCoreDiagnostics", "8.10.0", frameworkSource: FrameworkSource.Pods),
+ PodSpec.Create ("GTMSessionFetcher", "1.7.0", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "Full" }),
+ PodSpec.Create ("GoogleAPIClientForREST", "1.6.0", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "Vision" }, useDefaultSubspecs: true),
+ PodSpec.Create ("GoogleAppMeasurement", "8.10.0"),
+ PodSpec.Create ("GoogleDataTransport", "9.1.2", frameworkSource: FrameworkSource.Pods),
+ PodSpec.Create ("PromisesObjC", "2.0.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FBLPromises", targetName: "PromisesObjC"),
+ PodSpec.Create ("GoogleToolboxForMac", "2.3.2", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "NSData+zlib", "NSDictionary+URLArguments", "Logger", "StringEncoding", "URLBuilder" }),
+ PodSpec.Create ("GoogleUtilities", "7.6.0", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "AppDelegateSwizzler", "Environment", "Logger", "ISASwizzler", "MethodSwizzler", "Network", "NSData+zlib", "Reachability", "UserDefaults", }),
+ PodSpec.Create ("GoogleUtilitiesComponents", "1.0.0", frameworkSource: FrameworkSource.Pods),
+ PodSpec.Create ("nanopb", "2.30908.0", frameworkSource: FrameworkSource.Pods),
+ PodSpec.Create ("leveldb-library", "1.22.1", frameworkSource: FrameworkSource.Pods, frameworkName: "leveldb"),
+ PodSpec.Create ("Protobuf", "3.15.8", frameworkSource: FrameworkSource.Pods, frameworkName: "Protobuf")
};
FIREBASE_CRASHLYTICS_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseCrashlytics", targetName: "FirebaseCrashlytics", subSpecs: new [] { "Crashlytics" })
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseCrashlytics", targetName: "FirebaseCrashlytics", subSpecs: new [] { "Crashlytics" })
};
FIREBASE_DATABASE_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseDatabase", targetName: "FirebaseDatabase", subSpecs: new [] { "Database" })
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseDatabase", targetName: "FirebaseDatabase", subSpecs: new [] { "Database" })
};
FIREBASE_DYNAMIC_LINKS_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseDynamicLinks", targetName: "FirebaseDynamicLinks", subSpecs: new [] { "DynamicLinks" })
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseDynamicLinks", targetName: "FirebaseDynamicLinks", subSpecs: new [] { "DynamicLinks" })
};
FIREBASE_IN_APP_MESSAGING_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseInAppMessaging", targetName: "FirebaseInAppMessaging", subSpecs: new [] { "InAppMessaging" })
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseInAppMessaging", targetName: "FirebaseInAppMessaging", subSpecs: new [] { "InAppMessaging" })
};
FIREBASE_INSTALLATIONS_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("FirebaseInstallations", "1.7.0", frameworkSource: FrameworkSource.Pods)
- };
- FIREBASE_INSTANCE_ID_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("FirebaseInstanceID", "4.8.0", frameworkSource: FrameworkSource.Pods)
- };
- FIREBASE_MLKIT_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "MLCommon", "MLModelInterpreter", "MLNaturalLanguage", "MLVision" })
- };
- FIREBASE_MLKIT_COMMON_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "MLCommon" }),
- PodSpec.Create ("TensorFlowLiteObjC", "2.3.0", frameworkSource: FrameworkSource.Pods, frameworkName: "TFLTensorFlowLite", targetName: "TensorFlowLiteObjC"),
- PodSpec.Create ("TensorFlowLiteC", "2.3.0")
- };
- FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "MLModelInterpreter" })
- };
- FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "MLNaturalLanguage", "MLNLLanguageID", "MLNLSmartReply", "MLNLTranslate" })
- };
- FIREBASE_MLKIT_VISION_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "MLVision", "MLVisionAutoML", "MLVisionBarcodeModel", "MLVisionFaceModel", "MLVisionLabelModel", "MLVisionTextModel", "MLVisionObjectDetection" })
+ PodSpec.Create ("FirebaseInstallations", "8.10.0", frameworkSource: FrameworkSource.Pods)
};
FIREBASE_PERFORMANCE_MONITORING_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "Performance" })
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebasePerformance", targetName: "FirebasePerformance", subSpecs: new [] { "Performance" })
};
FIREBASE_REMOTE_CONFIG_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseRemoteConfig", targetName: "FirebaseRemoteConfig", subSpecs: new [] { "RemoteConfig" })
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseRemoteConfig", targetName: "FirebaseRemoteConfig", subSpecs: new [] { "RemoteConfig" })
};
FIREBASE_STORAGE_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseStorage", targetName: "FirebaseStorage", subSpecs: new [] { "Storage" })
- };
+ PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseStorage", targetName: "FirebaseStorage", subSpecs: new [] { "Storage" })
+ };
+ // FIREBASE_APP_DISTRIBUTION_ARTIFACT.PodSpecs = new [] {
+ // PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseAppDistribution", targetName: "FirebaseAppDistribution", subSpecs: new [] { "AppDistribution" })
+ // };
+ // FIREBASE_APP_CHECK_ARTIFACT.PodSpecs = new [] {
+ // PodSpec.Create ("Firebase", "8.10.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseAppCheck", targetName: "FirebaseAppCheck", subSpecs: new [] { "AppCheck" })
+ // };
// Google components
GOOGLE_ANALYTICS_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("GoogleAnalytics", "3.17.0")
- };
- GOOGLE_APP_INDEXING_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("GoogleAppIndexing", "2.0.3")
+ PodSpec.Create ("GoogleAnalytics", "3.20.0")
};
GOOGLE_CAST_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("google-cast-sdk", "4.4.5")
- };
- GOOGLE_CORE_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Google", "3.1.0", subSpecs: new [] { "Core" })
- };
- GOOGLE_INSTANCE_ID_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("GGLInstanceID", "1.2.1"),
- PodSpec.Create ("GoogleIPhoneUtilities", "1.2.0")
+ PodSpec.Create ("google-cast-sdk", "4.7.0")
};
GOOGLE_MAPS_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("GoogleMaps", "3.9.0")
+ PodSpec.Create ("GoogleMaps", "6.0.1")
};
GOOGLE_MOBILE_ADS_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("Google-Mobile-Ads-SDK", "7.66.0"),
+ PodSpec.Create ("Google-Mobile-Ads-SDK", "8.13.0")
+ };
+ GOOGLE_UMP_ARTIFACT.PodSpecs = new [] {
PodSpec.Create ("GoogleUserMessagingPlatform", "1.1.0")
};
GOOGLE_PLACES_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("GooglePlaces", "3.9.0")
+ PodSpec.Create ("GooglePlaces", "6.0.0")
};
GOOGLE_SIGN_IN_ARTIFACT.PodSpecs = new [] {
PodSpec.Create ("GoogleSignIn", "5.0.2"),
- PodSpec.Create ("AppAuth", "1.3.0", frameworkSource: FrameworkSource.Pods),
- PodSpec.Create ("GTMAppAuth", "1.0.0", frameworkSource: FrameworkSource.Pods),
+ PodSpec.Create ("AppAuth", "1.4.0", frameworkSource: FrameworkSource.Pods),
+ PodSpec.Create ("GTMAppAuth", "1.2.1", frameworkSource: FrameworkSource.Pods),
};
GOOGLE_TAG_MANAGER_ARTIFACT.PodSpecs = new [] {
- PodSpec.Create ("GoogleTagManager", "7.1.2")
+ PodSpec.Create ("GoogleTagManager", "7.4.0")
+ };
+
+ // MLKit components
+ MLKIT_CORE_ARTIFACT.PodSpecs = new [] {
+ PodSpec.Create ("MLKitCore", "5.0.0"),
+ PodSpec.Create ("MLKitVision", "3.0.0"),
+ PodSpec.Create ("MLImage", "1.0.0-beta2"),
+ PodSpec.Create ("MLKitMDD", "3.0.0"),
+ PodSpec.Create ("SSZipArchive", "2.4.2", frameworkSource: FrameworkSource.Pods),
+ };
+ MLKIT_TEXT_RECOGNITION.PodSpecs = new [] {
+ PodSpec.Create ("MLKitTextRecognitionCommon", "1.0.0")
+ };
+ MLKIT_VISION.PodSpecs = new [] {
+ PodSpec.Create ("MLKitVision", "3.0.0")
+ };
+ MLKIT_TEXT_RECOGNITION_LATIN.PodSpecs = new [] {
+ PodSpec.Create ("MLKitTextRecognition", "1.4.0")
+ };
+ MLKIT_TEXT_RECOGNITION_CHINESE.PodSpecs = new [] {
+ PodSpec.Create ("MLKitTextRecognitionChinese", "1.0.0")
+ };
+ MLKIT_TEXT_RECOGNITION_DEVANAGARI.PodSpecs = new [] {
+ PodSpec.Create ("MLKitTextRecognitionDevanagari", "1.0.0")
+ };
+ MLKIT_TEXT_RECOGNITION_JAPANESE.PodSpecs = new [] {
+ PodSpec.Create ("MLKitTextRecognitionJapanese", "1.0.0")
+ };
+ MLKIT_TEXT_RECOGNITION_KOREAN.PodSpecs = new [] {
+ PodSpec.Create ("MLKitTextRecognitionKorean", "1.0.0")
+ };
+ MLKIT_FACE_DETECTION.PodSpecs = new [] {
+ PodSpec.Create ("MLKitFaceDetection", "1.5.0")
+ };
+ MLKIT_BARCODE_SCANNING.PodSpecs = new [] {
+ PodSpec.Create ("MLKitBarcodeScanning", "1.6.0")
+ };
+ MLKIT_DIGITAL_INK_RECOGNITION.PodSpecs = new [] {
+ PodSpec.Create ("MLKitDigitalInkRecognition", "1.5.0")
+ };
+ MLKIT_IMAGE_LABELING.PodSpecs = new [] {
+ PodSpec.Create ("MLKitImageLabeling", "1.5.0")
+ };
+ MLKIT_OBJECT_DETECTION.PodSpecs = new [] {
+ PodSpec.Create ("MLKitObjectDetection", "1.5.0")
};
}
@@ -265,10 +313,12 @@ void SetArtifactsExtraPodfileLines ()
FIREBASE_DATABASE_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines;
FIREBASE_DYNAMIC_LINKS_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines;
FIREBASE_INSTALLATIONS_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines;
- FIREBASE_INSTANCE_ID_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines;
+ FIREBASE_PERFORMANCE_MONITORING_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines;
FIREBASE_REMOTE_CONFIG_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines;
FIREBASE_STORAGE_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines;
-
+ // FIREBASE_APP_DISTRIBUTION_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines;
+ // FIREBASE_APP_CHECK_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines;
+
var inAppMessagingWorkaround = new [] {
"post_install do |installer|",
"\tinstaller.pods_project.targets.each do |pod|",
@@ -306,25 +356,21 @@ void SetArtifactsSamples ()
FIREBASE_DYNAMIC_LINKS_ARTIFACT.Samples = new [] { "DynamicLinksSample" };
FIREBASE_IN_APP_MESSAGING_ARTIFACT.Samples = new [] { "InAppMessagingSample" };
FIREBASE_INSTALLATIONS_ARTIFACT.Samples = null;
- FIREBASE_INSTANCE_ID_ARTIFACT.Samples = null;
- FIREBASE_MLKIT_ARTIFACT.Samples = new [] { "MLKitSample" };
- FIREBASE_MLKIT_COMMON_ARTIFACT.Samples = null;
- FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT.Samples = new [] { "ModelInterpreterSample" };
- FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT.Samples = new [] { "NaturalLanguageSample" };
- FIREBASE_MLKIT_VISION_ARTIFACT.Samples = new [] { "MLKitVisionSample" };
FIREBASE_PERFORMANCE_MONITORING_ARTIFACT.Samples = new [] { "PerformanceMonitoringSample" };
FIREBASE_REMOTE_CONFIG_ARTIFACT.Samples = new [] { "RemoteConfigSample" };
FIREBASE_STORAGE_ARTIFACT.Samples = new [] { "StorageSample" };
+ //FIREBASE_APP_DISTRIBUTION_ARTIFACT.Samples = new [] { "AppDistributionSample" };
+ //FIREBASE_APP_CHECK_ARTIFACT.Samples = new [] { "AppCheckSample" };
// Google components
GOOGLE_ANALYTICS_ARTIFACT.Samples = new [] { "CuteAnimalsiOS" };
- GOOGLE_APP_INDEXING_ARTIFACT.Samples = new [] { "AppIndexingSample" };
- GOOGLE_CAST_ARTIFACT.Samples = new [] { "CastSample" };
- GOOGLE_CORE_ARTIFACT.Samples = null;
- GOOGLE_INSTANCE_ID_ARTIFACT.Samples = new [] { "InstanceIDSample" };
+ GOOGLE_CAST_ARTIFACT.Samples = new [] { "CastSample" };
GOOGLE_MAPS_ARTIFACT.Samples = new [] { "GoogleMapsAdvSample", "GoogleMapsSample" };
GOOGLE_MOBILE_ADS_ARTIFACT.Samples = new [] { "MobileAdsExample" };
GOOGLE_PLACES_ARTIFACT.Samples = new [] { "GooglePlacesSample" };
GOOGLE_SIGN_IN_ARTIFACT.Samples = new [] { "SignInExample" };
GOOGLE_TAG_MANAGER_ARTIFACT.Samples = new [] { "TagManagerSample" };
+
+ // MLKit
+ MLKIT_VISION.Samples = new [] { "MLKitVisionSample" };
}
diff --git a/poco.cake b/poco.cake
index 14cafaa41..990bbb869 100644
--- a/poco.cake
+++ b/poco.cake
@@ -1,7 +1,8 @@
enum ComponentGroup
{
Firebase,
- Google
+ Google,
+ MLKit
}
enum FrameworkSource
diff --git a/samples/Firebase/AdMob/AdMobSample/AdMobSample.csproj b/samples/Firebase/AdMob/AdMobSample/AdMobSample.csproj
index 282f0f8aa..0a90cff56 100644
--- a/samples/Firebase/AdMob/AdMobSample/AdMobSample.csproj
+++ b/samples/Firebase/AdMob/AdMobSample/AdMobSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -143,5 +143,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/AdMob/AdMobSample/AdsViewController.cs b/samples/Firebase/AdMob/AdMobSample/AdsViewController.cs
index ad835d3b8..301381508 100644
--- a/samples/Firebase/AdMob/AdMobSample/AdsViewController.cs
+++ b/samples/Firebase/AdMob/AdMobSample/AdsViewController.cs
@@ -7,14 +7,14 @@
using CoreGraphics;
using Google.MobileAds;
+using Foundation;
namespace AdMobSample
{
- public class AdsViewController : DialogViewController
- {
+ public class AdsViewController : DialogViewController {
BannerView adViewTableView;
BannerView adViewWindow;
- Interstitial adInterstitial;
+ InterstitialAd adInterstitial;
bool adOnTable;
bool adOnWindow;
@@ -46,9 +46,10 @@ void AddToTableView ()
if (adViewTableView == null) {
// Setup your BannerView, review AdSizeCons class for more Ad sizes.
adViewTableView = new BannerView (size: AdSizeCons.SmartBannerPortrait) {
- AdUnitId = AdMobConstants.BannerId,
+
RootViewController = NavigationController
};
+ adViewTableView.AdUnitId = AdMobConstants.BannerId;
// Wire AdReceived event to know when the Ad is ready to be displayed
adViewTableView.AdReceived += (object sender, EventArgs e) => {
@@ -85,10 +86,10 @@ void AddToWindow ()
// Setup your GADBannerView, review AdSizeCons class for more Ad sizes.
adViewWindow = new BannerView (size: AdSizeCons.SmartBannerPortrait,
origin: new CGPoint (0, UIScreen.MainScreen.Bounds.Size.Height - AdSizeCons.Banner.Size.Height)) {
- AdUnitId = AdMobConstants.BannerId,
+
RootViewController = NavigationController
};
-
+ adViewWindow.AdUnitId = AdMobConstants.BannerId;
// Wire AdReceived event to know when the Ad is ready to be displayed
adViewWindow.AdReceived += (object sender, EventArgs e) => {
if (!adOnWindow) {
@@ -119,24 +120,29 @@ void RemoveAdFromWindow ()
void AddToView ()
{
- if (!adInterstitial.IsReady)
- return;
+ if (adInterstitial?.CanPresent (NavigationController, out _) == true) {
+ adInterstitial.DismissedContent += (sender, args) => {
+ // Interstitial is a one time use object. That means once an interstitial is shown, HasBeenUsed
+ // returns true and the interstitial can't be used to load another ad.
+ // To request another interstitial, you'll need to create a new Interstitial object.
+ adInterstitial.Dispose ();
+ adInterstitial = null;
+ CreateAndRequestInterstitial ();
+ };
- adInterstitial.Present (NavigationController);
+ adInterstitial.Present (NavigationController);
+ }
}
void CreateAndRequestInterstitial ()
{
- adInterstitial = new Interstitial (AdMobConstants.IntersitialId);
- adInterstitial.ScreenDismissed += (sender, e) => {
- // Interstitial is a one time use object. That means once an interstitial is shown, HasBeenUsed
- // returns true and the interstitial can't be used to load another ad.
- // To request another interstitial, you'll need to create a new Interstitial object.
- adInterstitial.Dispose ();
- adInterstitial = null;
- CreateAndRequestInterstitial ();
- };
- adInterstitial.LoadRequest (GetRequest ());
+ if (adInterstitial == null) {
+ InterstitialAd.Load (AdMobConstants.IntersitialId, GetRequest (), (ad, err) => {
+ if (ad != null) {
+ adInterstitial = ad;
+ }
+ });
+ }
}
Request GetRequest ()
@@ -144,5 +150,5 @@ Request GetRequest ()
var request = Request.GetDefaultRequest ();
return request;
}
- }
+ }
}
diff --git a/samples/Firebase/AdMob/AdMobSample/Info.plist b/samples/Firebase/AdMob/AdMobSample/Info.plist
index 7372cccdc..923dd5dc8 100644
--- a/samples/Firebase/AdMob/AdMobSample/Info.plist
+++ b/samples/Firebase/AdMob/AdMobSample/Info.plist
@@ -13,7 +13,7 @@
LSRequiresIPhoneOS
MinimumOSVersion
- 8.0
+ 9.0
UIDeviceFamily
1
diff --git a/samples/Firebase/AdMob/AdMobSample/packages.config b/samples/Firebase/AdMob/AdMobSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/AdMob/AdMobSample/packages.config
+++ b/samples/Firebase/AdMob/AdMobSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/Analytics/AnalyticsSample/AnalyticsSample.csproj b/samples/Firebase/Analytics/AnalyticsSample/AnalyticsSample.csproj
index da4808002..316006b3b 100644
--- a/samples/Firebase/Analytics/AnalyticsSample/AnalyticsSample.csproj
+++ b/samples/Firebase/Analytics/AnalyticsSample/AnalyticsSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -152,5 +152,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/Analytics/AnalyticsSample/packages.config b/samples/Firebase/Analytics/AnalyticsSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/Analytics/AnalyticsSample/packages.config
+++ b/samples/Firebase/Analytics/AnalyticsSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/Auth/AuthSample/AuthSample.csproj b/samples/Firebase/Auth/AuthSample/AuthSample.csproj
index a373b172b..d88d6bc9f 100644
--- a/samples/Firebase/Auth/AuthSample/AuthSample.csproj
+++ b/samples/Firebase/Auth/AuthSample/AuthSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -184,5 +184,5 @@
-
+
diff --git a/samples/Firebase/Auth/AuthSample/packages.config b/samples/Firebase/Auth/AuthSample/packages.config
index ab3e681cb..2071fb995 100644
--- a/samples/Firebase/Auth/AuthSample/packages.config
+++ b/samples/Firebase/Auth/AuthSample/packages.config
@@ -1,7 +1,7 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/CloudFirestore/CloudFirestoreSample/CloudFirestoreSample.csproj b/samples/Firebase/CloudFirestore/CloudFirestoreSample/CloudFirestoreSample.csproj
index 7efbef1c2..a09504f2a 100644
--- a/samples/Firebase/CloudFirestore/CloudFirestoreSample/CloudFirestoreSample.csproj
+++ b/samples/Firebase/CloudFirestore/CloudFirestoreSample/CloudFirestoreSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -164,5 +164,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/CloudFirestore/CloudFirestoreSample/packages.config b/samples/Firebase/CloudFirestore/CloudFirestoreSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/CloudFirestore/CloudFirestoreSample/packages.config
+++ b/samples/Firebase/CloudFirestore/CloudFirestoreSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/CloudFunctions/CloudFunctionsSample/CloudFunctionsSample.csproj b/samples/Firebase/CloudFunctions/CloudFunctionsSample/CloudFunctionsSample.csproj
index d2b44e1eb..7b1ec1512 100644
--- a/samples/Firebase/CloudFunctions/CloudFunctionsSample/CloudFunctionsSample.csproj
+++ b/samples/Firebase/CloudFunctions/CloudFunctionsSample/CloudFunctionsSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -142,5 +142,5 @@
-
+
diff --git a/samples/Firebase/CloudFunctions/CloudFunctionsSample/packages.config b/samples/Firebase/CloudFunctions/CloudFunctionsSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/CloudFunctions/CloudFunctionsSample/packages.config
+++ b/samples/Firebase/CloudFunctions/CloudFunctionsSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/CloudMessaging/CloudMessagingSample/AppDelegate.cs b/samples/Firebase/CloudMessaging/CloudMessagingSample/AppDelegate.cs
index bcfac7c77..4cbbf708d 100644
--- a/samples/Firebase/CloudMessaging/CloudMessagingSample/AppDelegate.cs
+++ b/samples/Firebase/CloudMessaging/CloudMessagingSample/AppDelegate.cs
@@ -2,7 +2,6 @@
using UIKit;
using UserNotifications;
-using Firebase.InstanceID;
using Firebase.Core;
using Firebase.CloudMessaging;
using System;
@@ -61,21 +60,9 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary
Messaging.SharedInstance.Delegate = this;
- InstanceId.SharedInstance.GetInstanceId (InstanceIdResultHandler);
-
return true;
}
- void InstanceIdResultHandler (InstanceIdResult result, NSError error)
- {
- if (error != null) {
- LogInformation (nameof (InstanceIdResultHandler), $"Error: {error.LocalizedDescription}");
- return;
- }
-
- LogInformation (nameof (InstanceIdResultHandler), $"Remote Instance Id token: {result.Token}");
- }
-
[Export ("messaging:didReceiveRegistrationToken:")]
public void DidReceiveRegistrationToken (Messaging messaging, string fcmToken)
{
@@ -113,15 +100,6 @@ public override void DidReceiveRemoteNotification (UIApplication application, NS
completionHandler (UIBackgroundFetchResult.NewData);
}
- [Export ("messaging:didReceiveMessage:")]
- public void DidReceiveMessage (Messaging messaging, RemoteMessage remoteMessage)
- {
- // Handle Data messages for iOS 10 and above.
- HandleMessage (remoteMessage.AppData);
-
- LogInformation (nameof (DidReceiveMessage), remoteMessage.AppData);
- }
-
void HandleMessage (NSDictionary message)
{
if (MessageReceived == null)
diff --git a/samples/Firebase/CloudMessaging/CloudMessagingSample/CloudMessagingSample.csproj b/samples/Firebase/CloudMessaging/CloudMessagingSample/CloudMessagingSample.csproj
index ecf6f1165..068504ebd 100644
--- a/samples/Firebase/CloudMessaging/CloudMessagingSample/CloudMessagingSample.csproj
+++ b/samples/Firebase/CloudMessaging/CloudMessagingSample/CloudMessagingSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -130,10 +130,6 @@
{9335A59B-3B54-4ED5-8201-B68CFD05CAFB}
Core
-
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}
- InstanceID
-
{65ACD945-5A8A-419D-B9FB-8DFD03C532F4}
Installations
@@ -148,5 +144,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/CloudMessaging/CloudMessagingSample/packages.config b/samples/Firebase/CloudMessaging/CloudMessagingSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/CloudMessaging/CloudMessagingSample/packages.config
+++ b/samples/Firebase/CloudMessaging/CloudMessagingSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/Crashlytics/CrashlyticsSample/CrashlyticsSample.csproj b/samples/Firebase/Crashlytics/CrashlyticsSample/CrashlyticsSample.csproj
index d2e005272..782a5ae54 100644
--- a/samples/Firebase/Crashlytics/CrashlyticsSample/CrashlyticsSample.csproj
+++ b/samples/Firebase/Crashlytics/CrashlyticsSample/CrashlyticsSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
@@ -145,5 +145,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/Crashlytics/CrashlyticsSample/packages.config b/samples/Firebase/Crashlytics/CrashlyticsSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/Crashlytics/CrashlyticsSample/packages.config
+++ b/samples/Firebase/Crashlytics/CrashlyticsSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/Database/DatabaseSample/DatabaseSample.csproj b/samples/Firebase/Database/DatabaseSample/DatabaseSample.csproj
index 166ba6681..69179bcbf 100644
--- a/samples/Firebase/Database/DatabaseSample/DatabaseSample.csproj
+++ b/samples/Firebase/Database/DatabaseSample/DatabaseSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -163,5 +163,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/Database/DatabaseSample/packages.config b/samples/Firebase/Database/DatabaseSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/Database/DatabaseSample/packages.config
+++ b/samples/Firebase/Database/DatabaseSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/DynamicLinks/DynamicLinksSample/DynamicLinksSample.csproj b/samples/Firebase/DynamicLinks/DynamicLinksSample/DynamicLinksSample.csproj
index 4c1815790..7c84fe2f2 100644
--- a/samples/Firebase/DynamicLinks/DynamicLinksSample/DynamicLinksSample.csproj
+++ b/samples/Firebase/DynamicLinks/DynamicLinksSample/DynamicLinksSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -151,5 +151,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/DynamicLinks/DynamicLinksSample/packages.config b/samples/Firebase/DynamicLinks/DynamicLinksSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/DynamicLinks/DynamicLinksSample/packages.config
+++ b/samples/Firebase/DynamicLinks/DynamicLinksSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/InAppMessaging/InAppMessagingSample/InAppMessagingSample.csproj b/samples/Firebase/InAppMessaging/InAppMessagingSample/InAppMessagingSample.csproj
index c70ecfcbb..25f644445 100644
--- a/samples/Firebase/InAppMessaging/InAppMessagingSample/InAppMessagingSample.csproj
+++ b/samples/Firebase/InAppMessaging/InAppMessagingSample/InAppMessagingSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -154,5 +154,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/InAppMessaging/InAppMessagingSample/packages.config b/samples/Firebase/InAppMessaging/InAppMessagingSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/InAppMessaging/InAppMessagingSample/packages.config
+++ b/samples/Firebase/InAppMessaging/InAppMessagingSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/AppDelegate.cs b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/AppDelegate.cs
index b43efa81b..12c82db07 100644
--- a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/AppDelegate.cs
+++ b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/AppDelegate.cs
@@ -27,13 +27,16 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary
// Override point for customization after application launch.
// If not required for your application you can safely delete this method
- // You can download your GoogleService-Info.plist file following the next link:
+ // You can download your GoogleService-Info.plist file following the next link:
// https://firebase.google.com/docs/ios/setup
if (!GoogleServiceInfoPlistHelper.FileExist ()) {
Window = GoogleServiceInfoPlistHelper.CreateWindowWithFileNotFoundMessage ();
return true;
}
+ // Use Firebase library to configure APIs
+ App.Configure ();
+
var navigationController = Window.RootViewController as UINavigationController;
if (UIDevice.CurrentDevice.CheckSystemVersion (11, 0))
@@ -66,9 +69,6 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary
// The following line enables/disables custom traces
Performance.SharedInstance.DataCollectionEnabled = isPerformanceMonitoringDataCollectionEnabled;
- // Use Firebase library to configure APIs
- App.Configure ();
-
return true;
}
diff --git a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/Controllers/SettingsTableViewController.cs b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/Controllers/SettingsTableViewController.cs
index cf6ad15c1..7419f07fc 100644
--- a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/Controllers/SettingsTableViewController.cs
+++ b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/Controllers/SettingsTableViewController.cs
@@ -92,7 +92,7 @@ void HandleRemoteConfigFetchCompletionHandler (RemoteConfigFetchStatus status, N
void OkAction ()
{
- remoteConfig.ActivateFetched ();
+ remoteConfig.Activate ();
var indexPaths = TableView.IndexPathsForVisibleRows;
foreach (var indexPath in indexPaths) {
diff --git a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/PerformanceMonitoringSample.csproj b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/PerformanceMonitoringSample.csproj
index 8464db6b9..3d18eadf9 100644
--- a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/PerformanceMonitoringSample.csproj
+++ b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/PerformanceMonitoringSample.csproj
@@ -1,5 +1,5 @@
-
+
Debug
iPhoneSimulator
@@ -151,10 +151,6 @@
{9335A59B-3B54-4ED5-8201-B68CFD05CAFB}
Core
-
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}
- InstanceID
-
{3ECC9FBF-72BB-48E4-B454-56194A422B3A}
PerformanceMonitoring
@@ -178,7 +174,6 @@
-
-
+
diff --git a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/packages.config b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/packages.config
+++ b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/RemoteConfig/RemoteConfigSample/RemoteConfigSample.csproj b/samples/Firebase/RemoteConfig/RemoteConfigSample/RemoteConfigSample.csproj
index 779573c64..b0a9a5741 100644
--- a/samples/Firebase/RemoteConfig/RemoteConfigSample/RemoteConfigSample.csproj
+++ b/samples/Firebase/RemoteConfig/RemoteConfigSample/RemoteConfigSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -127,10 +127,6 @@
{9335A59B-3B54-4ED5-8201-B68CFD05CAFB}
Core
-
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}
- InstanceID
-
{2FC178FA-114D-4A51-A3DF-5EA10E2C71C4}
RemoteConfig
@@ -150,5 +146,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/RemoteConfig/RemoteConfigSample/packages.config b/samples/Firebase/RemoteConfig/RemoteConfigSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/RemoteConfig/RemoteConfigSample/packages.config
+++ b/samples/Firebase/RemoteConfig/RemoteConfigSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/Storage/StorageSample/StorageSample.csproj b/samples/Firebase/Storage/StorageSample/StorageSample.csproj
index 0fb039b9c..55f37ee2f 100644
--- a/samples/Firebase/Storage/StorageSample/StorageSample.csproj
+++ b/samples/Firebase/Storage/StorageSample/StorageSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -167,5 +167,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Firebase/Storage/StorageSample/packages.config b/samples/Firebase/Storage/StorageSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Firebase/Storage/StorageSample/packages.config
+++ b/samples/Firebase/Storage/StorageSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/Analytics/CuteAnimalsiOS/CuteAnimalsiOS.csproj b/samples/Google/Analytics/CuteAnimalsiOS/CuteAnimalsiOS.csproj
index 2b5376b96..300be73be 100644
--- a/samples/Google/Analytics/CuteAnimalsiOS/CuteAnimalsiOS.csproj
+++ b/samples/Google/Analytics/CuteAnimalsiOS/CuteAnimalsiOS.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -154,11 +154,11 @@
-
{36FD3346-EA1E-41A3-91D2-1C380E97BA34}
Analytics
+
\ No newline at end of file
diff --git a/samples/Google/Analytics/CuteAnimalsiOS/packages.config b/samples/Google/Analytics/CuteAnimalsiOS/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Google/Analytics/CuteAnimalsiOS/packages.config
+++ b/samples/Google/Analytics/CuteAnimalsiOS/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/Cast/CastSample/CastSample.csproj b/samples/Google/Cast/CastSample/CastSample.csproj
index a8ccbefd3..13b63edbc 100644
--- a/samples/Google/Cast/CastSample/CastSample.csproj
+++ b/samples/Google/Cast/CastSample/CastSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
@@ -142,5 +142,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/Cast/CastSample/packages.config b/samples/Google/Cast/CastSample/packages.config
index b17362e11..8c357b944 100644
--- a/samples/Google/Cast/CastSample/packages.config
+++ b/samples/Google/Cast/CastSample/packages.config
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/Maps/GoogleMapsAdvSample/AppDelegate.cs b/samples/Google/Maps/GoogleMapsAdvSample/AppDelegate.cs
index 746a9f270..24b12421c 100644
--- a/samples/Google/Maps/GoogleMapsAdvSample/AppDelegate.cs
+++ b/samples/Google/Maps/GoogleMapsAdvSample/AppDelegate.cs
@@ -31,7 +31,7 @@ public partial class AppDelegate : UIApplicationDelegate
//
public override bool FinishedLaunching (UIApplication application, NSDictionary launchOptions)
{
- MapServices.ProvideAPIKey (MapsApiKey);
+ MapServices.ProvideApiKey (MapsApiKey);
window = new UIWindow (UIScreen.MainScreen.Bounds);
diff --git a/samples/Google/Maps/GoogleMapsAdvSample/GoogleMapsAdvSample.csproj b/samples/Google/Maps/GoogleMapsAdvSample/GoogleMapsAdvSample.csproj
index 6099ad7c8..ec8cc7e4a 100644
--- a/samples/Google/Maps/GoogleMapsAdvSample/GoogleMapsAdvSample.csproj
+++ b/samples/Google/Maps/GoogleMapsAdvSample/GoogleMapsAdvSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -155,5 +155,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/Maps/GoogleMapsAdvSample/packages.config b/samples/Google/Maps/GoogleMapsAdvSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Google/Maps/GoogleMapsAdvSample/packages.config
+++ b/samples/Google/Maps/GoogleMapsAdvSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/Maps/GoogleMapsSample/AppDelegate.cs b/samples/Google/Maps/GoogleMapsSample/AppDelegate.cs
index a193e187e..19934549a 100644
--- a/samples/Google/Maps/GoogleMapsSample/AppDelegate.cs
+++ b/samples/Google/Maps/GoogleMapsSample/AppDelegate.cs
@@ -16,7 +16,7 @@ public partial class AppDelegate : UIApplicationDelegate
public override bool FinishedLaunching (UIApplication application, NSDictionary launchOptions)
{
- MapServices.ProvideAPIKey ("");
+ MapServices.ProvideApiKey ("");
window = new UIWindow (UIScreen.MainScreen.Bounds) {
RootViewController = new MapViewController ()
diff --git a/samples/Google/Maps/GoogleMapsSample/GoogleMapsSample.csproj b/samples/Google/Maps/GoogleMapsSample/GoogleMapsSample.csproj
index 71e13470a..a6fc739da 100644
--- a/samples/Google/Maps/GoogleMapsSample/GoogleMapsSample.csproj
+++ b/samples/Google/Maps/GoogleMapsSample/GoogleMapsSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -99,8 +99,8 @@
-
+
@@ -121,5 +121,5 @@
-
+
diff --git a/samples/Google/Maps/GoogleMapsSample/packages.config b/samples/Google/Maps/GoogleMapsSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Google/Maps/GoogleMapsSample/packages.config
+++ b/samples/Google/Maps/GoogleMapsSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/MobileAds/MobileAdsExample/AppDelegate.cs b/samples/Google/MobileAds/MobileAdsExample/AppDelegate.cs
index 9d3d28047..c87ef783e 100644
--- a/samples/Google/MobileAds/MobileAdsExample/AppDelegate.cs
+++ b/samples/Google/MobileAds/MobileAdsExample/AppDelegate.cs
@@ -26,7 +26,7 @@ public partial class AppDelegate : UIApplicationDelegate
BannerView adViewTableView;
BannerView adViewWindow;
- Interstitial adInterstitial;
+ InterstitialAd adInterstitial;
bool adOnTable = false;
bool adOnWindow = false;
@@ -75,9 +75,9 @@ void AddToTableView ()
// Setup your BannerView, review AdSizeCons class for more Ad sizes.
adViewTableView = new BannerView (size: AdSizeCons.Banner, origin: new CGPoint (-10, 0)) {
- AdUnitID = bannerId,
RootViewController = navController
};
+ adViewTableView.AdUnitId = bannerId;
// Wire AdReceived event to know when the Ad is ready to be displayed
adViewTableView.AdReceived += (object sender, EventArgs e) => {
@@ -114,9 +114,9 @@ void AddToWindow ()
// Setup your GADBannerView, review AdSizeCons class for more Ad sizes.
adViewWindow = new BannerView (size: AdSizeCons.Banner,
origin: new CGPoint (0, window.Bounds.Size.Height - AdSizeCons.Banner.Size.Height)) {
- AdUnitID = bannerId,
RootViewController = navController
};
+ adViewWindow.AdUnitId = bannerId;
// Wire AdReceived event to know when the Ad is ready to be displayed
adViewWindow.AdReceived += (object sender, EventArgs e) => {
@@ -152,35 +152,27 @@ void AddToView ()
return;
if (adInterstitial == null) {
- adInterstitial = new Interstitial (intersitialId);
-
- adInterstitial.ScreenDismissed += (sender, e) => {
- interstitialRequested = false;
-
- // You need to explicitly Dispose Interstitial when you dont need it anymore
- // to avoid crashes if pending request are in progress
- adInterstitial.Dispose ();
- adInterstitial = null;
- };
- }
+ InterstitialAd.Load (intersitialId, Request.GetDefaultRequest (), (ad, err) => {
+ if (ad != null) {
+ adInterstitial = ad;
- interstitialRequested = true;
- adInterstitial.LoadRequest (Request.GetDefaultRequest ());
+ adInterstitial.DismissedContent += (sender, e) => {
+ interstitialRequested = false;
- ShowInterstitial ();
- }
-
- async void ShowInterstitial ()
- {
- // We need to wait until the Intersitial is ready to show
- do {
- await Task.Delay (100);
- } while (!adInterstitial.IsReady);
+ // You need to explicitly Dispose Interstitial when you dont need it anymore
+ // to avoid crashes if pending request are in progress
+ adInterstitial.Dispose ();
+ adInterstitial = null;
+ };
- // Once is ready, show it
- InvokeOnMainThread (() => adInterstitial.PresentFromRootViewController (navController));
+ adInterstitial.Present (navController);
+ }
+ else {
+ interstitialRequested = false;
+ }
+ });
+ }
}
-
}
}
diff --git a/samples/Google/MobileAds/MobileAdsExample/MobileAdsExample.csproj b/samples/Google/MobileAds/MobileAdsExample/MobileAdsExample.csproj
index 0e73fac2f..f66ad552f 100644
--- a/samples/Google/MobileAds/MobileAdsExample/MobileAdsExample.csproj
+++ b/samples/Google/MobileAds/MobileAdsExample/MobileAdsExample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -112,7 +112,6 @@
-
@@ -126,4 +125,5 @@
Core
+
\ No newline at end of file
diff --git a/samples/Google/MobileAds/MobileAdsExample/packages.config b/samples/Google/MobileAds/MobileAdsExample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Google/MobileAds/MobileAdsExample/packages.config
+++ b/samples/Google/MobileAds/MobileAdsExample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/Places/GooglePlacesSample/AppDelegate.cs b/samples/Google/Places/GooglePlacesSample/AppDelegate.cs
index 84c181d89..b9777c54e 100644
--- a/samples/Google/Places/GooglePlacesSample/AppDelegate.cs
+++ b/samples/Google/Places/GooglePlacesSample/AppDelegate.cs
@@ -23,19 +23,6 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary
// Override point for customization after application launch.
// If not required for your application you can safely delete this method
- if (string.IsNullOrWhiteSpace (GoogleApiKey.Key)) {
- var message = $"Configure the Key property inside GoogleApiKey class for your bundle {NSBundle.MainBundle.BundleIdentifier}";
- ShowMessage ("Google API Key is missing...", message, Window.RootViewController);
- }
-
- // Provide the Places API with your API key.
- PlacesClient.ProvideApiKey (GoogleApiKey.Key);
-
- // Provide the Maps API with your API key. You may not need
- // this in your app, however we do need this for the demo
- // app as it uses Maps.
- MapServices.ProvideAPIKey (GoogleApiKey.Key);
-
var splitViewController = UIStoryboard.FromName ("Main", null).InstantiateViewController (nameof (UISplitViewController)) as UISplitViewController;
splitViewController.Delegate = this;
splitViewController.PreferredDisplayMode = UISplitViewControllerDisplayMode.PrimaryOverlay;
@@ -45,6 +32,20 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary
};
Window.MakeKeyAndVisible ();
+ if (string.IsNullOrWhiteSpace (GoogleApiKey.Key)) {
+ var message = $"Configure the Key property inside GoogleApiKey class for your bundle {NSBundle.MainBundle.BundleIdentifier}";
+ ShowMessage ("Google API Key is missing...", message, Window.RootViewController);
+ }
+ else {
+ // Provide the Places API with your API key.
+ PlacesClient.ProvideApiKey (GoogleApiKey.Key);
+
+ // Provide the Maps API with your API key. You may not need
+ // this in your app, however we do need this for the demo
+ // app as it uses Maps.
+ MapServices.ProvideApiKey (GoogleApiKey.Key);
+ }
+
return true;
}
diff --git a/samples/Google/Places/GooglePlacesSample/GooglePlacesSample.csproj b/samples/Google/Places/GooglePlacesSample/GooglePlacesSample.csproj
index 2efd05425..5daa10d94 100644
--- a/samples/Google/Places/GooglePlacesSample/GooglePlacesSample.csproj
+++ b/samples/Google/Places/GooglePlacesSample/GooglePlacesSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -151,5 +151,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/Places/GooglePlacesSample/packages.config b/samples/Google/Places/GooglePlacesSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Google/Places/GooglePlacesSample/packages.config
+++ b/samples/Google/Places/GooglePlacesSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/SignIn/SignInExample/SignInExample.csproj b/samples/Google/SignIn/SignInExample/SignInExample.csproj
index 182283dda..55dff73fa 100644
--- a/samples/Google/SignIn/SignInExample/SignInExample.csproj
+++ b/samples/Google/SignIn/SignInExample/SignInExample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -89,7 +89,6 @@
-
{9335A59B-3B54-4ED5-8201-B68CFD05CAFB}
@@ -126,4 +125,5 @@
+
\ No newline at end of file
diff --git a/samples/Google/SignIn/SignInExample/packages.config b/samples/Google/SignIn/SignInExample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Google/SignIn/SignInExample/packages.config
+++ b/samples/Google/SignIn/SignInExample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/TagManager/TagManagerSample/TagManagerSample.csproj b/samples/Google/TagManager/TagManagerSample/TagManagerSample.csproj
index 8980f8fe7..4e7c3b17b 100644
--- a/samples/Google/TagManager/TagManagerSample/TagManagerSample.csproj
+++ b/samples/Google/TagManager/TagManagerSample/TagManagerSample.csproj
@@ -1,6 +1,6 @@
-
+
Debug
iPhoneSimulator
@@ -129,10 +129,6 @@
{9335A59B-3B54-4ED5-8201-B68CFD05CAFB}
Core
-
- {754D8F56-C3DB-4E33-91D5-45445AB286EF}
- InstanceID
-
{3FCDD0B5-F60C-49F7-AAD7-497D02285A38}
TagManager
@@ -159,5 +155,5 @@
-
+
\ No newline at end of file
diff --git a/samples/Google/TagManager/TagManagerSample/packages.config b/samples/Google/TagManager/TagManagerSample/packages.config
index 3df7db1e7..60c59b79d 100644
--- a/samples/Google/TagManager/TagManagerSample/packages.config
+++ b/samples/Google/TagManager/TagManagerSample/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/AppDelegate.cs b/samples/MLKit/MLKitVision/MLKitVisionSample/AppDelegate.cs
new file mode 100644
index 000000000..e6629a3e4
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/AppDelegate.cs
@@ -0,0 +1,37 @@
+using Foundation;
+using UIKit;
+using System;
+
+namespace MLKitVisionSample {
+ // The UIApplicationDelegate for the application. This class is responsible for launching the
+ // User Interface of the application, as well as listening (and optionally responding) to application events from iOS.
+ [Register ("AppDelegate")]
+ public class AppDelegate : UIApplicationDelegate {
+ // class-level declarations
+
+ public override UIWindow Window {
+ get;
+ set;
+ }
+
+ public override bool FinishedLaunching (UIApplication application, NSDictionary launchOptions)
+ {
+ // Override point for customization after application launch.
+ // If not required for your application you can safely delete this method
+
+ Firebase.Core.App.Configure ();
+
+ return true;
+ }
+
+ public static void ShowMessage (string title, string message, UIViewController fromViewController, string okTitle = "Ok", Action okAction = null, string cancelTitle = "Cancel", Action cancelAction = null)
+ {
+ var alertController = UIAlertController.Create (title, message, UIAlertControllerStyle.Alert);
+ alertController.AddAction (UIAlertAction.Create (okTitle, UIAlertActionStyle.Default, (obj) => okAction?.Invoke ()));
+ alertController.AddAction (UIAlertAction.Create (cancelTitle, UIAlertActionStyle.Cancel, (obj) => cancelAction?.Invoke ()));
+
+ fromViewController.PresentViewController (alertController, true, null);
+ }
+ }
+}
+
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/120.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/120.png
new file mode 100755
index 000000000..c2b22f060
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/120.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/152.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/152.png
new file mode 100755
index 000000000..f8986ea6a
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/152.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/167.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/167.png
new file mode 100755
index 000000000..01e472344
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/167.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/180.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/180.png
new file mode 100755
index 000000000..a61a0f994
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/180.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/20.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/20.png
new file mode 100755
index 000000000..8dc59d750
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/20.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/29.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/29.png
new file mode 100755
index 000000000..2c141a006
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/29.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/40.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/40.png
new file mode 100755
index 000000000..72cf573f4
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/40.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/58.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/58.png
new file mode 100755
index 000000000..057f441ab
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/58.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/60.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/60.png
new file mode 100755
index 000000000..55623e87c
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/60.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/76.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/76.png
new file mode 100755
index 000000000..7ebf438ed
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/76.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/80.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/80.png
new file mode 100755
index 000000000..75bb67467
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/80.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/87.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/87.png
new file mode 100755
index 000000000..16a304070
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/87.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/Contents.json b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 000000000..292bc48a7
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,219 @@
+{
+ "images": [
+ {
+ "filename": "40.png",
+ "size": "20x20",
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "filename": "60.png",
+ "size": "20x20",
+ "scale": "3x",
+ "idiom": "iphone"
+ },
+ {
+ "filename": "58.png",
+ "size": "29x29",
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "filename": "87.png",
+ "size": "29x29",
+ "scale": "3x",
+ "idiom": "iphone"
+ },
+ {
+ "filename": "80.png",
+ "size": "40x40",
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "filename": "120.png",
+ "size": "40x40",
+ "scale": "3x",
+ "idiom": "iphone"
+ },
+ {
+ "filename": "120.png",
+ "size": "60x60",
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "filename": "180.png",
+ "size": "60x60",
+ "scale": "3x",
+ "idiom": "iphone"
+ },
+ {
+ "filename": "20.png",
+ "size": "20x20",
+ "scale": "1x",
+ "idiom": "ipad"
+ },
+ {
+ "filename": "40.png",
+ "size": "20x20",
+ "scale": "2x",
+ "idiom": "ipad"
+ },
+ {
+ "filename": "29.png",
+ "size": "29x29",
+ "scale": "1x",
+ "idiom": "ipad"
+ },
+ {
+ "filename": "58.png",
+ "size": "29x29",
+ "scale": "2x",
+ "idiom": "ipad"
+ },
+ {
+ "filename": "40.png",
+ "size": "40x40",
+ "scale": "1x",
+ "idiom": "ipad"
+ },
+ {
+ "filename": "80.png",
+ "size": "40x40",
+ "scale": "2x",
+ "idiom": "ipad"
+ },
+ {
+ "filename": "167.png",
+ "size": "83.5x83.5",
+ "scale": "2x",
+ "idiom": "ipad"
+ },
+ {
+ "filename": "76.png",
+ "size": "76x76",
+ "scale": "1x",
+ "idiom": "ipad"
+ },
+ {
+ "filename": "152.png",
+ "size": "76x76",
+ "scale": "2x",
+ "idiom": "ipad"
+ },
+ {
+ "size": "1024x1024",
+ "scale": "1x",
+ "idiom": "ios-marketing"
+ },
+ {
+ "role": "notificationCenter",
+ "size": "24x24",
+ "subtype": "38mm",
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "role": "notificationCenter",
+ "size": "27.5x27.5",
+ "subtype": "42mm",
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "role": "companionSettings",
+ "size": "29x29",
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "role": "companionSettings",
+ "size": "29x29",
+ "scale": "3x",
+ "idiom": "watch"
+ },
+ {
+ "role": "appLauncher",
+ "size": "40x40",
+ "subtype": "38mm",
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "role": "longLook",
+ "size": "44x44",
+ "subtype": "42mm",
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "role": "quickLook",
+ "size": "86x86",
+ "subtype": "38mm",
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "role": "quickLook",
+ "size": "98x98",
+ "subtype": "42mm",
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "size": "16x16",
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "size": "16x16",
+ "scale": "2x",
+ "idiom": "mac"
+ },
+ {
+ "size": "32x32",
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "size": "32x32",
+ "scale": "2x",
+ "idiom": "mac"
+ },
+ {
+ "size": "128x128",
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "size": "128x128",
+ "scale": "2x",
+ "idiom": "mac"
+ },
+ {
+ "size": "256x256",
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "size": "256x256",
+ "scale": "2x",
+ "idiom": "mac"
+ },
+ {
+ "size": "512x512",
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "size": "512x512",
+ "scale": "2x",
+ "idiom": "mac"
+ }
+ ],
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
\ No newline at end of file
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/Contents.json b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/Contents.json
new file mode 100644
index 000000000..4caf392f9
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/Contents.json b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/Contents.json
new file mode 100644
index 000000000..20665a374
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/Contents.json
@@ -0,0 +1,85 @@
+{
+ "images": [
+ {
+ "idiom": "universal"
+ },
+ {
+ "filename": "settings.png",
+ "scale": "1x",
+ "idiom": "universal"
+ },
+ {
+ "filename": "settings@2x.png",
+ "scale": "2x",
+ "idiom": "universal"
+ },
+ {
+ "filename": "settings@3x.png",
+ "scale": "3x",
+ "idiom": "universal"
+ },
+ {
+ "idiom": "iphone"
+ },
+ {
+ "scale": "1x",
+ "idiom": "iphone"
+ },
+ {
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "subtype": "retina4",
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "scale": "3x",
+ "idiom": "iphone"
+ },
+ {
+ "idiom": "ipad"
+ },
+ {
+ "scale": "1x",
+ "idiom": "ipad"
+ },
+ {
+ "scale": "2x",
+ "idiom": "ipad"
+ },
+ {
+ "idiom": "watch"
+ },
+ {
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "screenWidth": "{130,145}",
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "screenWidth": "{146,165}",
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "idiom": "mac"
+ },
+ {
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "scale": "2x",
+ "idiom": "mac"
+ }
+ ],
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
\ No newline at end of file
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/settings.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/settings.png
new file mode 100644
index 000000000..9c0146df9
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/settings.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/settings@2x.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/settings@2x.png
new file mode 100644
index 000000000..2f229155c
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/settings@2x.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/settings@3x.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/settings@3x.png
new file mode 100644
index 000000000..02f6a86b6
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Assets.xcassets/settings.imageset/settings@3x.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/SettingsViewController.cs b/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/SettingsViewController.cs
new file mode 100644
index 000000000..5a47654d1
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/SettingsViewController.cs
@@ -0,0 +1,128 @@
+using System;
+
+using UIKit;
+using Foundation;
+using System.Linq;
+
+namespace MLKitVisionSample {
+ public partial class SettingsViewController : UIViewController, IUITableViewDataSource, IUITableViewDelegate {
+ #region Class Variables
+
+ readonly VisionType [] types;
+ readonly TextRecognitionScript [] scripts;
+
+ NSUserDefaults standardUserDefaults;
+
+ VisionType selectedType;
+ TextRecognitionScript selectedScript;
+
+ #endregion
+
+ #region Constructors
+
+ public SettingsViewController (IntPtr handle) : base (handle)
+ {
+ types = Enum.GetValues (typeof (VisionType)).Cast ().ToArray ();
+ scripts = Enum.GetValues (typeof (TextRecognitionScript)).Cast ().ToArray ();
+ }
+
+ #endregion
+
+ #region Controller Life Cycle
+
+ public override void ViewDidLoad ()
+ {
+ base.ViewDidLoad ();
+ // Perform any additional setup after loading the view, typically from a nib.
+
+ standardUserDefaults = NSUserDefaults.StandardUserDefaults;
+
+ selectedType = (VisionType) (int) standardUserDefaults.IntForKey (nameof (VisionType));
+ selectedScript = (TextRecognitionScript) (int) standardUserDefaults.IntForKey (nameof (TextRecognitionScript));
+
+ SettingsTable.ReloadSections (NSIndexSet.FromNSRange (new NSRange (0, 2)), UITableViewRowAnimation.Automatic);
+ }
+
+ #endregion
+
+ #region User Interactions
+
+ partial void BtnSave_Clicked (NSObject sender)
+ {
+ NSUserDefaults.StandardUserDefaults.SetInt ((int) selectedType, nameof (VisionType));
+ NSUserDefaults.StandardUserDefaults.SetInt ((int) selectedScript, nameof (TextRecognitionScript));
+
+ PerformSegue (Constants.PrepareForUnwind, sender);
+ }
+
+ #endregion
+
+ #region UITableView Data Source
+
+ [Export ("numberOfSectionsInTableView:")]
+ public nint NumberOfSections (UITableView tableView) => 2;
+
+ public nint RowsInSection (UITableView tableView, nint section)
+ {
+ return (int) section switch {
+ 0 => types.Length,
+ 1 => scripts.Length,
+ _ => 0
+ };
+ }
+
+ [Export ("tableView:titleForHeaderInSection:")]
+ public string TitleForHeader (UITableView tableView, nint section)
+ {
+ return (int) section switch {
+ 0 => nameof (VisionType).GetTitle (),
+ 1 => nameof (TextRecognitionScript).GetTitle (),
+ _ => string.Empty
+ };
+ }
+
+ public UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
+ {
+ var cell = tableView.DequeueReusableCell (Constants.CellKey);
+
+ if (indexPath.Section == 0) {
+ cell.TextLabel.Text = types [indexPath.Row].ToString ().GetTitle ();
+ cell.Accessory = (int) selectedType == indexPath.Row ? UITableViewCellAccessory.Checkmark : UITableViewCellAccessory.None;
+ } else if (indexPath.Section == 1) {
+ cell.TextLabel.Text = scripts [indexPath.Row].ToString ().GetTitle ();
+ cell.Accessory = (int) selectedScript == indexPath.Row ? UITableViewCellAccessory.Checkmark : UITableViewCellAccessory.None;
+ } else {
+ cell.TextLabel.Text = string.Empty;
+ cell.Accessory = UITableViewCellAccessory.None;
+ }
+
+ return cell;
+ }
+
+ #endregion
+
+ #region UITableView Delegate
+
+ [Export ("tableView:didSelectRowAtIndexPath:")]
+ public void RowSelected (UITableView tableView, NSIndexPath indexPath)
+ {
+ var visibleCells = tableView.VisibleCells
+ .Where (i => tableView.IndexPathForCell (i).Section == indexPath.Section)
+ .ToList ();
+
+ foreach (var visibleCell in visibleCells)
+ visibleCell.Accessory = UITableViewCellAccessory.None;
+
+ tableView.CellAt (indexPath).Accessory = UITableViewCellAccessory.Checkmark;
+
+ if (indexPath.Section == 0) {
+ selectedType = types [indexPath.Row];
+ } else if (indexPath.Section == 1) {
+ selectedScript = scripts [indexPath.Row];
+ }
+ }
+
+ #endregion
+ }
+}
+
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/SettingsViewController.designer.cs b/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/SettingsViewController.designer.cs
new file mode 100644
index 000000000..1d052ca75
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/SettingsViewController.designer.cs
@@ -0,0 +1,36 @@
+// WARNING
+//
+// This file has been generated automatically by Visual Studio to store outlets and
+// actions made in the UI designer. If it is removed, they will be lost.
+// Manual changes to this file may not be handled correctly.
+//
+using Foundation;
+using System.CodeDom.Compiler;
+
+namespace MLKitVisionSample {
+ [Register ("SettingsViewController")]
+ partial class SettingsViewController {
+ [Outlet]
+ UIKit.UITableView SettingsTable { get; set; }
+
+ [Outlet]
+ UIKit.UISegmentedControl SgmApi { get; set; }
+
+
+ [Action ("BtnSave_Clicked:")]
+ partial void BtnSave_Clicked (Foundation.NSObject sender);
+
+ void ReleaseDesignerOutlets ()
+ {
+ if (SettingsTable != null) {
+ SettingsTable.Dispose ();
+ SettingsTable = null;
+ }
+
+ if (SgmApi != null) {
+ SgmApi.Dispose ();
+ SgmApi = null;
+ }
+ }
+ }
+}
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/ViewController.cs b/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/ViewController.cs
new file mode 100644
index 000000000..310a43770
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/ViewController.cs
@@ -0,0 +1,522 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+using AVFoundation;
+using Foundation;
+using CoreGraphics;
+using UIKit;
+
+using MLKit.Core;
+using MLKit.BarcodeScanning;
+using MLKit.FaceDetection;
+using MLKit.TextRecognition;
+using MLKit.DigitalInkRecognition;
+using MLKit.ImageLabeling;
+using MLKit.Vision;
+using MLKit.ObjectDetection;
+
+namespace MLKitVisionSample {
+ public partial class ViewController : UIViewController, IUIImagePickerControllerDelegate {
+
+ #region Class Variables
+
+ VisionType currentVisionType;
+ TextRecognitionScript currentTxtRecogScript;
+
+ #endregion
+
+ #region Constructors
+
+ protected ViewController (IntPtr handle) : base (handle)
+ {
+ // Note: this .ctor should not contain any initialization logic.
+ }
+
+ #endregion
+
+ #region Controller Life Cycle
+
+ public override void ViewDidLoad ()
+ {
+ base.ViewDidLoad ();
+ // Perform any additional setup after loading the view, typically from a nib.
+
+ InitializeComponents ();
+ AnaylizeImage ();
+ }
+
+ #endregion
+
+ #region User Interactions
+
+ partial void BtnCamera_Clicked (NSObject sender)
+ {
+ CheckCameraPermission ();
+ }
+
+ #endregion
+
+ #region Segue
+
+ [Action ("prepareForUnwind:")]
+ public void PrepareForUnwind (UIStoryboardSegue segue)
+ {
+ InitializeComponents ();
+ AnaylizeImage ();
+ }
+
+ #endregion
+
+ #region Private Functionality
+
+ void InitializeComponents ()
+ {
+ GetSelectedUserData ();
+ SetModelImage ();
+ TxtData.Text = string.Empty;
+ }
+
+ void GetSelectedUserData ()
+ {
+ currentVisionType = (VisionType) (int) NSUserDefaults.StandardUserDefaults.IntForKey (nameof (VisionType));
+ currentTxtRecogScript = (TextRecognitionScript) (int) NSUserDefaults.StandardUserDefaults.IntForKey (nameof (TextRecognitionScript));
+ }
+
+ void SetModelImage ()
+ {
+ ImgSample.Image = UIImage.FromFile ($"{currentVisionType}.png");
+ }
+
+ void CheckCameraPermission ()
+ {
+ string message;
+ var status = AVCaptureDevice.GetAuthorizationStatus (AVAuthorizationMediaType.Video);
+
+ switch (status) {
+ case AVAuthorizationStatus.NotDetermined:
+ message = "Let's take a photo to be tested by the MLKit API!";
+ AppDelegate.ShowMessage ("Camera Access", message, NavigationController, "Let's do this!", AskForCameraPermission);
+ break;
+ case AVAuthorizationStatus.Restricted:
+ case AVAuthorizationStatus.Denied:
+ message = "Open App Settings and grant for camera access to take a photo and test the MLKit API";
+ AppDelegate.ShowMessage ("Camera Access Denied", message, NavigationController, "Open App Settings", OpenAppSettings);
+ break;
+ case AVAuthorizationStatus.Authorized:
+ OpenCamera ();
+ break;
+ default:
+ break;
+ }
+ }
+
+ void AskForCameraPermission ()
+ {
+ AVCaptureDevice.RequestAccessForMediaType (AVAuthorizationMediaType.Video, (accessGranted) => InvokeOnMainThread (CheckCameraPermission));
+ }
+
+ void OpenCamera ()
+ {
+ var imagePickerController = new UIImagePickerController {
+ Delegate = this,
+ AllowsEditing = false,
+ SourceType = UIImagePickerControllerSourceType.Camera
+ };
+
+ PresentViewController (imagePickerController, true, null);
+ }
+
+ void OpenAppSettings ()
+ {
+ var sharedApplication = UIApplication.SharedApplication;
+ var url = new NSUrl (UIApplication.OpenSettingsUrlString);
+
+ if (sharedApplication.CanOpenUrl (url))
+ if (UIDevice.CurrentDevice.CheckSystemVersion (10, 0))
+ sharedApplication.OpenUrl (url, new NSDictionary (), null);
+ else
+ sharedApplication.OpenUrl (url);
+ }
+
+ void AnaylizeImage ()
+ {
+ switch (currentVisionType) {
+ case VisionType.TextRecognition:
+ UseTextRecognitionModel ();
+ break;
+ case VisionType.FaceDetection:
+ UseFaceDetectionModel ();
+ break;
+ case VisionType.BarcodeScanning:
+ UseBarcodeScanningModel ();
+ break;
+ case VisionType.DigitalInkRecognition:
+ UseDigitalInkRecognitionModel ();
+ break;
+ case VisionType.ImageLabeling:
+ UseImageLabeling ();
+ break;
+ case VisionType.ObjectDetectionAndTracking:
+ UseObjectDetectionAndTracking ();
+ break;
+ default:
+ TxtData.Text = "Model not supported";
+ break;
+ }
+ }
+
+ void UseTextRecognitionModel ()
+ {
+ System.Diagnostics.Debug.WriteLine ($"##### {currentTxtRecogScript}");
+
+ CommonTextRecognizerOptions options = currentTxtRecogScript switch {
+ TextRecognitionScript.Latin => new LatinTextRecognizerOptions (),
+ TextRecognitionScript.Chinese => new ChineseTextRecognizerOptions (),
+ TextRecognitionScript.Devanagari => new DevanagariTextRecognizerOptions (),
+ TextRecognitionScript.Japanese => new JapaneseTextRecognizerOptions (),
+ TextRecognitionScript.Korean => new KoreanTextRecognizerOptions (),
+ _ => throw new NotImplementedException ()
+ };
+
+ var textRecognizer = TextRecognizer.TextRecognizerWithOptions (options);
+ var image = new MLImage (ImgSample.Image);
+
+ textRecognizer.ProcessImage (image, (text, err) => {
+ TxtData.Text = err?.Description ?? text?.Text;
+ });
+ }
+
+ void UseFaceDetectionModel ()
+ {
+ var options = new FaceDetectorOptions ();
+ options.PerformanceMode = FacePerformanceMode.Accurate;
+ options.LandmarkMode = FaceLandmarkMode.All;
+ options.ClassificationMode = FaceClassificationMode.All;
+ var faceDetector = FaceDetector.FaceDetectorWithOptions (options);
+
+ var image = new MLImage (ImgSample.Image);
+
+ faceDetector.ProcessImage (image, HandleFaceDetectorCallback);
+
+ void HandleFaceDetectorCallback (Face [] faces, NSError error)
+ {
+ if (error != null) {
+ TxtData.Text = error.Description;
+ return;
+ }
+
+ if (faces == null || faces.Length == 0) {
+ TxtData.Text = "No faces were found.";
+ return;
+ }
+
+ var imageSize = ImgSample.Image.Size;
+
+ UIGraphics.BeginImageContextWithOptions (imageSize, false, 0);
+ var context = UIGraphics.GetCurrentContext ();
+ context.SetStrokeColor (UIColor.Red.CGColor);
+ context.SetLineWidth (10);
+
+ ImgSample.Image.Draw (CGPoint.Empty);
+
+ foreach (var face in faces) {
+ context.AddRect (face.Frame);
+ context.DrawPath (CGPathDrawingMode.Stroke);
+ }
+
+ var newImage = UIGraphics.GetImageFromCurrentImageContext ();
+ UIGraphics.EndImageContext ();
+
+ ImgSample.Image = newImage;
+
+ }
+ }
+
+ void UseBarcodeScanningModel ()
+ {
+ var options = new BarcodeScannerOptions (BarcodeFormat.All);
+ var barcodeScanner = BarcodeScanner.BarcodeScannerWithOptions (options);
+
+ var image = new MLImage (ImgSample.Image);
+
+ barcodeScanner.ProcessImage (image, HandleBarcodeScannerCallback);
+
+ void HandleBarcodeScannerCallback (Barcode [] barcodes, NSError error)
+ {
+ if (error != null) {
+ TxtData.Text = error.Description;
+ return;
+ }
+
+ if (barcodes == null || barcodes.Length == 0) {
+ TxtData.Text = "No barcodes were found.";
+ return;
+ }
+
+ var stringBuilder = new StringBuilder ();
+
+ foreach (var barcode in barcodes) {
+ stringBuilder.AppendLine ($"Raw Value: {barcode.RawValue}");
+ stringBuilder.AppendLine ($"Display Value: {barcode.DisplayValue}");
+ stringBuilder.AppendLine ($"Format: {barcode.Format}");
+ stringBuilder.AppendLine ($"Value Type: {barcode.ValueType}");
+ stringBuilder.AppendLine ();
+ }
+
+ TxtData.Text = stringBuilder.ToString ();
+ }
+ }
+
+ void UseDigitalInkRecognitionModel ()
+ {
+ strokes.Clear ();
+
+ if (inkRecognizer == null) {
+ var lang = "en-US";
+ var identifier = DigitalInkRecognitionModelIdentifier.ModelIdentifierForLanguageTag (lang);
+ var model = new DigitalInkRecognitionModel (identifier);
+ var modelManager = ModelManager.DefaultInstance;
+ var conditions = new ModelDownloadConditions (true, true);
+ // This works on device, but downloads seems to fail on simulators
+ modelManager.DownloadModel (model, conditions);
+
+ var options = new DigitalInkRecognizerOptions (model);
+ inkRecognizer = DigitalInkRecognizer.DigitalInkRecognizerWithOptions (options);
+ }
+ }
+
+ void UseImageLabeling ()
+ {
+ var options = new ImageLabelerOptions ();
+ options.ConfidenceThreshold = 0.7;
+ var labeler = ImageLabeler.ImageLabelerWithOptions (options);
+
+ var image = new MLImage (ImgSample.Image);
+
+ labeler.ProcessImage (image, (labels, error) => {
+ if (error != null) {
+ TxtData.Text = error.Description;
+ return;
+ }
+
+ if (labels == null || labels.Length == 0) {
+ TxtData.Text = "No labels were found.";
+ return;
+ }
+
+ var stringBuilder = new StringBuilder ();
+
+ for (var i = 0; i < labels.Length; i++) {
+ stringBuilder.AppendLine ($"Label: {i}");
+ stringBuilder.AppendLine ($"Text: {labels [i].Text}");
+ stringBuilder.AppendLine ($"Confidence: {labels [i].Confidence}");
+ stringBuilder.AppendLine ($"Index: {labels [i].Index}");
+ stringBuilder.AppendLine ();
+ }
+
+ TxtData.Text = stringBuilder.ToString ();
+ });
+ }
+
+ void UseObjectDetectionAndTracking ()
+ {
+ var options = new ObjectDetectorOptions ();
+ options.Mode = DetectorMode.SingleImage;
+ options.ShouldEnableClassification = true;
+ options.ShouldEnableMultipleObjects = true;
+ var objectDetector = ObjectDetector.ObjectDetectorWithOptions (options);
+
+ var image = new MLImage (ImgSample.Image);
+
+ objectDetector.ProcessImage (image, (objects, error) => {
+ if (error != null) {
+ TxtData.Text = error.Description;
+ return;
+ }
+
+ if (objects == null || objects.Length == 0) {
+ TxtData.Text = "No objects were found.";
+ return;
+ }
+
+ var imageSize = ImgSample.Image.Size;
+
+ UIGraphics.BeginImageContextWithOptions (imageSize, false, 0);
+ var context = UIGraphics.GetCurrentContext ();
+ context.SetStrokeColor (UIColor.Red.CGColor);
+ context.SetLineWidth (10);
+
+ ImgSample.Image.Draw (CGPoint.Empty);
+
+ var stringBuilder = new StringBuilder ();
+
+ for (var i = 0; i < objects.Length; i++) {
+ stringBuilder.AppendLine ($"Object: {i}");
+ stringBuilder.AppendLine ($"Tracking ID: {objects [i].TrackingId?.Int32Value ?? 0}");
+
+ foreach (var lbl in objects [i].Labels) {
+ stringBuilder.AppendLine ($" - Text: {lbl.Text}");
+ stringBuilder.AppendLine ($" - Confidence: {lbl.Confidence}");
+ stringBuilder.AppendLine ($" - Index: {lbl.Index}");
+ }
+
+ stringBuilder.AppendLine ();
+
+ context.AddRect (objects [i].Frame);
+ context.DrawPath (CGPathDrawingMode.Stroke);
+ }
+
+ var newImage = UIGraphics.GetImageFromCurrentImageContext ();
+ UIGraphics.EndImageContext ();
+
+ ImgSample.Image = newImage;
+
+ TxtData.Text = stringBuilder.ToString ();
+ });
+ }
+
+ #endregion
+
+ #region Digital Ink
+ const int msPerTimeInterval = 1000;
+
+ readonly List strokes = new List ();
+ readonly List points = new List ();
+
+ DigitalInkRecognizer inkRecognizer;
+ CGPoint lastPoint = CGPoint.Empty;
+
+ void DrawLine (CGPoint fromPoint, CGPoint toPoint)
+ {
+ UIGraphics.BeginImageContextWithOptions (ImgSample.Frame.Size, false, 0);
+ var context = UIGraphics.GetCurrentContext ();
+
+ context.MoveTo (fromPoint.X, fromPoint.Y);
+ context.AddLineToPoint (toPoint.X, toPoint.Y);
+ context.SetLineCap (CGLineCap.Round);
+ context.SetBlendMode (CGBlendMode.Normal);
+ context.SetLineWidth (10);
+ context.SetStrokeColor (UIColor.Red.CGColor);
+
+ ImgSample.Image.Draw (new CGRect (0, 0, ImgSample.Frame.Size.Width, ImgSample.Frame.Size.Height));
+
+ context.StrokePath ();
+
+ var newImage = UIGraphics.GetImageFromCurrentImageContext ();
+ UIGraphics.EndImageContext ();
+
+ ImgSample.Image = newImage;
+ }
+
+ public override void TouchesBegan (NSSet touches, UIEvent evt)
+ {
+ base.TouchesBegan (touches, evt);
+
+ if (currentVisionType != VisionType.DigitalInkRecognition)
+ return;
+
+ var touch = touches.AnyObject as UITouch;
+ if (touch == null)
+ return;
+
+ lastPoint = touch.LocationInView (ImgSample);
+ var t = touch.Timestamp;
+
+ points.Add (new StrokePoint ((float) lastPoint.X, (float) lastPoint.Y, (int) (t * msPerTimeInterval)));
+
+ DrawLine (lastPoint, lastPoint);
+ }
+
+ public override void TouchesMoved (NSSet touches, UIEvent evt)
+ {
+ base.TouchesMoved (touches, evt);
+
+ if (currentVisionType != VisionType.DigitalInkRecognition)
+ return;
+
+ var touch = touches.AnyObject as UITouch;
+ if (touch == null)
+ return;
+
+ var currentPoint = touch.LocationInView (ImgSample);
+ var t = touch.Timestamp;
+
+ points.Add (new StrokePoint ((float) currentPoint.X, (float) currentPoint.Y, (int) (t * msPerTimeInterval)));
+
+ DrawLine (lastPoint, currentPoint);
+ lastPoint = currentPoint;
+ }
+
+ public override void TouchesEnded (NSSet touches, UIEvent evt)
+ {
+ base.TouchesEnded (touches, evt);
+
+ if (currentVisionType != VisionType.DigitalInkRecognition)
+ return;
+
+ var touch = touches.AnyObject as UITouch;
+ if (touch == null)
+ return;
+
+ var currentPoint = touch.LocationInView (ImgSample);
+ var t = touch.Timestamp;
+
+ points.Add (new StrokePoint ((float) currentPoint.X, (float) currentPoint.Y, (int) (t * msPerTimeInterval)));
+
+ DrawLine (lastPoint, currentPoint);
+ lastPoint = currentPoint;
+
+ strokes.Add (new Stroke (points.ToArray ()));
+ points.Clear ();
+
+ DoRecognition ();
+ }
+
+ void DoRecognition ()
+ {
+ var ink = new Ink (strokes.ToArray ());
+ inkRecognizer.RecognizeInk (ink, (result, error) => {
+ if (error != null) {
+ TxtData.Text = error.Description;
+ return;
+ }
+
+ var stringBuilder = new StringBuilder ();
+
+ for (var i = 0; i < result.Candidates.Length; i++) {
+ stringBuilder.AppendLine ($"Candiate: {i}");
+ stringBuilder.AppendLine ($"Text: {result.Candidates [i].Text}");
+ stringBuilder.AppendLine ($"Score: {result.Candidates [i].Score?.FloatValue.ToString () ?? "null"}");
+ stringBuilder.AppendLine ();
+ }
+
+ TxtData.Text = stringBuilder.ToString ();
+ });
+ }
+
+ #endregion
+
+ #region UIImage Picker Controller Delegate
+
+ [Export ("imagePickerController:didFinishPickingMediaWithInfo:")]
+ public void FinishedPickingMedia (UIImagePickerController picker, NSDictionary info)
+ {
+ var photo = info [UIImagePickerController.OriginalImage] as UIImage;
+ ImgSample.Image = photo;
+
+ picker.DismissViewController (true, null);
+
+ TxtData.Text = string.Empty;
+ AnaylizeImage ();
+ }
+
+ [Export ("imagePickerControllerDidCancel:")]
+ public void Canceled (UIImagePickerController picker)
+ {
+ picker.DismissViewController (true, null);
+ }
+
+ #endregion
+ }
+}
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/ViewController.designer.cs b/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/ViewController.designer.cs
new file mode 100644
index 000000000..3bfd3ed1c
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Controllers/ViewController.designer.cs
@@ -0,0 +1,37 @@
+// WARNING
+//
+// This file has been generated automatically by Visual Studio to store outlets and
+// actions made in the UI designer. If it is removed, they will be lost.
+// Manual changes to this file may not be handled correctly.
+//
+using Foundation;
+using System.CodeDom.Compiler;
+
+namespace MLKitVisionSample
+{
+ [Register ("ViewController")]
+ partial class ViewController
+ {
+ [Outlet]
+ UIKit.UIImageView ImgSample { get; set; }
+
+ [Outlet]
+ UIKit.UITextView TxtData { get; set; }
+
+ [Action ("BtnCamera_Clicked:")]
+ partial void BtnCamera_Clicked (Foundation.NSObject sender);
+
+ void ReleaseDesignerOutlets ()
+ {
+ if (ImgSample != null) {
+ ImgSample.Dispose ();
+ ImgSample = null;
+ }
+
+ if (TxtData != null) {
+ TxtData.Dispose ();
+ TxtData = null;
+ }
+ }
+ }
+}
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Entitlements.plist b/samples/MLKit/MLKitVision/MLKitVisionSample/Entitlements.plist
new file mode 100644
index 000000000..9ae599370
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Entitlements.plist
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/GoogleService-Info.plist b/samples/MLKit/MLKitVision/MLKitVisionSample/GoogleService-Info.plist
new file mode 100644
index 000000000..17734b474
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/GoogleService-Info.plist
@@ -0,0 +1,36 @@
+
+
+
+
+ CLIENT_ID
+ 542613023302-2nh4s02aqgq0kntqhdu3khh05tgvoi27.apps.googleusercontent.com
+ REVERSED_CLIENT_ID
+ com.googleusercontent.apps.542613023302-2nh4s02aqgq0kntqhdu3khh05tgvoi27
+ API_KEY
+
+ GCM_SENDER_ID
+ 542613023302
+ PLIST_VERSION
+ 1
+ BUNDLE_ID
+ com.xamarin.firebase.ios.MLKitVisionSample
+ PROJECT_ID
+ xamarinfirebase-67094
+ STORAGE_BUCKET
+ xamarinfirebase-67094.appspot.com
+ IS_ADS_ENABLED
+
+ IS_ANALYTICS_ENABLED
+
+ IS_APPINVITE_ENABLED
+
+ IS_GCM_ENABLED
+
+ IS_SIGNIN_ENABLED
+
+ GOOGLE_APP_ID
+ 1:542613023302:ios:47b77955dfc8d2eacbf847
+ DATABASE_URL
+ https://xamarinfirebase-67094.firebaseio.com
+
+
\ No newline at end of file
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Info.plist b/samples/MLKit/MLKitVision/MLKitVisionSample/Info.plist
new file mode 100644
index 000000000..0fd00ac19
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Info.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ CFBundleName
+ MLKitSample
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1.0
+ LSRequiresIPhoneOS
+
+ MinimumOSVersion
+ 12.0
+ UIDeviceFamily
+
+ 1
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UIRequiredDeviceCapabilities
+
+ armv7
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ XSAppIconAssets
+ Assets.xcassets/AppIcon.appiconset
+ NSCameraUsageDescription
+ Let's gonna try MLKit man!
+ NSPhotoLibraryUsageDescription
+ Let's save this!
+ NSPhotoLibraryAddUsageDescription
+ :et's save this... again?
+ UIStatusBarStyle
+ UIStatusBarStyleLightContent
+ CFBundleIdentifier
+ com.xamarin.firebase.ios.MLKitVisionSample
+ Custom Property
+
+ CFBundleDisplayName
+ MLKitSample
+
+
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/LaunchScreen.storyboard b/samples/MLKit/MLKitVision/MLKitVisionSample/LaunchScreen.storyboard
new file mode 100644
index 000000000..7981a14b7
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/LaunchScreen.storyboard
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/MLKitVisionSample.csproj b/samples/MLKit/MLKitVision/MLKitVisionSample/MLKitVisionSample.csproj
new file mode 100644
index 000000000..3254e1dc2
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/MLKitVisionSample.csproj
@@ -0,0 +1,215 @@
+
+
+
+
+ Debug
+ iPhoneSimulator
+ {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}
+ {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Exe
+ MLKitVisionSample
+ MLKitVisionSample
+ Resources
+ latest
+
+
+ true
+ full
+ false
+ bin\iPhoneSimulator\Debug
+ DEBUG;ENABLE_TEST_CLOUD;
+ prompt
+ 4
+ false
+ iPhone Developer
+ true
+ false
+ true
+ None
+ x86_64
+ NSUrlSessionHandler
+ Default
+ x86
+
+
+ true
+ bin\iPhone\Release
+ prompt
+ 4
+ false
+ iPhone Developer
+ true
+ Entitlements.plist
+ SdkOnly
+ ARM64
+ NSUrlSessionHandler
+ Default
+ x86
+ false
+
+
+ true
+ bin\iPhoneSimulator\Release
+ prompt
+ 4
+ false
+ iPhone Developer
+ None
+ x86_64
+ NSUrlSessionHandler
+ Default
+ x86
+
+
+ true
+ full
+ false
+ bin\iPhone\Debug
+ DEBUG;ENABLE_TEST_CLOUD;
+ prompt
+ 4
+ false
+ iPhone Developer
+ true
+ true
+ false
+ true
+ true
+ Entitlements.plist
+ None
+ ARM64
+ NSUrlSessionHandler
+ Default
+ x86
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ViewController.cs
+
+
+
+ SettingsViewController.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TextRecognitionLatin
+
+
+ TextRecognition
+
+
+ TextRecognitionKorean
+
+
+ TextRecognitionJapanese
+
+
+ TextRecognitionDevanagari
+
+
+ TextRecognitionChinese
+
+
+ BarcodeScanning
+
+
+ FaceDetection
+
+
+ {720DD721-A108-488A-83CA-8DACF2D6D506}
+ Core
+
+
+ {9335A59B-3B54-4ED5-8201-B68CFD05CAFB}
+ Core
+
+
+ DigitalInkRecognition
+
+
+ {AB6D62E6-8B42-401A-9E9E-E963EA0AE176}
+ Vision
+
+
+ {847E4CEC-590D-4209-954B-0DBCB727DF64}
+ ObjectDetection
+
+
+ {AE0A53F7-D079-4363-8B96-6A5C86DA5FA6}
+ ImageLabeling
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Main.cs b/samples/MLKit/MLKitVision/MLKitVisionSample/Main.cs
new file mode 100644
index 000000000..ace6eaadb
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Main.cs
@@ -0,0 +1,13 @@
+using UIKit;
+
+namespace MLKitVisionSample {
+ public class Application {
+ // This is the main entry point of the application.
+ static void Main (string [] args)
+ {
+ // if you want to use a different Application Delegate class from "AppDelegate"
+ // you can specify it here.
+ UIApplication.Main (args, null, "AppDelegate");
+ }
+ }
+}
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Main.storyboard b/samples/MLKit/MLKitVision/MLKitVisionSample/Main.storyboard
new file mode 100644
index 000000000..f509ccba1
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Main.storyboard
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Models/Constants.cs b/samples/MLKit/MLKitVision/MLKitVisionSample/Models/Constants.cs
new file mode 100644
index 000000000..67b78d33e
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Models/Constants.cs
@@ -0,0 +1,10 @@
+using System;
+
+using Foundation;
+
+namespace MLKitVisionSample {
+ public static class Constants {
+ public static NSString PrepareForUnwind { get; } = new NSString ("PrepareForUnwind");
+ public static NSString CellKey { get; } = new NSString ("ResourceTableViewCell");
+ }
+}
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Models/TextRecognitionScript.cs b/samples/MLKit/MLKitVision/MLKitVisionSample/Models/TextRecognitionScript.cs
new file mode 100644
index 000000000..00b5d09cf
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Models/TextRecognitionScript.cs
@@ -0,0 +1,11 @@
+using System;
+using ObjCRuntime;
+namespace MLKitVisionSample {
+ public enum TextRecognitionScript {
+ Latin,
+ Chinese,
+ Devanagari,
+ Japanese,
+ Korean
+ }
+}
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Models/VisionType.cs b/samples/MLKit/MLKitVision/MLKitVisionSample/Models/VisionType.cs
new file mode 100644
index 000000000..b9a5c9f49
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/Models/VisionType.cs
@@ -0,0 +1,14 @@
+using System;
+using ObjCRuntime;
+namespace MLKitVisionSample {
+ public enum VisionType {
+ TextRecognition,
+ FaceDetection,
+ PoseDetection,
+ SelfieSegmentation,
+ BarcodeScanning,
+ ImageLabeling,
+ ObjectDetectionAndTracking,
+ DigitalInkRecognition
+ }
+}
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/BarcodeScanning.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/BarcodeScanning.png
new file mode 100644
index 000000000..7dd97d551
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/BarcodeScanning.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/DigitalInkRecognition.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/DigitalInkRecognition.png
new file mode 100644
index 000000000..c54b658b4
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/DigitalInkRecognition.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/FaceDetection.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/FaceDetection.png
new file mode 100644
index 000000000..2e0442b84
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/FaceDetection.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/ImageLabeling.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/ImageLabeling.png
new file mode 100644
index 000000000..b52cf88ef
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/ImageLabeling.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/ObjectDetectionAndTracking.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/ObjectDetectionAndTracking.png
new file mode 100644
index 000000000..d34d980a1
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/ObjectDetectionAndTracking.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/TextRecognition.png b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/TextRecognition.png
new file mode 100644
index 000000000..aaeaa97c5
Binary files /dev/null and b/samples/MLKit/MLKitVision/MLKitVisionSample/Resources/TextRecognition.png differ
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/StringExtensions.cs b/samples/MLKit/MLKitVision/MLKitVisionSample/StringExtensions.cs
new file mode 100644
index 000000000..8b9bce3d3
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/StringExtensions.cs
@@ -0,0 +1,23 @@
+using System.Text;
+using UIKit;
+
+namespace MLKitVisionSample {
+ public static class StringExtensions {
+ public static string GetTitle (this string value)
+ {
+ if (string.IsNullOrWhiteSpace (value))
+ return value;
+
+ var sb = new StringBuilder ();
+ foreach (var c in value) {
+ if (sb.Length > 0 && char.IsUpper (c)) {
+ sb.Append (' ');
+ }
+
+ sb.Append (c);
+ }
+
+ return sb.ToString ();
+ }
+ }
+}
diff --git a/samples/MLKit/MLKitVision/MLKitVisionSample/packages.config b/samples/MLKit/MLKitVision/MLKitVisionSample/packages.config
new file mode 100644
index 000000000..60c59b79d
--- /dev/null
+++ b/samples/MLKit/MLKitVision/MLKitVisionSample/packages.config
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/source/Firebase/ABTesting/ABTesting.csproj b/source/Firebase/ABTesting/ABTesting.csproj
index 85a81d5ee..933ec5eb1 100644
--- a/source/Firebase/ABTesting/ABTesting.csproj
+++ b/source/Firebase/ABTesting/ABTesting.csproj
@@ -6,7 +6,7 @@
Firebase.ABTesting
Firebase.ABTesting
1.0.0.0
- 4.2.0
+ 8.10.0
Resources
true
@@ -23,7 +23,7 @@
https://go.microsoft.com/fwlink/?linkid=2004275
License.md
true
- 4.2.0
+ 8.10.0
@@ -67,7 +67,7 @@
-
+
diff --git a/source/Firebase/ABTesting/ApiDefinition.cs b/source/Firebase/ABTesting/ApiDefinition.cs
index f0d288cbd..d144e7e22 100644
--- a/source/Firebase/ABTesting/ApiDefinition.cs
+++ b/source/Firebase/ABTesting/ApiDefinition.cs
@@ -1,5 +1,6 @@
using Foundation;
using ObjCRuntime;
+using System;
namespace Firebase.ABTesting {
// @interface FIRExperimentController : NSObject
@@ -11,13 +12,21 @@ interface ExperimentController {
[Export ("sharedInstance")]
ExperimentController SharedInstance { get; }
- // -(void)updateExperimentsWithServiceOrigin:(NSString * _Nonnull)origin events:(FIRLifecycleEvents * _Nonnull)events policy:(NSObject * _Nonnull)policy lastStartTime:(NSTimeInterval)lastStartTime payloads:(NSArray * _Nonnull)payloads;
- [Export ("updateExperimentsWithServiceOrigin:events:policy:lastStartTime:payloads:")]
- void UpdateExperiments (string origin, LifecycleEvents events, NSObject policy, double lastStartTime, NSData [] payloads);
+ // -(void)updateExperimentsWithServiceOrigin:(NSString * _Nonnull)origin events:(FIRLifecycleEvents * _Nonnull)events policy:(ABTExperimentPayloadExperimentOverflowPolicy)policy lastStartTime:(NSTimeInterval)lastStartTime payloads:(NSArray * _Nonnull)payloads completionHandler:(void (^ _Nullable)(NSError * _Nullable))completionHandler;
+ [Export ("updateExperimentsWithServiceOrigin:events:policy:lastStartTime:payloads:completionHandler:")]
+ void UpdateExperiments (string origin, LifecycleEvents events, NSObject policy, double lastStartTime, NSData [] payloads, [NullAllowed] Action completionHandler);
// -(NSTimeInterval)latestExperimentStartTimestampBetweenTimestamp:(NSTimeInterval)timestamp andPayloads:(NSArray * _Nonnull)payloads;
[Export ("latestExperimentStartTimestampBetweenTimestamp:andPayloads:")]
double GetLatestExperimentStartTimestampBetweenTimestamp (double timestamp, NSData [] payloads);
+
+ // -(void)validateRunningExperimentsForServiceOrigin:(NSString * _Nonnull)origin runningExperimentPayloads:(NSArray * _Nonnull)payloads;
+ [Export ("validateRunningExperimentsForServiceOrigin:runningExperimentPayloads:")]
+ void ValidateRunningExperiments (string origin, NSObject [] payloads);
+
+ // -(void)activateExperiment:(ABTExperimentPayload * _Nonnull)experimentPayload forServiceOrigin:(NSString * _Nonnull)origin;
+ [Export ("activateExperiment:forServiceOrigin:")]
+ void ActivateExperiment (NSObject experimentPayload, string origin);
}
[Static]
diff --git a/source/Firebase/AdMob/AdMob.csproj b/source/Firebase/AdMob/AdMob.csproj
index e368c72c9..4596cf9dd 100644
--- a/source/Firebase/AdMob/AdMob.csproj
+++ b/source/Firebase/AdMob/AdMob.csproj
@@ -6,7 +6,7 @@
Firebase.AdMob
Firebase.AdMob
1.0.0.0
- 7.66.0
+ 8.13.0
Resources
true
false
@@ -24,7 +24,7 @@
https://go.microsoft.com/fwlink/?linkid=865546
License.md
true
- 7.66.0
+ 8.13.0
@@ -54,7 +54,7 @@
-
+
diff --git a/source/Firebase/Analytics/Analytics.csproj b/source/Firebase/Analytics/Analytics.csproj
index 5a2548bf7..3370eddd5 100644
--- a/source/Firebase/Analytics/Analytics.csproj
+++ b/source/Firebase/Analytics/Analytics.csproj
@@ -6,9 +6,10 @@
Firebase.Analytics
Firebase.Analytics
1.0.0.0
- 6.9.0
+ 8.10.0
Resources
true
+ true
@@ -23,7 +24,7 @@
https://go.microsoft.com/fwlink/?linkid=865559
License.md
true
- 6.9.0
+ 8.10.0
@@ -46,16 +47,13 @@
-
-
-
-
+
-
+
diff --git a/source/Firebase/Analytics/Analytics.targets b/source/Firebase/Analytics/Analytics.targets
index 6df02fbda..ea08da4a9 100644
--- a/source/Firebase/Analytics/Analytics.targets
+++ b/source/Firebase/Analytics/Analytics.targets
@@ -1,34 +1,29 @@
-
+
<_FirebaseAnalyticsAssemblyName>Firebase.Analytics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
- <_FirebaseAnalyticsItemsFolder>FAnlytcs-6.9.0
- <_FirebaseAnalyticsSDKBaseFolder>$(XamarinBuildDownloadDir)$(_FirebaseAnalyticsItemsFolder)\Frameworks\
+ <_FirebaseAnalyticsItemsFolder>FAnlytcs-8.9.1
+ <_FirebaseAnalyticsSDKBaseFolder>$(XamarinBuildDownloadDir)$(_FirebaseAnalyticsItemsFolder)\FirebaseAnalytics-8.9.1\Frameworks\
- https://dl.google.com/firebase/ios/analytics/560b7928a9322b07/FirebaseAnalytics-6.9.0.tar.gz
+ https://dl.google.com/firebase/ios/analytics/66ce3623aa8037ff/FirebaseAnalytics-8.9.1.tar.gz
Tgz
-
-
+
+
Framework
True
True
-ObjC -lc++ -lsqlite3 -lz
- AddressBook AdSupport CoreGraphics StoreKit SystemConfiguration
-
-
- Framework
- True
- True
+ StoreKit
-
+
\ No newline at end of file
diff --git a/source/Firebase/Analytics/ApiDefinition.cs b/source/Firebase/Analytics/ApiDefinition.cs
index 18e029152..2d371c394 100644
--- a/source/Firebase/Analytics/ApiDefinition.cs
+++ b/source/Firebase/Analytics/ApiDefinition.cs
@@ -30,11 +30,6 @@ interface Analytics
[Export ("setUserID:")]
void SetUserId ([NullAllowed] string userId);
- // + (void)setScreenName:(nullable NSString *)screenName screenClass:(nullable NSString *)screenClassOverride;
- [Static]
- [Export ("setScreenName:screenClass:")]
- void SetScreenNameAndClass ([NullAllowed] string screenName, [NullAllowed] string screenClassOverride);
-
// +(void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled;
[Static]
[Export ("setAnalyticsCollectionEnabled:")]
@@ -45,7 +40,7 @@ interface Analytics
[Export ("setSessionTimeoutInterval:")]
void SetSessionTimeoutInterval (double sessionTimeoutInterval);
- // + (NSString *)appInstanceID;
+ // + (nullable NSString *)appInstanceID;
[Static]
[Export ("appInstanceID")]
string AppInstanceId { get; }
@@ -55,6 +50,15 @@ interface Analytics
[Export ("resetAnalyticsData")]
void ResetAnalyticsData ();
+ // +(void)setDefaultEventParameters:(NSDictionary * _Nullable)parameters;
+ [Static]
+ [Export ("setDefaultEventParameters:")]
+ void SetDefaultEventParameters ([NullAllowed] NSDictionary nsParameters);
+
+ [Static]
+ [Wrap ("SetDefaultEventParameters (parameters == null ? null : parameters.Keys.Count == 0 ? new NSDictionary () : NSDictionary.FromObjectsAndKeys (System.Linq.Enumerable.ToArray (parameters.Values), System.Linq.Enumerable.ToArray (parameters.Keys), parameters.Keys.Count))")]
+ void SetDefaultEventParameters ([NullAllowed] Dictionary