Repository: firebase/firebase-ios-sdk (language: cpp)

Issue:
FirebasePerformance SDK warns that FirebaseAnalytics should be included
<!-- DO NOT DELETE
validate_template=true
template_path=.github/ISSUE_TEMPLATE/bug_report.md
-->
### [REQUIRED] Step 1: Describe your environment

  * Xcode version: 12.4
  * Firebase SDK version: 7.5
  * Installation method: CocoaPods
  * Firebase Component: Performance, though I also have Crashlytics installed.

### [REQUIRED] Step 2: Describe the problem
`Firebase.h` generates a warning when `FirebasePerformance` is included but `FirebaseAnalytics` isn't included in the project. This contradicts the SDK's documentation.

The table in [this section](https://firebase.google.com/docs/ios/setup#available-pods) does not list Analytics as required for the Performance SDK. Additionally my experience so far has been that the Performance SDK has been working just fine without Analytics included.

#### Steps to reproduce:

1. Include the Firebase Performance SDK in a project that does not include the Analytics SDK.
2. In case it matters, I installed the SDK using CocoaPods and also have the Crashlytics SDK included in the project.
3. Build the app.
4. Note the warning `"FirebaseAnalytics.framework is not included in your target. Please add the \
FirebaseAnalytics dependency to your project to ensure Firebase Performance works as intended."`

#### Relevant Code:

It seems like these lines are incorrect and should be removed, or the documentation in the SDK is incorrect.
```
  #if __has_include(<FirebasePerformance/FirebasePerformance.h>)
    #import <FirebasePerformance/FirebasePerformance.h>
    #if TARGET_OS_IOS && !__has_include(<FirebaseAnalytics/FirebaseAnalytics.h>)
      #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
        #warning "FirebaseAnalytics.framework is not included in your target. Please add the \
FirebaseAnalytics dependency to your project to ensure Firebase Performance works as intended."
      #endif // #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
    #endif
  #endif
```
Firebase pod and Firebase.h review and update
- Updates for deleted and deprecated pods
- Review minor/patch version control
- Consider removing all Analytics warnings from Firebase.h


Discussion / hints:
Reopening. This still occurs in 7.8.0 because of the FirebasePerformance dependency RemoteConfig. It reproduces in the performance quickstart after removing Analytics from the Podfile
Firebase 8 will eliminate all the build time warnings from Firebase.h about the missing Analytics frameworks.


Fix patch:
diff --git a/CoreOnly/Sources/Firebase.h b/CoreOnly/Sources/Firebase.h
index 1fc1c6c9731..3cf4503fdb8 100755
--- a/CoreOnly/Sources/Firebase.h
+++ b/CoreOnly/Sources/Firebase.h
@@ -40,12 +40,6 @@
 
   #if __has_include(<FirebaseDynamicLinks/FirebaseDynamicLinks.h>)
     #import <FirebaseDynamicLinks/FirebaseDynamicLinks.h>
-    #if TARGET_OS_IOS && !__has_include(<FirebaseAnalytics/FirebaseAnalytics.h>)
-      #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
-        #warning "FirebaseAnalytics.framework is not included in your target. Please add the \
-FirebaseAnalytics dependency to your project to ensure Firebase Dynamic Links works as intended."
-      #endif // #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
-    #endif
   #endif
 
   #if __has_include(<FirebaseFirestore/FirebaseFirestore.h>)
@@ -58,43 +52,14 @@ FirebaseAnalytics dependency to your project to ensure Firebase Dynamic Links wo
 
   #if __has_include(<FirebaseInAppMessaging/FirebaseInAppMessaging.h>)
     #import <FirebaseInAppMessaging/FirebaseInAppMessaging.h>
-    #if TARGET_OS_IOS && !__has_include(<FirebaseAnalytics/FirebaseAnalytics.h>)
-      #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
-        #warning "FirebaseAnalytics.framework is not included in your target. Please add the \
-FirebaseAnalytics dependency to your project to ensure Firebase In App Messaging works as intended."
-      #endif // #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
-    #endif
   #endif
 
   #if __has_include(<FirebaseInstallations/FirebaseInstallations.h>)
     #import <FirebaseInstallations/FirebaseInstallations.h>
   #endif
 
-  #if __has_include(<FirebaseInstanceID/FirebaseInstanceID.h>)
-    #import <FirebaseInstanceID/FirebaseInstanceID.h>
-  #endif
-
   #if __has_include(<FirebaseMessaging/FirebaseMessaging.h>)
     #import <FirebaseMessaging/FirebaseMessaging.h>
-      #if TARGET_OS_IOS && !__has_include(<FirebaseAnalytics/FirebaseAnalytics.h>)
-      #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
-        #warning "FirebaseAnalytics.framework is not included in your target. Please add the \
-FirebaseAnalytics dependency to your project to ensure Messaging works as intended."
-
-      #endif // #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
-    #endif
-  #endif
-
-  #if __has_include(<FirebaseMLCommon/FirebaseMLCommon.h>)
-    #import <FirebaseMLCommon/FirebaseMLCommon.h>
-  #endif
-
-  #if __has_include(<FirebaseMLModelInterpreter/FirebaseMLModelInterpreter.h>)
-    #import <FirebaseMLModelInterpreter/FirebaseMLModelInterpreter.h>
-  #endif
-
-  #if __has_include(<FirebaseMLVision/FirebaseMLVision.h>)
-    #import <FirebaseMLVision/FirebaseMLVision.h>
   #endif
 
   #if __has_include(<FirebasePerformance/FirebasePerformance.h>)
@@ -103,28 +68,10 @@ FirebaseAnalytics dependency to your project to ensure Messaging works as intend
 
   #if __has_include(<FirebaseRemoteConfig/FirebaseRemoteConfig.h>)
     #import <FirebaseRemoteConfig/FirebaseRemoteConfig.h>
-    #if TARGET_OS_IOS && !TARGET_OS_MACCATALYST && !__has_include(<FirebaseAnalytics/FirebaseAnalytics.h>)
-      #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
-        #warning "FirebaseAnalytics.framework is not included in your target. Please add the \
-FirebaseAnalytics dependency to your project to ensure Firebase Remote Config works as intended."
-      #endif // #ifndef FIREBASE_ANALYTICS_SUPPRESS_WARNING
-    #endif
   #endif
 
   #if __has_include(<FirebaseStorage/FirebaseStorage.h>)
     #import <FirebaseStorage/FirebaseStorage.h>
   #endif
 
-  #if __has_include(<GoogleMobileAds/GoogleMobileAds.h>)
-    #import <GoogleMobileAds/GoogleMobileAds.h>
-  #endif
-
-  #if __has_include(<Fabric/Fabric.h>)
-    #import <Fabric/Fabric.h>
-  #endif
-
-  #if __has_include(<Crashlytics/Crashlytics.h>)
-    #import <Crashlytics/Crashlytics.h>
-  #endif
-
 #endif  // defined(__has_include)
diff --git a/Firebase.podspec b/Firebase.podspec
index 5f6bf5a3412..b6fd2e8c1d3 100644
--- a/Firebase.podspec
+++ b/Firebase.podspec
@@ -183,21 +183,4 @@ Simplify your app development, grow your user base, and monetize more effectivel
     ss.watchos.deployment_target = '6.0'
   end
 
-  # The deprecated ML subspecs should be deleted in Firebase 8.0.0.
-
-  s.subspec 'MLCommon' do |ss|
-    ss.dependency 'Firebase/CoreOnly'
-    ss.ios.dependency 'FirebaseMLCommon', '~> 7.6.0-beta'
-  end
-
-  s.subspec 'MLModelInterpreter' do |ss|
-    ss.dependency 'Firebase/CoreOnly'
-    ss.ios.dependency 'FirebaseMLModelInterpreter', '~> 7.6.0-beta'
-  end
-
-  s.subspec 'MLVision' do |ss|
-    ss.dependency 'Firebase/CoreOnly'
-    ss.ios.dependency 'FirebaseMLVision', '~> 7.6.0-beta'
-  end
-
 end
diff --git a/FirebaseCore/CHANGELOG.md b/FirebaseCore/CHANGELOG.md
index fecbeb0eac3..2dc102428ca 100644
--- a/FirebaseCore/CHANGELOG.md
+++ b/FirebaseCore/CHANGELOG.md
@@ -1,6 +1,13 @@
 # Firebase 8.0.0
+- [removed] Build warnings will no longer be generated to warn about missing capabilities resulting
+  from not including FirebaseAnalytics in the app. See the Firebase docs instead. (#7487)
 - [removed] The `Firebase/AdMob` CocoaPods subspec has been removed. Use the `Google-Mobile-Ads-SDK`
   CocoaPod instead. (#7833)
+- [removed] The `Firebase/MLModelInterpreter` CocoaPods subspec has been removed. Use the
+ `Firebase/MLModelDownloader` subspec instead.
+  CocoaPod instead.
+- [removed] The `Firebase/MLVision` CocoaPods subspec has been removed. Use the
+  `GoogleMLKit` CocoaPod instead.
 
 # Firebase 7.10.0
 - [changed] Update Nanopb to version 0.3.9.8. It fixes a possible security issue. (#7787)


Test patch: