Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(:fire:) UIWebView in PACView.h and PACView.m files (Ad Consent) - leading to reject with ITMS-90809 #3018

Closed
2 of 10 tasks
tulpn opened this issue Dec 17, 2019 · 1 comment
Closed
2 of 10 tasks

Comments

@tulpn
Copy link

tulpn commented Dec 17, 2019

Issue

App submissions with the Firebase package get rejected with "ITMS-90809: Deprecated API Usage"
This is due to the use of UIWebView in the files: "PACView.h" and "PACView.m"

./Pods/PersonalizedAdConsent/PersonalizedAdConsent/PersonalizedAdConsent/PACView.h:@interface PACView : UIView<UIWebViewDelegate>
./Pods/PersonalizedAdConsent/PersonalizedAdConsent/PersonalizedAdConsent/PACView.m:@interface PACView () <UIWebViewDelegate>
./Pods/PersonalizedAdConsent/PersonalizedAdConsent/PersonalizedAdConsent/PACView.m:  UIWebView *_webView;
./Pods/PersonalizedAdConsent/PersonalizedAdConsent/PersonalizedAdConsent/PACView.m:    _webView = [[UIWebView alloc] initWithFrame:frame];
./Pods/PersonalizedAdConsent/PersonalizedAdConsent/PersonalizedAdConsent/PACView.m:#pragma mark UIWebViewDelegate
./Pods/PersonalizedAdConsent/PersonalizedAdConsent/PersonalizedAdConsent/PACView.m:- (void)webViewDidFinishLoad:(UIWebView *)webView {
./Pods/PersonalizedAdConsent/PersonalizedAdConsent/PersonalizedAdConsent/PACView.m:- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
./Pods/PersonalizedAdConsent/PersonalizedAdConsent/PersonalizedAdConsent/PACView.m:- (BOOL)webView:(nonnull UIWebView *)webView
./Pods/PersonalizedAdConsent/PersonalizedAdConsent/PersonalizedAdConsent/PACView.m:                navigationType:(UIWebViewNavigationType)navigationType {
Binary file ./Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics matches
Binary file ./Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.framework/GoogleMobileAds matches
./Pods/Headers/Private/PersonalizedAdConsent/PACView.h:@interface PACView : UIView<UIWebViewDelegate>
Binary file ./Pods/Fabric/upload-symbols matches

Project Files

Javascript

Click To Expand

package.json:

"dependencies": {
    "@react-native-community/async-storage": "^1.6.3",
    "@react-native-firebase/admob": "^6.0.4",
    "@react-native-firebase/analytics": "^6.1.0",
    "@react-native-firebase/app": "^6.0.4",
    "@react-native-firebase/crashlytics": "^6.0.4",
    "babel-plugin-transform-remove-console": "^6.9.4",
    "eslint-config-airbnb": "^18.0.1",
    "eslint-plugin-jsx-a11y": "^6.2.3",
    "expo-sqlite": "^7.0.0",
    "moment": "^2.24.0",
    "native-base": "^2.13.8",
    "react": "16.9.0",
    "react-native": "0.61.3",
    "react-native-bootsplash": "^1.0.3",
    "react-native-fs": "^2.16.2",
    "react-native-gesture-handler": "^1.5.1",
    "react-native-iap": "^4.3.0",
    "react-native-paper": "^3.2.1",
    "react-native-rate": "^1.1.10",
    "react-native-reanimated": "^1.4.0",
    "react-native-screens": "^1.0.0-alpha.23",
    "react-native-snap-carousel": "^3.8.4",
    "react-native-sound": "^0.11.0",
    "react-native-unimodules": "^0.7.0-rc.4",
    "react-native-vector-icons": "^6.6.0",
    "react-native-version-number": "^0.3.6",
    "react-native-web": "^0.11.7",
    "react-navigation": "^4.0.10",
    "react-navigation-drawer": "^2.3.3",
    "react-navigation-header-buttons": "^3.0.4",
    "react-navigation-material-bottom-tabs": "^2.1.5",
    "react-navigation-stack": "^1.10.3",
    "react-navigation-tabs": "^2.5.6",
    "react-redux": "^7.1.3",
    "redux": "^4.0.4",
    "redux-thunk": "^2.3.0",
    "yarn": "^1.19.1"
  },
  "devDependencies": {
    "@babel/core": "^7.7.2",
    "@babel/runtime": "^7.7.2",
    "@react-native-community/eslint-config": "^0.0.5",
    "babel-jest": "^24.9.0",
    "eslint": "^6.6.0",
    "eslint-config-standard": "^14.1.0",
    "eslint-plugin-import": "^2.18.2",
    "eslint-plugin-node": "^10.0.0",
    "eslint-plugin-promise": "^4.2.1",
    "eslint-plugin-react": "^7.16.0",
    "eslint-plugin-react-native": "^3.8.1",
    "eslint-plugin-standard": "^4.0.1",
    "jest": "^24.9.0",
    "jetifier": "^1.6.4",
    "metro-react-native-babel-preset": "^0.57.0",
    "react-native-version": "^3.2.0",
    "react-test-renderer": "16.9.0",
    "remote-redux-devtools": "^0.5.16"
  },

firebase.json for react-native-firebase v6:

# N/A

iOS

Click To Expand

ios/Podfile:

  • I'm not using Pods
  • I'm using Pods and my Podfile looks like:
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
  pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
  pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
  pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
  pod 'React', :path => '../node_modules/react-native/'
  pod 'React-Core', :path => '../node_modules/react-native/'
  pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
  pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
  pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
  pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
  pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
  pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
  pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
  pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
  pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
  pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'

  pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
  pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
  pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
  pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
  pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
  pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
  pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'

  pod 'RNSound', :path => '../node_modules/react-native-sound'

AppDelegate.m:

// N/A


Android

Click To Expand

Have you converted to AndroidX?

  • my application is an AndroidX application?
  • I am using android/gradle.settings jetifier=true for Android compatibility?
  • I am using the NPM package jetifier for react-native compatibility?

android/build.gradle:

// N/A

android/app/build.gradle:

// N/A

android/settings.gradle:

// N/A

MainApplication.java:

// N/A

AndroidManifest.xml:

<!-- N/A -->


Environment

Click To Expand

react-native info output:

 OUTPUT GOES HERE
  • Platform that you're experiencing the issue on:
    • iOS
    • Android
    • iOS but have not tested behavior on Android
    • Android but have not tested behavior on iOS
    • Both
  • react-native-firebase version you're using that has this issue:
    • e.g. 5.4.3
  • Firebase module(s) you're using that has the issue:
    • e.g. Instance ID
  • Are you using TypeScript?
    • N & VERSION

@tulpn tulpn changed the title 🔥 UIWebView in PACView.h and PACView.m files (Ad Consent) - leading to reject with ITMS-90809 (:fire:) UIWebView in PACView.h and PACView.m files (Ad Consent) - leading to reject with ITMS-90809 Dec 17, 2019
@mikehardy
Copy link
Collaborator

#2943 #2535 #2638 #3012

Upgrade your Firebase pods to one that has the required fixes. 6.13.0 is current, I'd try that

You can specify it like so https://github.com/mikehardy/rnfbdemo/blob/master/make-demo-v6.sh#L30

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants