firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.63k stars 1.48k forks source link

Rejection from apple for App Tracking Transparency #8045

Closed kemalmuderrisoglu closed 3 years ago

kemalmuderrisoglu commented 3 years ago

[REQUIRED] Step 1: Describe your environment

[REQUIRED] Step 2: Describe the problem

We have a taxi app like Uber on the store. We published 2 weeks ago there was no rejection at that time. Now we added only analytic log event as a change to get users behaviour and apple started to reject our app.

Rejection message from apple :

Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing

We noticed you do not use App Tracking Transparency to request the user's permission before tracking their activity across apps and websites. The app privacy information you provided in App Store Connect indicates you collect data in order to track the user, including Name, Customer Support, Crash Data, Other Data Types, Email Address, Performance Data, Other Contact Info, Photos or Videos, Phone Number, Other User Content, Advertising Data, Emails or Text Messages, Device ID, Other Usage Data, Physical Address, Precise Location, Coarse Location, Product Interaction, and Other Diagnostic Data.

Starting with iOS 14.5, apps on the App Store need to receive the user’s permission through the AppTrackingTransparency framework before collecting data used to track them. This requirement protects the privacy of App Store users.

Relevant Code:

I understand that apple want permission for tracking. But we are not collecting these informations for ad purpose. In our project we have these codes on different screens which are related to the issue I guess

These code was accepted 2 weeks ago. I'm not sure if they are related.

        //On login
        Analytics.setUserID(String(userid!))
        Analytics.setUserProperty(String(email!), forName: "email")

       //On call accepted
       Analytics.logEvent("request_type", parameters: ["name" : "ACCEPTED"])

After I added below code apple started to reject our app.

        Analytics.logEvent("google_directions",
                           parameters: [
                                "source" : "\(source.latitude),\(source.longitude)",
                                "destination" : "\(destination.latitude),\(destination.longitude)",
                                "apiKey" : "\(googleMapKey)"
                           ]
        )

Solutions tried:

  1. According to my research I found a patch to solve this issue, I tried to change analytics version to 7.9.0-k2. Problem is not solved.
  2. Then i changed to the newly published version which is 7.11.0 (both analytics and crashlytics). Again rejected.
  3. I tried to use AnalyticsWithoutAdIdSupport in my project. I got errors.

Question:

Do you have any idea to how to solve the issue? Do we must show the tracking permission to the users? If they will not accept this then how I will track them? Or if I write custom webservice to take these informations for tracking what is the difference because I think that they will not reject for custom webservices. Is the problem for my just one line code because I'm getting location on it?

google-oss-bot commented 3 years ago

I found a few problems with this issue:

paulb777 commented 3 years ago

@kemalmuderrisoglu Sorry about the trouble and thanks for the report. Please provide more detail about the errors when using pod 'Firebase/AnalyticsWithoutAdIdSupport' including the Podfile and Podfile.lock.

ryanwilson commented 3 years ago

Rejection message from apple :

Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing

The app privacy information you provided in App Store Connect indicates you collect data in order to track the user, including Name, Customer Support, Crash Data, Other Data Types, Email Address, Performance Data, Other Contact Info, Photos or Videos, Phone Number, Other User Content, Advertising Data, Emails or Text Messages, Device ID, Other Usage Data, Physical Address, Precise Location, Coarse Location, Product Interaction, and Other Diagnostic Data.

Starting with iOS 14.5, apps on the App Store need to receive the user’s permission through the AppTrackingTransparency framework before collecting data used to track them. This requirement protects the privacy of App Store users.

Based on Apple's message, it also sounds like you're specifying that you track users in App Store Connect but aren't using the new permissions dialogue. It's worth looking at the app privacy information you specified in App Store Connect to ensure it's what you expected and is accurate. You can see Firebase's data usage at https://firebase.google.com/docs/ios/app-store-data-collection.

google-oss-bot commented 3 years ago

Hey @kemalmuderrisoglu. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

kemalmuderrisoglu commented 3 years ago

@kemalmuderrisoglu Sorry about the trouble and thanks for the report. Please provide more detail about the errors when using pod 'Firebase/AnalyticsWithoutAdIdSupport' including the Podfile and Podfile.lock.

Sorry for late response.

By the way the new 8.0.0 version is announced and now I tried that version. After I changing 'Firebase/Analytics' to 'Firebase/AnalyticsWithoutAdIdSupport' my application gives below error:

       /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurementWithoutAdIdSupport/GoogleAppMeasurementWithoutAdIdSupport.framework/GoogleAppMeasurementWithoutAdIdSupport(APMValue.o)
duplicate symbol '_OBJC_METACLASS_$_APMValue' in:
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement/GoogleAppMeasurement.framework/GoogleAppMeasurement(APMValue.o)
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurementWithoutAdIdSupport/GoogleAppMeasurementWithoutAdIdSupport.framework/GoogleAppMeasurementWithoutAdIdSupport(APMValue.o)
duplicate symbol '_OBJC_IVAR_$_APMValue._valueType' in:
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement/GoogleAppMeasurement.framework/GoogleAppMeasurement(APMValue.o)
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurementWithoutAdIdSupport/GoogleAppMeasurementWithoutAdIdSupport.framework/GoogleAppMeasurementWithoutAdIdSupport(APMValue.o)
duplicate symbol '_APMIncludeNSDataCategory' in:
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement/GoogleAppMeasurement.framework/GoogleAppMeasurement(NSData+MD5.o)
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurementWithoutAdIdSupport/GoogleAppMeasurementWithoutAdIdSupport.framework/GoogleAppMeasurementWithoutAdIdSupport(NSData+MD5.o)
duplicate symbol '_APMIncludeNSDictionaryCategory' in:
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement/GoogleAppMeasurement.framework/GoogleAppMeasurement(NSDictionary+query.o)
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurementWithoutAdIdSupport/GoogleAppMeasurementWithoutAdIdSupport.framework/GoogleAppMeasurementWithoutAdIdSupport(NSDictionary+query.o)
duplicate symbol '_APMIncludeNSStringCategory' in:
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement/GoogleAppMeasurement.framework/GoogleAppMeasurement(NSString+MD5.o)
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurementWithoutAdIdSupport/GoogleAppMeasurementWithoutAdIdSupport.framework/GoogleAppMeasurementWithoutAdIdSupport(NSString+MD5.o)
duplicate symbol '_APMIncludeNSStringURLArgumentsCategory' in:
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement/GoogleAppMeasurement.framework/GoogleAppMeasurement(NSString+URLArguments.o)
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurementWithoutAdIdSupport/GoogleAppMeasurementWithoutAdIdSupport.framework/GoogleAppMeasurementWithoutAdIdSupport(NSString+URLArguments.o)
duplicate symbol '_APMIncludeNSStringUTF32Category' in:
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement/GoogleAppMeasurement.framework/GoogleAppMeasurement(NSString+UTF32.o)
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurementWithoutAdIdSupport/GoogleAppMeasurementWithoutAdIdSupport.framework/GoogleAppMeasurementWithoutAdIdSupport(NSString+UTF32.o)
duplicate symbol '_APMIncludeAPMScreenClassNameViewControllerCategory' in:
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement/GoogleAppMeasurement.framework/GoogleAppMeasurement(UIViewController+APMScreenClassName.o)
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurementWithoutAdIdSupport/GoogleAppMeasurementWithoutAdIdSupport.framework/GoogleAppMeasurementWithoutAdIdSupport(UIViewController+APMScreenClassName.o)
duplicate symbol '_APMIncludeAPMScreenClassNameWindowCategory' in:
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement/GoogleAppMeasurement.framework/GoogleAppMeasurement(UIWindow+APMScreenClassName.o)
    /Users/user/Library/Developer/Xcode/DerivedData/ProjectName-fxornvdcbckztlcuemkfbpidjvio/Build/Products/Release-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurementWithoutAdIdSupport/GoogleAppMeasurementWithoutAdIdSupport.framework/GoogleAppMeasurementWithoutAdIdSupport(UIWindow+APMScreenClassName.o)
ld: 527 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I tried to clean, rebuild, removing pod files and install from zero, removed DerivedData, removed ObjC from other linker flags, but this error is not solved. Is it because of some of other pod libraries conflict with this one? When I'm changing from AnalyticsWithoutAdIdSupport to Analytics, it starts to work again. How can I solve this issue?

Podfile


require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '10.0'

target 'ProjectName' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
    use_frameworks!

    config = use_native_modules!

    use_react_native!(:path => config["reactNativePath"])

    use_modular_headers!

    #Alamofire Webservices
    pod 'Alamofire', '4.8.2'

    #Reachability Network check
    pod 'ReachabilitySwift'

    #Google
    pod 'GoogleMaps'
    pod 'GoogleSignIn'
    pod 'GooglePlaces'

    #Firebase
    pod 'Firebase/AnalyticsWithoutAdIdSupport'
    pod 'Firebase/Database'
    pod 'Firebase/Core'
    pod 'Firebase/Storage'
    pod 'Firebase/Auth'
    pod 'Firebase/Messaging'
    pod 'Firebase/Crashlytics'

    #Facebook
    pod 'FacebookCore'
    pod 'FacebookLogin'
    pod 'FacebookShare'

    pod 'FacebookSDK'
    pod 'FacebookSDK/LoginKit'
    pod 'FacebookSDK/ShareKit'

    pod 'FBSDKMessengerShareKit'

    #Keyboard
    pod 'IQKeyboardManagerSwift'
    pod 'IHKeyboardAvoiding'

    #Payment & Bank
    pod 'Stripe'
    pod 'BraintreeDropIn'
    pod 'CreditCardForm', :git => 'https://github.com/orazz/CreditCardForm-iOS', branch: 'master'
    pod 'PayUmoney_PnP'

    #Others
    pod 'lottie-ios'
    pod 'KWDrawerController'
    pod 'DateTimePicker'
    pod 'PopupDialog'
    pod 'Lightbox'
    pod 'DropDown'

end

pre_install do |installer|
 installer.pod_targets.each do |pod|
   if pod.name.eql?('RNScreens') || pod.name.eql?('RNCMaskedView') || pod.name.eql?('RNSVG')
     def pod.build_type
       Pod::BuildType.static_library
     end
   end
  end
end

post_install do |installer|

    installer.pods_project.build_configurations.each do |config|
        config.build_settings.delete('CODE_SIGNING_ALLOWED')
        config.build_settings.delete('CODE_SIGNING_REQUIRED')

    end
    installer.pods_project.targets.each do |target|
        # Cache pod does not accept optimization level '-O', causing Bus 10 error. Use '-Osize' or '-Onone'
        target.build_configurations.each do |config|
            if target.name == 'Cache'
                level = '-Osize'
                config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = level
                puts "Set #{target.name} #{config.name} to Optimization Level #{level}"
            end
        end
    end
end

Podfile.lock

PODS:
  - Alamofire (4.8.2)
  - AppAuth (1.4.0):
    - AppAuth/Core (= 1.4.0)
    - AppAuth/ExternalUserAgent (= 1.4.0)
  - AppAuth/Core (1.4.0)
  - AppAuth/ExternalUserAgent (1.4.0)
  - boost-for-react-native (1.63.0)
  - Braintree/Card (4.37.1):
    - Braintree/Core
  - Braintree/Core (4.37.1)
  - Braintree/PaymentFlow (4.37.1):
    - Braintree/Card
    - Braintree/Core
    - Braintree/PayPalOneTouch
  - Braintree/PayPal (4.37.1):
    - Braintree/Core
    - Braintree/PayPalOneTouch
  - Braintree/PayPalDataCollector (4.37.1):
    - Braintree/Core
    - Braintree/PayPalUtils
  - Braintree/PayPalOneTouch (4.37.1):
    - Braintree/Core
    - Braintree/PayPalDataCollector
    - Braintree/PayPalUtils
  - Braintree/PayPalUtils (4.37.1)
  - Braintree/UnionPay (4.37.1):
    - Braintree/Card
    - Braintree/Core
  - BraintreeDropIn (8.1.4):
    - BraintreeDropIn/DropIn (= 8.1.4)
  - BraintreeDropIn/DropIn (8.1.4):
    - Braintree/Card (~> 4.32)
    - Braintree/Core (~> 4.32)
    - Braintree/PaymentFlow (~> 4.32)
    - Braintree/PayPal (~> 4.32)
    - Braintree/UnionPay (~> 4.32)
    - BraintreeDropIn/UIKit
  - BraintreeDropIn/UIKit (8.1.4)
  - Cache (5.3.0)
  - CreditCardForm (0.2.0)
  - DateTimePicker (2.5.3)
  - DoubleConversion (1.1.6)
  - DropDown (2.3.13)
  - DynamicBlurView (4.1.0)
  - FacebookCore (0.9.0):
    - FBSDKCoreKit (~> 5.0)
  - FacebookLogin (0.9.0):
    - FacebookCore (~> 0.9.0)
    - FBSDKCoreKit (~> 5.0)
    - FBSDKLoginKit (~> 5.0)
  - FacebookSDK (5.15.1):
    - FacebookSDK/CoreKit (= 5.15.1)
    - FacebookSDK/MarketingKit (= 5.15.1)
  - FacebookSDK/CoreKit (5.15.1):
    - FBSDKCoreKit (~> 5.0)
  - FacebookSDK/LoginKit (5.15.1):
    - FacebookSDK/CoreKit
    - FBSDKLoginKit (~> 5.0)
  - FacebookSDK/MarketingKit (5.15.1):
    - FacebookSDK/CoreKit
    - FBSDKMarketingKit (~> 5.0)
  - FacebookSDK/ShareKit (5.15.1):
    - FacebookSDK/CoreKit
    - FBSDKShareKit (~> 5.0)
  - FacebookShare (0.9.0):
    - FacebookCore (~> 0.9.0)
    - FBSDKCoreKit (~> 5.0)
    - FBSDKShareKit (~> 5.0)
  - FBLazyVector (0.63.4)
  - FBReactNativeSpec (0.63.4):
    - Folly (= 2020.01.13.00)
    - RCTRequired (= 0.63.4)
    - RCTTypeSafety (= 0.63.4)
    - React-Core (= 0.63.4)
    - React-jsi (= 0.63.4)
    - ReactCommon/turbomodule/core (= 0.63.4)
  - FBSDKCoreKit (5.15.1):
    - FBSDKCoreKit/Basics (= 5.15.1)
    - FBSDKCoreKit/Core (= 5.15.1)
  - FBSDKCoreKit/Basics (5.15.1)
  - FBSDKCoreKit/Core (5.15.1):
    - FBSDKCoreKit/Basics
  - FBSDKLoginKit (5.15.1):
    - FBSDKLoginKit/Login (= 5.15.1)
  - FBSDKLoginKit/Login (5.15.1):
    - FBSDKCoreKit (~> 5.0)
  - FBSDKMarketingKit (5.14.0):
    - FBSDKCoreKit (~> 5.5)
  - FBSDKMessengerShareKit (1.3.2)
  - FBSDKShareKit (5.15.1):
    - FBSDKShareKit/Share (= 5.15.1)
  - FBSDKShareKit/Share (5.15.1):
    - FBSDKCoreKit (~> 5.0)
  - Firebase/AnalyticsWithoutAdIdSupport (8.0.0):
    - Firebase/CoreOnly
    - FirebaseAnalytics/WithoutAdIdSupport (~> 8.0.0)
  - Firebase/Auth (8.0.0):
    - Firebase/CoreOnly
    - FirebaseAuth (~> 8.0.0)
  - Firebase/Core (8.0.0):
    - Firebase/CoreOnly
    - FirebaseAnalytics (~> 8.0.0)
  - Firebase/CoreOnly (8.0.0):
    - FirebaseCore (= 8.0.0)
  - Firebase/Crashlytics (8.0.0):
    - Firebase/CoreOnly
    - FirebaseCrashlytics (~> 8.0.0)
  - Firebase/Database (8.0.0):
    - Firebase/CoreOnly
    - FirebaseDatabase (~> 8.0.0)
  - Firebase/Messaging (8.0.0):
    - Firebase/CoreOnly
    - FirebaseMessaging (~> 8.0.0)
  - Firebase/Storage (8.0.0):
    - Firebase/CoreOnly
    - FirebaseStorage (~> 8.0.0)
  - FirebaseAnalytics (8.0.0):
    - FirebaseAnalytics/AdIdSupport (= 8.0.0)
    - FirebaseCore (~> 8.0)
    - FirebaseInstallations (~> 8.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
    - GoogleUtilities/MethodSwizzler (~> 7.4)
    - GoogleUtilities/Network (~> 7.4)
    - "GoogleUtilities/NSData+zlib (~> 7.4)"
    - nanopb (~> 2.30908.0)
  - FirebaseAnalytics/AdIdSupport (8.0.0):
    - FirebaseAnalytics/Base (= 8.0.0)
    - FirebaseCore (~> 8.0)
    - FirebaseInstallations (~> 8.0)
    - GoogleAppMeasurement (= 8.0.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
    - GoogleUtilities/MethodSwizzler (~> 7.4)
    - GoogleUtilities/Network (~> 7.4)
    - "GoogleUtilities/NSData+zlib (~> 7.4)"
    - nanopb (~> 2.30908.0)
  - FirebaseAnalytics/Base (8.0.0):
    - FirebaseCore (~> 8.0)
    - FirebaseInstallations (~> 8.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
    - GoogleUtilities/MethodSwizzler (~> 7.4)
    - GoogleUtilities/Network (~> 7.4)
    - "GoogleUtilities/NSData+zlib (~> 7.4)"
    - nanopb (~> 2.30908.0)
  - FirebaseAnalytics/WithoutAdIdSupport (8.0.0):
    - FirebaseAnalytics/Base (= 8.0.0)
    - FirebaseCore (~> 8.0)
    - FirebaseInstallations (~> 8.0)
    - GoogleAppMeasurement/WithoutAdIdSupport (= 8.0.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
    - GoogleUtilities/MethodSwizzler (~> 7.4)
    - GoogleUtilities/Network (~> 7.4)
    - "GoogleUtilities/NSData+zlib (~> 7.4)"
    - nanopb (~> 2.30908.0)
  - FirebaseAuth (8.0.0):
    - FirebaseCore (~> 8.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
    - GoogleUtilities/Environment (~> 7.4)
    - GTMSessionFetcher/Core (~> 1.5)
  - FirebaseCore (8.0.0):
    - FirebaseCoreDiagnostics (~> 8.0)
    - GoogleUtilities/Environment (~> 7.4)
    - GoogleUtilities/Logger (~> 7.4)
  - FirebaseCoreDiagnostics (8.0.0):
    - GoogleDataTransport (~> 9.0)
    - GoogleUtilities/Environment (~> 7.4)
    - GoogleUtilities/Logger (~> 7.4)
    - nanopb (~> 2.30908.0)
  - FirebaseCrashlytics (8.0.0):
    - FirebaseCore (~> 8.0)
    - FirebaseInstallations (~> 8.0)
    - GoogleDataTransport (~> 9.0)
    - nanopb (~> 2.30908.0)
    - PromisesObjC (~> 1.2)
  - FirebaseDatabase (8.0.0):
    - FirebaseCore (~> 8.0)
    - leveldb-library (~> 1.22)
  - FirebaseInstallations (8.0.0):
    - FirebaseCore (~> 8.0)
    - GoogleUtilities/Environment (~> 7.4)
    - GoogleUtilities/UserDefaults (~> 7.4)
    - PromisesObjC (~> 1.2)
  - FirebaseMessaging (8.0.0):
    - FirebaseCore (~> 8.0)
    - FirebaseInstallations (~> 8.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
    - GoogleUtilities/Environment (~> 7.4)
    - GoogleUtilities/Reachability (~> 7.4)
    - GoogleUtilities/UserDefaults (~> 7.4)
  - FirebaseStorage (8.0.0):
    - FirebaseCore (~> 8.0)
    - GTMSessionFetcher/Core (~> 1.5)
  - Folly (2020.01.13.00):
    - boost-for-react-native
    - DoubleConversion
    - Folly/Default (= 2020.01.13.00)
    - glog
  - Folly/Default (2020.01.13.00):
    - boost-for-react-native
    - DoubleConversion
    - glog
  - glog (0.3.5)
  - GoogleAppMeasurement (8.0.0):
    - GoogleAppMeasurement/AdIdSupport (= 8.0.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
    - GoogleUtilities/MethodSwizzler (~> 7.4)
    - GoogleUtilities/Network (~> 7.4)
    - "GoogleUtilities/NSData+zlib (~> 7.4)"
    - nanopb (~> 2.30908.0)
  - GoogleAppMeasurement/AdIdSupport (8.0.0):
    - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
    - GoogleUtilities/MethodSwizzler (~> 7.4)
    - GoogleUtilities/Network (~> 7.4)
    - "GoogleUtilities/NSData+zlib (~> 7.4)"
    - nanopb (~> 2.30908.0)
  - GoogleAppMeasurement/WithoutAdIdSupport (8.0.0):
    - GoogleUtilities/AppDelegateSwizzler (~> 7.4)
    - GoogleUtilities/MethodSwizzler (~> 7.4)
    - GoogleUtilities/Network (~> 7.4)
    - "GoogleUtilities/NSData+zlib (~> 7.4)"
    - nanopb (~> 2.30908.0)
  - GoogleDataTransport (9.0.0):
    - GoogleUtilities/Environment (~> 7.2)
    - nanopb (~> 2.30908.0)
    - PromisesObjC (~> 1.2)
  - GoogleMaps (4.2.0):
    - GoogleMaps/Maps (= 4.2.0)
  - GoogleMaps/Base (4.2.0)
  - GoogleMaps/Maps (4.2.0):
    - GoogleMaps/Base
  - GooglePlaces (4.2.0):
    - GoogleMaps/Base (= 4.2.0)
  - GoogleSignIn (5.0.2):
    - AppAuth (~> 1.2)
    - GTMAppAuth (~> 1.0)
    - GTMSessionFetcher/Core (~> 1.1)
  - GoogleUtilities/AppDelegateSwizzler (7.4.1):
    - GoogleUtilities/Environment
    - GoogleUtilities/Logger
    - GoogleUtilities/Network
  - GoogleUtilities/Environment (7.4.1):
    - PromisesObjC (~> 1.2)
  - GoogleUtilities/Logger (7.4.1):
    - GoogleUtilities/Environment
  - GoogleUtilities/MethodSwizzler (7.4.1):
    - GoogleUtilities/Logger
  - GoogleUtilities/Network (7.4.1):
    - GoogleUtilities/Logger
    - "GoogleUtilities/NSData+zlib"
    - GoogleUtilities/Reachability
  - "GoogleUtilities/NSData+zlib (7.4.1)"
  - GoogleUtilities/Reachability (7.4.1):
    - GoogleUtilities/Logger
  - GoogleUtilities/UserDefaults (7.4.1):
    - GoogleUtilities/Logger
  - GTMAppAuth (1.2.2):
    - AppAuth/Core (~> 1.4)
    - GTMSessionFetcher/Core (~> 1.5)
  - GTMSessionFetcher/Core (1.5.0)
  - IHKeyboardAvoiding (4.7)
  - Imaginary (4.3.1):
    - Cache (~> 5.3.0)
  - IQKeyboardManagerSwift (6.5.6)
  - KWDrawerController (4.2):
    - KWDrawerController/Core (= 4.2)
  - KWDrawerController/Core (4.2)
  - leveldb-library (1.22.1)
  - Lightbox (2.4.2):
    - Imaginary (~> 4.3.1)
  - lottie-ios (3.2.3)
  - nanopb (2.30908.0):
    - nanopb/decode (= 2.30908.0)
    - nanopb/encode (= 2.30908.0)
  - nanopb/decode (2.30908.0)
  - nanopb/encode (2.30908.0)
  - PayUIndia-Custom-Browser (6.1.1)
  - PayUmoney_CoreSDK (4.2):
    - PayUIndia-Custom-Browser (~> 6.0)
  - PayUmoney_PnP (2.5.3):
    - PayUmoney_CoreSDK
  - PopupDialog (1.1.1):
    - DynamicBlurView (~> 4.0)
  - PromisesObjC (1.2.12)
  - RCTRequired (0.63.4)
  - RCTTypeSafety (0.63.4):
    - FBLazyVector (= 0.63.4)
    - Folly (= 2020.01.13.00)
    - RCTRequired (= 0.63.4)
    - React-Core (= 0.63.4)
  - ReachabilitySwift (5.0.0)
  - React (0.63.4):
    - React-Core (= 0.63.4)
    - React-Core/DevSupport (= 0.63.4)
    - React-Core/RCTWebSocket (= 0.63.4)
    - React-RCTActionSheet (= 0.63.4)
    - React-RCTAnimation (= 0.63.4)
    - React-RCTBlob (= 0.63.4)
    - React-RCTImage (= 0.63.4)
    - React-RCTLinking (= 0.63.4)
    - React-RCTNetwork (= 0.63.4)
    - React-RCTSettings (= 0.63.4)
    - React-RCTText (= 0.63.4)
    - React-RCTVibration (= 0.63.4)
  - React-callinvoker (0.63.4)
  - React-Core (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default (= 0.63.4)
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/CoreModulesHeaders (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/Default (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/DevSupport (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default (= 0.63.4)
    - React-Core/RCTWebSocket (= 0.63.4)
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - React-jsinspector (= 0.63.4)
    - Yoga
  - React-Core/RCTActionSheetHeaders (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/RCTAnimationHeaders (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/RCTBlobHeaders (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/RCTImageHeaders (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/RCTLinkingHeaders (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/RCTNetworkHeaders (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/RCTSettingsHeaders (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/RCTTextHeaders (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/RCTVibrationHeaders (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-Core/RCTWebSocket (0.63.4):
    - Folly (= 2020.01.13.00)
    - glog
    - React-Core/Default (= 0.63.4)
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-jsiexecutor (= 0.63.4)
    - Yoga
  - React-CoreModules (0.63.4):
    - FBReactNativeSpec (= 0.63.4)
    - Folly (= 2020.01.13.00)
    - RCTTypeSafety (= 0.63.4)
    - React-Core/CoreModulesHeaders (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-RCTImage (= 0.63.4)
    - ReactCommon/turbomodule/core (= 0.63.4)
  - React-cxxreact (0.63.4):
    - boost-for-react-native (= 1.63.0)
    - DoubleConversion
    - Folly (= 2020.01.13.00)
    - glog
    - React-callinvoker (= 0.63.4)
    - React-jsinspector (= 0.63.4)
  - React-jsi (0.63.4):
    - boost-for-react-native (= 1.63.0)
    - DoubleConversion
    - Folly (= 2020.01.13.00)
    - glog
    - React-jsi/Default (= 0.63.4)
  - React-jsi/Default (0.63.4):
    - boost-for-react-native (= 1.63.0)
    - DoubleConversion
    - Folly (= 2020.01.13.00)
    - glog
  - React-jsiexecutor (0.63.4):
    - DoubleConversion
    - Folly (= 2020.01.13.00)
    - glog
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
  - React-jsinspector (0.63.4)
  - react-native-safe-area-context (3.1.9):
    - React-Core
  - React-RCTActionSheet (0.63.4):
    - React-Core/RCTActionSheetHeaders (= 0.63.4)
  - React-RCTAnimation (0.63.4):
    - FBReactNativeSpec (= 0.63.4)
    - Folly (= 2020.01.13.00)
    - RCTTypeSafety (= 0.63.4)
    - React-Core/RCTAnimationHeaders (= 0.63.4)
    - React-jsi (= 0.63.4)
    - ReactCommon/turbomodule/core (= 0.63.4)
  - React-RCTBlob (0.63.4):
    - FBReactNativeSpec (= 0.63.4)
    - Folly (= 2020.01.13.00)
    - React-Core/RCTBlobHeaders (= 0.63.4)
    - React-Core/RCTWebSocket (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-RCTNetwork (= 0.63.4)
    - ReactCommon/turbomodule/core (= 0.63.4)
  - React-RCTImage (0.63.4):
    - FBReactNativeSpec (= 0.63.4)
    - Folly (= 2020.01.13.00)
    - RCTTypeSafety (= 0.63.4)
    - React-Core/RCTImageHeaders (= 0.63.4)
    - React-jsi (= 0.63.4)
    - React-RCTNetwork (= 0.63.4)
    - ReactCommon/turbomodule/core (= 0.63.4)
  - React-RCTLinking (0.63.4):
    - FBReactNativeSpec (= 0.63.4)
    - React-Core/RCTLinkingHeaders (= 0.63.4)
    - React-jsi (= 0.63.4)
    - ReactCommon/turbomodule/core (= 0.63.4)
  - React-RCTNetwork (0.63.4):
    - FBReactNativeSpec (= 0.63.4)
    - Folly (= 2020.01.13.00)
    - RCTTypeSafety (= 0.63.4)
    - React-Core/RCTNetworkHeaders (= 0.63.4)
    - React-jsi (= 0.63.4)
    - ReactCommon/turbomodule/core (= 0.63.4)
  - React-RCTSettings (0.63.4):
    - FBReactNativeSpec (= 0.63.4)
    - Folly (= 2020.01.13.00)
    - RCTTypeSafety (= 0.63.4)
    - React-Core/RCTSettingsHeaders (= 0.63.4)
    - React-jsi (= 0.63.4)
    - ReactCommon/turbomodule/core (= 0.63.4)
  - React-RCTText (0.63.4):
    - React-Core/RCTTextHeaders (= 0.63.4)
  - React-RCTVibration (0.63.4):
    - FBReactNativeSpec (= 0.63.4)
    - Folly (= 2020.01.13.00)
    - React-Core/RCTVibrationHeaders (= 0.63.4)
    - React-jsi (= 0.63.4)
    - ReactCommon/turbomodule/core (= 0.63.4)
  - ReactCommon/turbomodule/core (0.63.4):
    - DoubleConversion
    - Folly (= 2020.01.13.00)
    - glog
    - React-callinvoker (= 0.63.4)
    - React-Core (= 0.63.4)
    - React-cxxreact (= 0.63.4)
    - React-jsi (= 0.63.4)
  - RNCClipboard (1.5.1):
    - React-Core
  - RNCMaskedView (0.1.10):
    - React
  - RNGestureHandler (1.10.3):
    - React-Core
  - RNReanimated (1.13.3):
    - React-Core
  - RNScreens (2.18.1):
    - React-Core
  - RNSVG (12.1.0):
    - React
  - Stripe (19.4.1)
  - Yoga (1.14.0)

DEPENDENCIES:
  - Alamofire (= 4.8.2)
  - BraintreeDropIn
  - CreditCardForm (from `https://github.com/orazz/CreditCardForm-iOS`, branch `master`)
  - DateTimePicker
  - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
  - DropDown
  - FacebookCore
  - FacebookLogin
  - FacebookSDK
  - FacebookSDK/LoginKit
  - FacebookSDK/ShareKit
  - FacebookShare
  - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
  - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
  - FBSDKMessengerShareKit
  - Firebase/AnalyticsWithoutAdIdSupport
  - Firebase/Auth
  - Firebase/Core
  - Firebase/Crashlytics
  - Firebase/Database
  - Firebase/Messaging
  - Firebase/Storage
  - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
  - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
  - GoogleMaps
  - GooglePlaces
  - GoogleSignIn
  - IHKeyboardAvoiding
  - IQKeyboardManagerSwift
  - KWDrawerController
  - Lightbox
  - lottie-ios
  - PayUmoney_PnP
  - PopupDialog
  - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
  - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
  - ReachabilitySwift
  - React (from `../node_modules/react-native/`)
  - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
  - React-Core (from `../node_modules/react-native/`)
  - React-Core/DevSupport (from `../node_modules/react-native/`)
  - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
  - React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
  - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
  - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
  - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
  - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
  - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
  - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
  - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
  - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
  - React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
  - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
  - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
  - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
  - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
  - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
  - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
  - "RNCClipboard (from `../node_modules/@react-native-community/clipboard`)"
  - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
  - RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
  - RNReanimated (from `../node_modules/react-native-reanimated`)
  - RNScreens (from `../node_modules/react-native-screens`)
  - RNSVG (from `../node_modules/react-native-svg`)
  - Stripe
  - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)

SPEC REPOS:
  https://github.com/CocoaPods/Specs.git:
    - Alamofire
    - AppAuth
    - boost-for-react-native
    - Braintree
    - BraintreeDropIn
    - Cache
    - DateTimePicker
    - DropDown
    - DynamicBlurView
    - FacebookCore
    - FacebookLogin
    - FacebookSDK
    - FacebookShare
    - FBSDKCoreKit
    - FBSDKLoginKit
    - FBSDKMarketingKit
    - FBSDKMessengerShareKit
    - FBSDKShareKit
    - Firebase
    - FirebaseAnalytics
    - FirebaseAuth
    - FirebaseCore
    - FirebaseCoreDiagnostics
    - FirebaseCrashlytics
    - FirebaseDatabase
    - FirebaseInstallations
    - FirebaseMessaging
    - FirebaseStorage
    - GoogleAppMeasurement
    - GoogleDataTransport
    - GoogleMaps
    - GooglePlaces
    - GoogleSignIn
    - GoogleUtilities
    - GTMAppAuth
    - GTMSessionFetcher
    - IHKeyboardAvoiding
    - Imaginary
    - IQKeyboardManagerSwift
    - KWDrawerController
    - leveldb-library
    - Lightbox
    - lottie-ios
    - nanopb
    - PayUIndia-Custom-Browser
    - PayUmoney_CoreSDK
    - PayUmoney_PnP
    - PopupDialog
    - PromisesObjC
    - ReachabilitySwift
    - Stripe

EXTERNAL SOURCES:
  CreditCardForm:
    :branch: master
    :git: https://github.com/orazz/CreditCardForm-iOS
  DoubleConversion:
    :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
  FBLazyVector:
    :path: "../node_modules/react-native/Libraries/FBLazyVector"
  FBReactNativeSpec:
    :path: "../node_modules/react-native/Libraries/FBReactNativeSpec"
  Folly:
    :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
  glog:
    :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
  RCTRequired:
    :path: "../node_modules/react-native/Libraries/RCTRequired"
  RCTTypeSafety:
    :path: "../node_modules/react-native/Libraries/TypeSafety"
  React:
    :path: "../node_modules/react-native/"
  React-callinvoker:
    :path: "../node_modules/react-native/ReactCommon/callinvoker"
  React-Core:
    :path: "../node_modules/react-native/"
  React-CoreModules:
    :path: "../node_modules/react-native/React/CoreModules"
  React-cxxreact:
    :path: "../node_modules/react-native/ReactCommon/cxxreact"
  React-jsi:
    :path: "../node_modules/react-native/ReactCommon/jsi"
  React-jsiexecutor:
    :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
  React-jsinspector:
    :path: "../node_modules/react-native/ReactCommon/jsinspector"
  react-native-safe-area-context:
    :path: "../node_modules/react-native-safe-area-context"
  React-RCTActionSheet:
    :path: "../node_modules/react-native/Libraries/ActionSheetIOS"
  React-RCTAnimation:
    :path: "../node_modules/react-native/Libraries/NativeAnimation"
  React-RCTBlob:
    :path: "../node_modules/react-native/Libraries/Blob"
  React-RCTImage:
    :path: "../node_modules/react-native/Libraries/Image"
  React-RCTLinking:
    :path: "../node_modules/react-native/Libraries/LinkingIOS"
  React-RCTNetwork:
    :path: "../node_modules/react-native/Libraries/Network"
  React-RCTSettings:
    :path: "../node_modules/react-native/Libraries/Settings"
  React-RCTText:
    :path: "../node_modules/react-native/Libraries/Text"
  React-RCTVibration:
    :path: "../node_modules/react-native/Libraries/Vibration"
  ReactCommon:
    :path: "../node_modules/react-native/ReactCommon"
  RNCClipboard:
    :path: "../node_modules/@react-native-community/clipboard"
  RNCMaskedView:
    :path: "../node_modules/@react-native-community/masked-view"
  RNGestureHandler:
    :path: "../node_modules/react-native-gesture-handler"
  RNReanimated:
    :path: "../node_modules/react-native-reanimated"
  RNScreens:
    :path: "../node_modules/react-native-screens"
  RNSVG:
    :path: "../node_modules/react-native-svg"
  Yoga:
    :path: "../node_modules/react-native/ReactCommon/yoga"

CHECKOUT OPTIONS:
  CreditCardForm:
    :commit: 5186b7fd7170b883101dfd686fc57a3cce379d4d
    :git: https://github.com/orazz/CreditCardForm-iOS

SPEC CHECKSUMS:
  Alamofire: ae5c501addb7afdbb13687d7f2f722c78734c2d3
  AppAuth: 31bcec809a638d7bd2f86ea8a52bd45f6e81e7c7
  boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
  Braintree: 94a20907b70aeffb29c40380eec583d783a347b6
  BraintreeDropIn: 073ef11637285efc5572b412079a34942c849ef9
  Cache: 48762993ec44e1d93483c4d4a13edd18452326f4
  CreditCardForm: bba4aad545236f97f2dc45ea3bed0cb57d5e0e99
  DateTimePicker: 52701ddf656a50856d3510955933f767cd2c947c
  DoubleConversion: cde416483dac037923206447da6e1454df403714
  DropDown: 8a2116376c1981888557f72ec2ffc9a5e0e456ec
  DynamicBlurView: 58e18fae80bb614e34681a4486870e7d257b62e8
  FacebookCore: ba86524b66cfa86d0f8e65d08faa8504a9f732dd
  FacebookLogin: 6cee9fd6e1fe976fe8f7eec199e27b28b14f5d63
  FacebookSDK: 40811aca4741187ac7e6b175f261edee4edfc58a
  FacebookShare: 85968ad1b1606c4944fb154924e425fd29184ea5
  FBLazyVector: 3bb422f41b18121b71783a905c10e58606f7dc3e
  FBReactNativeSpec: f2c97f2529dd79c083355182cc158c9f98f4bd6e
  FBSDKCoreKit: 1d5acf7c9d7a2f92bb1a242dc60cae5b7adb91df
  FBSDKLoginKit: f1ea8026a58b52d30c9f2e6a58ca7d813619fb83
  FBSDKMarketingKit: b9dd220b38cc613c71d3eb626cd60bc8e938fbb4
  FBSDKMessengerShareKit: bdd14265f5845e6d1c95a128ab33705a68ca1c21
  FBSDKShareKit: 259737eab3cc807087374553abdf588b3096ba55
  Firebase: 73c3e3b216ec1ecbc54d2ffdd4670c65c749edb1
  FirebaseAnalytics: dcb92c7c9ef4fa7ffac276e8f87bd4fc8c97f1b8
  FirebaseAuth: b8cd992fca5b53dc6eec09e873a3f375f000c5a1
  FirebaseCore: 3f09591d51292843e2a46f18358d60bf4e996255
  FirebaseCoreDiagnostics: a31d987ba0fe16d59886a5dbadc2f1de871f88c8
  FirebaseCrashlytics: 69cddb6bfa7656c5346e603bc85b029392252ee6
  FirebaseDatabase: 363961e25451425be8b14bb8801a592515ec58f2
  FirebaseInstallations: c4aab1005d6547b00a7529777fe52f5d4d45165b
  FirebaseMessaging: 1a33b4af3c8042ed6ddacb6c031894af2064bfab
  FirebaseStorage: 61bcd27880fa17362f68be67d3683d04bfd7b1c7
  Folly: b73c3869541e86821df3c387eb0af5f65addfab4
  glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3
  GoogleAppMeasurement: c6bbc9753d046b5456dd4f940057fbad2c28419e
  GoogleDataTransport: 11e3a5f2c190327df1a4a5d7e7ae3d4d5b9c9e4c
  GoogleMaps: eb03e327edfd70b06de1e6e321653f73712df7ad
  GooglePlaces: 196a9dd88580dcb3f3df46f415057703d0d2a310
  GoogleSignIn: 7137d297ddc022a7e0aa4619c86d72c909fa7213
  GoogleUtilities: f8a43108b38a68eebe8b3540e1f4f2d28843ce20
  GTMAppAuth: ad5c2b70b9a8689e1a04033c9369c4915bfcbe89
  GTMSessionFetcher: b3503b20a988c4e20cc189aa798fd18220133f52
  IHKeyboardAvoiding: 4cae0880c3975feffa278495df894c5166e71ad0
  Imaginary: 18c5bba364229eef383b925199db442e71d175e1
  IQKeyboardManagerSwift: c7df9d2deb356c04522f5c4b7b6e4ce4d8ed94fe
  KWDrawerController: 244ecb42378bd13a56826458647b76758db5cb67
  leveldb-library: 50c7b45cbd7bf543c81a468fe557a16ae3db8729
  Lightbox: 8837c35c1150fa0410d94296e369b432d37f18c7
  lottie-ios: c058aeafa76daa4cf64d773554bccc8385d0150e
  nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96
  PayUIndia-Custom-Browser: e251cb87d41a343f5810faebe23f8edccf91a580
  PayUmoney_CoreSDK: a78c10a3a4e11325a2e85b22d2022698e0b8e3d0
  PayUmoney_PnP: c7bf0aa926e8eea00203d75803e9a33ac09f5752
  PopupDialog: 720c92befd8bc23c13442254945213db5612f149
  PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97
  RCTRequired: 082f10cd3f905d6c124597fd1c14f6f2655ff65e
  RCTTypeSafety: 8c9c544ecbf20337d069e4ae7fd9a377aadf504b
  ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
  React: b0a957a2c44da4113b0c4c9853d8387f8e64e615
  React-callinvoker: c3f44dd3cb195b6aa46621fff95ded79d59043fe
  React-Core: d3b2a1ac9a2c13c3bcde712d9281fc1c8a5b315b
  React-CoreModules: 0581ff36cb797da0943d424f69e7098e43e9be60
  React-cxxreact: c1480d4fda5720086c90df537ee7d285d4c57ac3
  React-jsi: a0418934cf48f25b485631deb27c64dc40fb4c31
  React-jsiexecutor: 93bd528844ad21dc07aab1c67cb10abae6df6949
  React-jsinspector: 58aef7155bc9a9683f5b60b35eccea8722a4f53a
  react-native-safe-area-context: b6e0e284002381d2ff29fa4fff42b4d8282e3c94
  React-RCTActionSheet: 89a0ca9f4a06c1f93c26067af074ccdce0f40336
  React-RCTAnimation: 1bde3ecc0c104c55df246eda516e0deb03c4e49b
  React-RCTBlob: a97d378b527740cc667e03ebfa183a75231ab0f0
  React-RCTImage: c1b1f2d3f43a4a528c8946d6092384b5c880d2f0
  React-RCTLinking: 35ae4ab9dc0410d1fcbdce4d7623194a27214fb2
  React-RCTNetwork: 29ec2696f8d8cfff7331fac83d3e893c95ef43ae
  React-RCTSettings: 60f0691bba2074ef394f95d4c2265ec284e0a46a
  React-RCTText: 5c51df3f08cb9dedc6e790161195d12bac06101c
  React-RCTVibration: ae4f914cfe8de7d4de95ae1ea6cc8f6315d73d9d
  ReactCommon: 73d79c7039f473b76db6ff7c6b159c478acbbb3b
  RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
  RNCMaskedView: 5a8ec07677aa885546a0d98da336457e2bea557f
  RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211
  RNReanimated: 514a11da3a2bcc6c3dfd9de32b38e2b9bf101926
  RNScreens: f7ad633b2e0190b77b6a7aab7f914fad6f198d8d
  RNSVG: ce9d996113475209013317e48b05c21ee988d42e
  Stripe: 5914399ac5878056b985d56b409cb4bb1e7fc7e8
  Yoga: 4bd86afe9883422a7c4028c00e34790f560923d6

PODFILE CHECKSUM: f669244c46196868c374cac93ab39454e8e38312

COCOAPODS: 1.10.1
morganchen12 commented 3 years ago

@kemalmuderrisoglu Something in your project (probably Firebase/Core) is pulling in the base Firebase/Analytics (with Ad ID support) podspec and it's causing symbol collisions because you now have two copies of Analytics in your project. You'll need to find what dependency is including FirebaseAnalytics/WithAdIdSupport and remove that from your Podfile.

paulb777 commented 3 years ago

The Podfile includes pod 'Firebase/Core'. pod 'Firebase/Core' is deprecated in favor of the synomous pod 'Firebase/Analytics' and is not compatible with FirebaseAnalytics/WithAdIdSupport.

kemalmuderrisoglu commented 3 years ago

Thanks @morganchen12 & @paulb777 . When I removed pod 'Firebase/Core' project successfully builded as you offered. I'm now trying to upload this version to the store. We will see if they are going to reject again or not. I will let you know.

kemalmuderrisoglu commented 3 years ago

@paulb777 they again rejected with the same response:


Hello,

Thank you for your resubmission. We noticed that the previous issue has not been resolved.

Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing

The app privacy information you provided in App Store Connect indicates you collect data in order to track the user, including Name, Customer Support, Crash Data, Other Data Types, Performance Data, Email Address, Other Contact Info, Photos or Videos, Phone Number, Other User Content, Advertising Data, Device ID, Precise Location, Emails or Text Messages, Other Usage Data, Other Diagnostic Data, Physical Address, Coarse Location, and Product Interaction. However, you do not use App Tracking Transparency to request the user's permission before tracking their activity.

Starting with iOS 14.5, apps on the App Store need to receive the user’s permission through the AppTrackingTransparency framework before collecting data used to track them. This requirement protects the privacy of App Store users.

Next Steps

Here are two ways to resolve this issue:

- If you do not currently track, or decide to stop tracking, update your app privacy information in App Store Connect. You must have the Account Holder or Admin role to update app privacy information.

- If you track users, you must implement App Tracking Transparency and request permission before collecting data used to track. When you resubmit, indicate in the Review Notes where the permission request is located.

I'm not using any track data for Ad purpose. Also I added GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS, GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED as NO.

Maybe I'm wrong but with changing Analytics to AnalyticsWithoutAdIdSupport I was thinking to pass this reject. I don't want to show any alert to my users that we are collecting your data. If they will not give permission then how I save their logs and reports? Also if its because of ios 14.5 version, then why other updated applications are not requesting this.

ryanwilson commented 3 years ago

@kemalmuderrisoglu I think my previous comment still applies (https://github.com/firebase/firebase-ios-sdk/issues/8045#issuecomment-833623771):

From Apple's message, it sounds like when you filled out the privacy information (checkboxes saying what you collect / track) you checked off the boxes saying that you're tracking users. Because you did so, Apple is expecting that you request permission.

Based on your understanding that you don't track, you should update your app privacy information accordingly as per their suggestion.

kemalmuderrisoglu commented 3 years ago

@kemalmuderrisoglu I think my previous comment still applies (#8045 (comment)):

From Apple's message, it sounds like when you filled out the privacy information (checkboxes saying what you collect / track) you checked off the boxes saying that you're tracking users. Because you did so, Apple is expecting that you request permission.

Based on your understanding that you don't track, you should update your app privacy information accordingly as per their suggestion.

Thanks for your answer. I remember that because of Apple force me to select app privacy I choose the checkboxes. For example for name, I have chosen below checkboxes: image

image

image

What is your advice to change for saving this reject issue? We selected all of them because maybe for the future we need them.

Also now I checked Uber's app privacy https://apps.apple.com/us/app/uber-request-a-ride/id368677368. As you can see they are also tracking user, but when I open Uber app there is no alert to take from me tracking permission as a user. How is it possible I didn't understand.

morganchen12 commented 3 years ago

We selected all of them because maybe for the future we need them.

You'll be able to change this metadata when you submit app updates, so select only what you're using now. See this doc for what you'll need to disclose from Firebase.

kemalmuderrisoglu commented 3 years ago

After I choose No, we do not use names for tracking purpose they accepted the release. Its not depended with pod 'Firebase/AnalyticsWithoutAdIdSupport' or pod 'Firebase/Analytics'.