AI가 개발자를 대체한다? 현업에서 보면 전혀 다른 이야기

 요즘 AI 관련 광고를 보면 공통된 메시지가 있다. “이제 개발자 필요 없다” “AI가 대신 다 만들어준다” 처음 보면 맞는 말처럼 들린다. 코드도 만들어주고, 수정도 해주고, 심지어 앱도 만든다고 한다. 그런데 실제 개발 현장에서 보면 이야기가 완전히 다르다. AI는 분명히 빠르다. 간단한 기능이나 화면 정도는 금방 만들어준다. 검색보다 빠르고, 기본 코드 작성도 훨씬 편해졌다. 문제는 그 다음이다. 실제 서비스는 단순히 “코드가 돌아간다”로 끝나지 않는다. 로그인, 결제, 데이터 처리, 오류 대응까지 들어가는 순간 상황이 완전히 달라진다. 예를 들어 이런 경우가 있다. 기능은 정상적으로 동작하는데 특정 상황에서만 데이터가 저장되지 않는다. 또는 결제는 됐는데 DB에는 기록이 안 남는다. 이런 문제는 AI가 해결해주지 않는다. 오히려 원인을 찾는데 더 시간이 걸리는 경우도 많다. 그리고 더 중요한 건 따로 있다. 고객은 “코드”를 원하는 게 아니다. “문제가 없는 서비스”를 원한다. AI는 코드를 만들어준다. 하지만 구조를 설계하고, 예외를 고려하고, 문제가 생겼을 때 책임지는 건 사람이 해야 한다. 그래서 현업에서는 이렇게 말한다. AI는 도구다. 좋은 도구인 건 맞지만, 개발자를 대체하는 수준은 아니다. 오히려 반대다. AI 덕분에 개발 속도는 빨라졌지만 검수와 안정성의 중요성은 더 커졌다. 결국 개발자의 역할은 사라지는 게 아니라 조금씩 바뀌고 있다. 코드를 직접 다 치는 사람이 아니라 전체를 이해하고 문제를 해결하는 사람이 더 중요해지는 방향이다. 정리하면 이렇다. AI는 코드를 만들어준다. 하지만 서비스를 완성하는 건 여전히 사람이다.

iOS WebView 네이버 로그인 후 화면 깨짐 해결 (SafeArea 무시 / 상태바 사라짐)

iOS WebView 기반으로 앱을 만들면서 네이버 로그인을 붙였는데, 이상한 버그를 하나 만났다.


로그인까지는 문제없이 잘 된다.

그런데 로그인 이후부터 앱 화면이 전부 이상하게 깨지기 시작한다.


상단 상태바가 사라지고, SafeArea가 완전히 무시되면서

모든 화면이 풀스크린처럼 표시된다.

기존에는 정상적으로 보이던 페이지들도 전부 영향을 받는다.


처음에는 웹 쪽 문제라고 생각했다.

CSS나 viewport 설정이 잘못된 줄 알고 이것저것 수정해봤는데 전혀 해결되지 않았다.


이상하게도 이 문제는 항상 발생하는 게 아니라

네이버 로그인 화면을 한 번 거쳤다가 돌아온 이후부터 발생했다.


이 시점에서 웹 문제가 아니라 iOS 쪽 문제일 가능성이 높다고 판단했다.


결론적으로 원인은 WebView의 SafeArea 처리와 네이버 로그인 과정에서의 화면 전환이 충돌하면서 발생한 문제였다.


네이버 로그인은 내부적으로 SafariViewController나 외부 웹뷰 형태로 화면이 전환되는데,

이 과정에서 iOS가 SafeArea를 다시 계산하지 않거나 WebView가 풀스크린 상태로 고정되는 경우가 있다.


특히 SwiftUI에서 아래와 같은 설정이 들어가 있으면 문제가 더 확실하게 나타난다.


.ignoresSafeArea()


이 설정이 있는 상태에서 로그인 화면을 거치고 돌아오면

WebView가 계속 전체 화면을 덮어버리는 상태가 된다.


해결 방법은 생각보다 단순했다.


우선 .ignoresSafeArea() 설정을 제거하거나 꼭 필요한 영역에서만 제한적으로 사용하도록 수정했다.

이것만으로도 대부분의 경우 문제가 해결된다.


그리고 WebView를 감싸는 구조도 한 번 점검해봤다.

불필요하게 전체 화면을 덮는 구조 대신, SafeArea 기준으로 자연스럽게 렌더링되도록 단순하게 구성했다.


예를 들어 이런 식으로 정리했다.


VStack {

    WebView(urlString: "https://example.com")

}


그래도 로그인 이후 화면이 깨지는 경우가 있다면

WebView를 한 번 다시 로드해주는 것도 도움이 된다.


webView.reload()


나는 이 문제를 해결하기까지 꽤 삽질을 많이 했다.


CSS 문제라고 생각해서 viewport를 계속 수정해보기도 했고,

meta 태그를 바꿔보기도 하고,

웹 쪽 SafeArea 대응도 해보고,

네이버 SDK 문제까지 의심해봤지만 전부 아니었다.


결국 원인은 웹이 아니라 iOS WebView의 렌더링 문제였다.


혹시 iOS WebView에서 네이버 로그인을 붙였는데

로그인 이후 화면이 풀스크린처럼 깨지거나 상태바가 사라진다면

SafeArea 처리와 WebView 구조를 먼저 의심해보는 게 좋다.


특히 SwiftUI를 사용하고 있다면

.ignoresSafeArea() 설정이 들어가 있는지 꼭 확인해보자.


나처럼 몇 시간 날리는 일은 줄일 수 있을 거다

댓글