Swift Testing을 사용해보기 위해서 일단 외부 API 네트워킹을 담당하는 코드를 작성했다.
네트워킹 담당 모듈로 작성하여 요청모델을 주면 응답모델만을 반환하도록 하여 재사용이 가능하도록 작성했다.
패키지로 분리했고 원격에 올릴 필요는 없어서 로컬패키지로 개발하였다.
테스트코드를 사용해보고 느낀점은 앱을 전체빌드하지 않아도 패키지를 mac으로 실행하거나 터미널에서 $ swift test 실행하면 응답값이 정확히 받았는지 확인할 수 있어서 굉장히 빨리 테스트할 수 있다.
미디엄블로그에 @whitelips 분이 작성한 웹뷰 관련 글들이 잘 정리되있어서 해당 글들을 봤다.
웹뷰(WebView)란 네이티브 앱에 내재되어 있는 웹 브라우저입니다.
iOS에서는 웹뷰 구현방식으로 UIWebView, WKWebView, SFSafariViewController 3가지 방식이 있는데 UIWebView는 iOS 12이상에서 사용이 불가하고, SFSafariViewController는 Safari 브라우저를 통해 웹 콘텐츠를 표시할 수 있고, WKWebView를 보통 사용한다.
WKWebView의 쿠키관리, 타임아웃, 멀티프로세스 구조 원리, 강한 참조등 WebKit 오픈소스 코드를 기반으로 설명하셔서 도움이 많이 된다. 추천
iOS18 이후부터 UIApplication.shared.open 메서드가 호출되지 않는 이슈가 있다. 호출되지 않는 시점 콘솔을 확인해보면 BUG IN CLIENT OF UIKIT: The caller of UIApplication.openURL(:) needs to migrate to the non-deprecated UIApplication.open(:options:completionHandler:). Force returning false (NO).
라는 에러가 발생한다.
애플 개발자포럼에도 논의 중인 것 같다.
🅾️ : UIApplication.shared.open(urlString, options: [:], completionHandler: nil)
❎ : UIApplication.shared.open(urlString)
이제, open 할 때 파라미터를 주의해야한다.