UIWebView가 포함된 빌드를 올리면 앱스토어에서 오류가 발생합니다

오랜만에 아이폰 빌드를 앱스토어에 올렸는데

 

애플에게서 다음과 같은 경고 메일을 받았습니다.

 

ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information.

 

아직은 단순 경고라서 빌드를 계속 사용할수 있지만, 조만간에는 리젝을 하지 않을까 싶습니다.

 

 

UIWebViewIn apps that run in iOS 8 and later, use the WKWebView class instead of using UIWebView. Additionally, consider setting the WKPreferences property javaScriptEnabled to false if you render files that are not supposed to run JavaScript.

 

물론 UIWebView를 걷어내고 WKWebView로 바꾸면 오류가 발생하지 않습니다.

 

그런데 문제는 서드파티 라이브러리인데요

 

제가 올린 앱에도 uiwebview를 전혀사용하고 있지 않았음에도 저 메세지가 나오고 있어서

 

누가 문제인지 찾아보았습니다

 

프로젝트 폴더에서

 

# grep -r "UIWebView" .

 

로 찾아보니 firebase하고 facebook account kit이 uiwebview를 사용하고 있더라고요

 

 

 

다행히 facebook sdk는

 

5.5.0 버전의 change log를 보니 UIWebView를 WKWebView로 바꾸었다고 나오네요

 

 

firebase도 6.8.0 버전에서 UIWebView를 제거했다고 하네요

 

 

제 프로젝트의 라이브러리들이 옛날버전인것이 문제였군요.

 

자 이제 서드파티 라이브러리를 업데이트 해주시면 됩니다.

 

 

# pod repo update

# pod update

 

이 과정을 통해 최신의 라이브러리를 받긴 했습니다만

 

여전히 facebook accountkit이 uiwebview를 사용하고 있길래 왜그렇지 하고 살펴보니

 

페이스북이 uiwebview를 교체한 5.5.0 버전을 출시하긴 했는데 cocoapod에는 업데이트를 하지 않아서 그렇더라고요.

 

facebook sdk를 최신버전을 받아서 직접 넣거나, 페이스북이 업데이트 해주기를 기다려야겠네요.

 

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ··· | 1798 |