ITMS-90809: Apple App Store UIWebView references in Data Abstract framework

I am being flagged on upload of an app .ipa to the App Store that my app is using UIWebView, which is forcibly deprecated and no longer permitted in iOS apps.

Searching my code, I have found and removed all references but there ARE references in the frameworks I am using, notably DataAbstract.

A sample of such a prohibited class is provided.


//

// AboutViewController.m

// AppSales

//

// Created by Ole Zorn on 02.08.11.

// Copyright 2011 omz:software. All rights reserved.

//

#import "AboutViewController.h"

**@implementation** AboutViewController

**@synthesize** webView;

- (**id**)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

**self** = [**super** initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

**if** (**self**) {

**self**.title = NSLocalizedString(@"About", **nil**);

}

**return** **self** ;

}

- (**void**)loadView

{

**self**.webView = [[[UIWebView alloc] initWithFrame:CGRectZero] autorelease];

webView.scalesPageToFit = **YES**;

webView.dataDetectorTypes = UIDataDetectorTypeNone;

webView.delegate = **self**;

**self**.view = webView;

**self**.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:**self** action:**@selector**(done:)] autorelease];

}

The fix is for you to globally (all files, NOT JUST THIS ONE FILE) change all UIWebView to the replacement class name WKWebView. This notice was given to all apple developers in 2020, by the way, so you might want to hop on this pronto as its making it impossible for me to submit to the App Store with your current code.

Currently any submissions to apple’s store will not upload and show as builds, and emails are generated with this error.

\ 20x1 App Store Connect\ 173x45

Dear Developer,

We identified one or more issues with a recent delivery for your app, “xxxxx” 3.0 (8). Please correct the following issues, then upload again.

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (Apple Developer Documentation).

Best regards,

The App Store Team

Let me see…

Hmm. I find no reference to UiWebView in Data Abstract and Remoting SDK source (and frankly would have been surprised to)

I listed one (the aboutview controller AboutViewController.m ) based on a grep of the sources, however I do not see it being linked into the framework.

Is that about view controller linked into the framework binaries?

Even grep -R on the .fx binaries is finding UIWebView symbols.

If you can’t find the references in your own source code I will alter the framework myself to remove them.

ALso note that NIBs can contain web views, which are now prohibited on iOS.

YOu can try submitting a data abstract demo app to the store, and if this flag email does not happen, then it’s no longer flagging your binary symbol table content.

Opening the framework projects I get this warning/error showing that a conversion to ARC is needed.

The following framework changes show as necessary

Searching from within the XCode search I am NOT finding any UIWebView reference directly, however I believe there is one being sucked in via that AboutViewController.

NOTE:
After making the above recommended updates and rebuilding the framework I am no longer being flagged by Apple.

AboutViewController.m isn’t our file though? I only can find a single file named AboutViewController.m on my entire system, and it’s from an entirely different project and not part of Remoting SDK/Data Abstract.

Full text search across both the rofx-xcode git repository and across the .dmg we ship with the binary does not find a single reference to UIWebView, for me.

RO/DA doesn’t contain any NIBs, though? it’s all non-visual code, after all…


This one I’m aware of. I’m not sure why Xcode thinks the project sues Garbage Collection — it does not. It just uses pre-ARC manual retain/releases — which is fine and supported and, frankly, would be much to scary to change. The message is wrong, and you should not let Xcode convert the project to ARC, as that’'d most likely break things.

This has nothing to do with whatever pulls in UIWebView for you, though.