Skip to content

Instantly share code, notes, and snippets.

@KentarouKanno
Last active August 6, 2019 05:31
Show Gist options
  • Save KentarouKanno/5e91a4e395c389faee08 to your computer and use it in GitHub Desktop.
Save KentarouKanno/5e91a4e395c389faee08 to your computer and use it in GitHub Desktop.
UIWebViewDelegate

UIWebViewDelegate

★ 画面遷移する前に呼ばれる

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
    
    if request.url?.absoluteString == "XXXXXX" {
        // 特定のURLだった場合は遷移させない
        return false
    }
    
    // true: 画面遷移する false 画面遷移しない
    return true
}

★ ページを読み込み開始後に呼ばれる

func webViewDidStartLoad(_ webView: UIWebView) {
    
    // ステータスバーのインジケーターを表示する
    UIApplication.shared.isNetworkActivityIndicatorVisible = true
}

★ ページ読み込み完了時に呼ばれる

func webViewDidFinishLoad(_ webView: UIWebView) {
    
    // ステータスバーのインジケーターを消す
    UIApplication.shared.isNetworkActivityIndicatorVisible = false
}

★ ページを読み込み時にエラーが起きた時に呼ばれる

func webView(webView: UIWebView, didFailLoadWithError error: NSError) {

    if (error.code == NSURLErrorTimedOut) {
        // タイムアウトエラーの場合の処理
    }
}

★ エラーコード一覧(NSURLErrorDomain)

NSURLErrorUnknown = -1
NSURLErrorCancelled = -999
NSURLErrorBadURL = -1000
NSURLErrorTimedOut = -1001
NSURLErrorUnsupportedURL = -1002
NSURLErrorCannotFindHost = -1003
NSURLErrorCannotConnectToHost = -1004
NSURLErrorDataLengthExceedsMaximum = -1103
NSURLErrorNetworkConnectionLost = -1005
NSURLErrorDNSLookupFailed = -1006
NSURLErrorHTTPTooManyRedirects = -1007
NSURLErrorResourceUnavailable = -1008
NSURLErrorNotConnectedToInternet = -1009
NSURLErrorRedirectToNonExistentLocation = -1010
NSURLErrorBadServerResponse = -1011
NSURLErrorUserCancelledAuthentication = -1012
NSURLErrorUserAuthenticationRequired = -1013
NSURLErrorZeroByteResource = -1014
NSURLErrorCannotDecodeRawData = -1015
NSURLErrorCannotDecodeContentData = -1016
NSURLErrorCannotParseResponse = -1017
NSURLErrorInternationalRoamingOff = -1018
NSURLErrorCallIsActive = -1019
NSURLErrorDataNotAllowed = -1020
NSURLErrorRequestBodyStreamExhausted = -1021
NSURLErrorAppTransportSecurityRequiresSecureConnection = -1022
NSURLErrorFileDoesNotExist = -1100
NSURLErrorFileIsDirectory = -1101
NSURLErrorNoPermissionsToReadFile = -1102
NSURLErrorDataLengthExceedsMaximum = -1103
NSURLErrorFileOutsideSafeArea = -1104

// SSL errors
NSURLErrorSecureConnectionFailed  = -1200
NSURLErrorServerCertificateHasBadDate  = -1201
NSURLErrorServerCertificateUntrusted  = -1202
NSURLErrorServerCertificateHasUnknownRoot  = -1203
NSURLErrorServerCertificateNotYetValid  = -1204
NSURLErrorClientCertificateRejected  = -1205
NSURLErrorClientCertificateRequired  = -1206
NSURLErrorCannotLoadFromNetwork  = -2000

// Download and file I/O errors
NSURLErrorCannotCreateFile  = -3000,
NSURLErrorCannotOpenFile  = -3001
NSURLErrorCannotCloseFile  = -3002
NSURLErrorCannotWriteToFile  = -3003
NSURLErrorCannotRemoveFile  = -3004
NSURLErrorCannotMoveFile  = -3005
NSURLErrorDownloadDecodingFailedMidStream  = -3006
NSURLErrorDownloadDecodingFailedToComplete  = -3007
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment