SFSafariViewController is an implementation of the browser-view pattern, providing a secure browser-view displayed in the context of the application.

SFSafariViewController was added in iOS 9

SFSafariViewController class has all the properties of the system browser, and is an 'external User-Agent', even though it is presented within the host application.

Regardless of whether the user completes the request in the system browser (as is their choice), or the SFSafariViewController, the return of the token via Private-Use URI Scheme Redirection or Claimed Https Scheme URI Redirection the link is the same.

Why SFSafariViewController vs WebView SFSafariViewController was developed to stop developers from creating fragmentation by developing custom mini-browsers to run in-app browser content on iOS, Apple has introduced the Safari View Controller in iOS9 (September 2015), which is a “sandboxed” version of Safari. It gives the developer a standardized environment in which to present content, while offering the user a consistent experience and several convenient security helpers that allow users, for example, to log in to a View Controller and stay logged in when visiting a related site in mobile Safari by means of shared cookies and shared login credentials.

More Information#

There might be more information for this subject on one of the following: