bannaviiOS) wkWebView 뽀개기(feat. WKWebViewConfiguration)

2022. 11. 24. 15:01iOS/iOS

728x90
반응형

역할이 무엇이니

 

 

WKWebViewConfiguration

- 웹뷰를 초기화함

- @/link를 구성하는 데 사용되는 속성을 포함합니다.(번역이 이상할 수 있음...)

 

 

 

1.

open var processPool: WKProcessPool

- 뷰의 웹 콘텐츠 프로세스를 얻기 위한 프로세스풀

- 웹뷰가 초기화되면 새로운 웹 콘텐츠 프로세스가 지정된 풀에서 생성됩니다.

- 또는 that pool에 있는 기존 프로세스가 사용됩니다.

 

 

2.

open var preferences: WKPreferences

- 웹뷰에서 사용할 환경 설정

 

3.

open var userContentController: WKUserContentController

- 웹뷰와 연결할 사용자 콘텐츠 컨트롤러 입니다.

 

 

4.

@available(iOS 9.0, *)

    open var websiteDataStore: WKWebsiteDataStore

- 웹뷰에서 사용할 웹 사이트 데이터 저장소입니다.

 

5.

  open var suppressesIncrementalRendering: Bool

- 웹 뷰가 억제하는지 여부를 나타내는 부울 값
- 메모리에 완전히 로드될 때까지 컨텐츠 렌더링을 수행하며, 기본값은 NO입니다.

https://stackoverflow.com/questions/62482781/what-is-suppressesincrementalrendering-doing

 

 

6.

@available(iOS 9.0, *)

    open var applicationNameForUserAgent: String?

- 사용자 에이전트 문자열에 사용되는 응용 프로그램의 이름입니다.

 

7.

@available(iOS 9.0, *)

    open var allowsAirPlayForMediaPlayback: Bool

- AirPlay가 허용되는지 여부를 나타내는 부울 값. 디폴트 값은 YES

 

 

8.

@available(iOS 14.5, *)

    open var upgradeKnownHostsToHTTPS: Bool

- HTTPS를 지원하는 것으로 알려진 서버에 대한 HTTP 요청을 HTTPS 요청으로 자동 업그레이드할지 여부를 나타내는 부울 값. 기본값은 YES

 

 

9.

@available(iOS 10.0, *)

    open var mediaTypesRequiringUserActionForPlayback: WKAudiovisualMediaTypes

//설명 없음

 

 

 

10.

@available(iOS 13.0, *)

    @NSCopying open var defaultWebpagePreferences: WKWebpagePreferences!

- 콘텐츠를 로드하고 렌더링할 때 사용할 웹 페이지 기본 설정 집합입니다.
- 이 웹 페이지 기본 설정은 아래의 navigation delegate에 추가로 전달됩니다.
     webView:decidePolicyForNavigationAction:preferences:decisionHandler:.

 

 

 

11.

@available(iOS 14.0, *)

    open var limitsNavigationsToAppBoundDomains: Bool

//설명 없음

 

 

 

12.

open var allowsInlineMediaPlayback: Bool

- HTML5 비디오가 인라인으로 재생되는지 여부를 나타내는 부울 값, (YES) 또는 기본 전체 화면 컨트롤러(NO)를 사용합니다.
- 기본값은 NO입니다.

 

13.

open var selectionGranularity: WKSelectionGranularity

- 사용자가 상호작용할 수 있는 세분화 수준 웹뷰에서 내용을 선택합니다.
- 가능한 값은 WK selection Granularity에 설명되어 있습니다.
- 기본값은 WKSelectionGranularityDynamic입니다.

 

 

14.

@available(iOS 9.0, *)

    open var allowsPictureInPictureMediaPlayback: Bool

- HTML5 비디오가 픽처 인 픽처를 재생할지 여부를 나타내는 부울 값. 기본값은 YES

 

15.

@available(iOS 10.0, *)

    open var dataDetectorTypes: WKDataDetectorTypes

- 원하는 데이터 탐지 유형을 나타내는 열거형 값입니다.
- 기본값은 WKDataDetectorTypeNone입니다.
- 이 속성이 WKWebView에 로드된 콘텐츠에 미치는 영향의 예는 다음과 같습니다.
     '7월 4일 apple.com 방문 또는 1800555-5545로 전화하기'는 'apple.com', '7월 4일', '1800555-5545' 주변 링크가 추가되도록 변형된다.
     dataDetectorTypes 프로퍼티 값이 아래와 같이 설정됩니다.

WKDataDetectorTypePhoneNumber | WKDataDetectorTypeLink | WKDataDetectorTypeCalendarEvent.

 

 

16.

@available(iOS 10.0, *)

    open var ignoresViewportScaleLimits: Bool

- WKWebView에서 작성자의 의도에 관계없이 항상 웹 페이지 크기 조정을 허용해야 하는지 여부를 나타내는 부울 값입니다.

- 사용자 확장 가능 속성을 재정의하며 기본값은 NO입니다.

 

 

17.

@available(iOS 11.0, *)

    open func setURLSchemeHandler(_ urlSchemeHandler: WKURLSchemeHandler?, forURLScheme urlScheme: String)

- 가능한 값은 WKUser Interface Direction Policy에 설명되어 있습니다.
- 기본값은 WKUserInterfaceDirectionPolicyContent입니다.

- 지정된 URL 구성표에 대한 URL 구성표 처리기 개체를 설정합니다.

- urlSchemeHandler 등록할 개체입니다.

- scheme 객체가 처리할 URL 스키마입니다.

- 각 URL 스키마는 하나의 URL 스키마 핸들러 개체만 등록할 수 있습니다. 특정 URL 체계에 대한 개체를 두 번 이상 등록하려고 하면 예외가 발생합니다.
- URL 체계는 대소문자를 구분하지 않습니다. 예를 들어 "My protocol"과 "My protocol"은 동일합니다.
- 올바른 URL 체계는 ASCII 문자로 시작해야 하며 ASCII 문자, 숫자, '+' 문자만 포함할 수 있습니다.
'-' 문자와 '.' 문자를 사용합니다.
- 잘못된 URL 구성표에 대해 URL 구성표 핸들러를 등록하려고 하면 예외가 발생합니다.
WebKit가 내부적으로 처리하는 URL 구성표에 대해 URL 구성표 처리기를 등록하려고 하면 예외가 발생합니다.
+[WK웹 보기 핸들을 사용할 수 있습니다.URLscheme:] 지정된 URLscheme의 사용 가능 여부를 확인합니다.

 

 

18.

@available(iOS 11.0, *)

    open func urlSchemeHandler(forURLScheme urlScheme: String) -> WKURLSchemeHandler?

- 지정된 URL 구성표에 대해 현재 등록된 URL 구성표 처리기 개체를 반환합니다.
- scheme 조회할 URL 스키마입니다.

728x90
반응형