Removing UIWebView references from React Native SDK 3.8.0

The React Native SDK contains references to UIWebView. All references in the underlying native iOS SDK have been converted to WKWebView, and these reference was inadvertently omitted.

This is an issue because Apple has announced that publishing apps which refer to UIWebView classes will be prohibited after December 2020.

In order to work around this, uninstall the DisplayWeb plugin - we will update it in the next release.

Then edit the file MCEWebViewActionDelegate.h which lives in React-Native-3.8.0/plugins/react-native-acoustic-mobile-push/AcousticMobilePush.framework/Headers/MCEWebViewActionDelegate.h and remove the references to UIWebView. You will be left with:

/*
 * Copyright © 2014, 2019 Acoustic, L.P. All rights reserved.
 *
 * NOTICE: This file contains material that is confidential and proprietary to
 * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
 * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
 * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
 * prohibited.
 */

@class MCEInboxMessage;
@interface MCEWebViewActionDelegate : NSObject
  
/** This method returns the singleton object of this class. */
@property(class, nonatomic, readonly) MCEWebViewActionDelegate * sharedInstance NS_SWIFT_NAME(shared);

/** The actions that should be responded to. In the format of actionid -> { action dictionary }. */
@property NSDictionary * actions;

/** Source to be reported in event reporting. */
@property NSString * eventSource;

/** Additional attributes to be included in event reporting. */
@property NSDictionary * eventAttributes;

/** Payload of message to be included in event reporting. */
@property NSDictionary * eventPayload;

/** Convenience method for setting properties for inbox messages */
-(void)configureForSource:(NSString*)source inboxMessage:(MCEInboxMessage*)inboxMessage actions:(NSDictionary*)actions;

/** Convenience method for setting properties */
-(void)configureForSource:(NSString*)source attributes:(NSDictionary*)attributes attribution: (NSString*)attribution actions:(NSDictionary*)actions;

/** Convenience method for setting properties */
-(void)configureForSource:(NSString*)source attributes:(NSDictionary*)attributes attribution: (NSString*)attribution mailingId: (NSString*)mailingId actions:(NSDictionary*)actions;

@end

These actions will eliminate the references to UIWebView.


Did this page help you?