[IOS] javaScriptEnabled WKWebpagePreferences.allowsContentJavaScript

‘javaScriptEnabled’가 iOS 14.0부터 사용이 중단되었으며, ‘WKWebpagePreferences.allowsContentJavaScript’를 사용하여 내용 JavaScript를 네비게이션별로 비활성화하는 것을 권장합니다. 이 경고를 처리하는 방법은 다음과 같습니다:

  1. WKWebView 설정 변경: ‘javaScriptEnabled’ 대신 ‘WKWebpagePreferences’의 ‘allowsContentJavaScript’ 속성을 사용하여 WKWebView의 설정을 변경해야 합니다. 아래는 Objective-C와 Swift에서의 예시입니다:

Objective-C:

`WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
WKWebpagePreferences *preferences = [[WKWebpagePreferences alloc] init];
preferences.allowsContentJavaScript = NO;
configuration.defaultWebpagePreferences = preferences;
// WKWebView 생성 및 설정 사용` 

Swift:

let configuration = WKWebViewConfiguration()
let preferences = WKWebpagePreferences()
preferences.allowsContentJavaScript = false
configuration.defaultWebpagePreferences = preferences
// WKWebView 생성 및 설정 사용` 
  1. 경고 무시 설정: 경고를 무시하는 방법은 두 가지입니다. 첫째로, 경고를 무시하는 컴파일러 지시문을 추가할 수 있습니다. Objective-C에서는 #pragma 지시문을 사용하고, Swift에서는 @available 속성을 사용하여 경고를 무시합니다. 다음은 예시입니다:

Objective-C:


`#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
// 'javaScriptEnabled' 사용
#pragma clang diagnostic pop` 

Swift:

@available(iOS, deprecated: 14.0, message: "'javaScriptEnabled' was deprecated. Use 'WKWebpagePreferences.allowsContentJavaScript' instead.")
func deprecatedJavaScriptEnabledFunction() {
    // 'javaScriptEnabled' 사용
}

경고를 무시하는 두 번째 방법은 Xcode 프로젝트의 “Build Settings”에서 “Deprecated Functions” 경고를 비활성화하는 것입니다. 이렇게 하면 전체 프로젝트에 대해 해당 경고가 표시되지 않습니다.

이러한 방법 중 하나를 사용하여 경고를 처리할 수 있습니다. 그러나 가능하면 새로운 권장 방식에 따라 코드를 업데이트하는 것이 좋습니다. 이는 iOS 14.0부터 도입된 변경 사항에 대한 호환성과 장기적인 지원을 보장하기 위한 것입니다.