LHJ

I'm a FE developer.

iPadOS 13에서 userAgent가 Mac으로 넘어오는 이슈

04 Aug 2020 » project

iPadOS 13에서 userAgent가 Mac으로 넘어오는 이슈 (2019. 9. 27 등록)

보통 iOS, iPad 구분할 때 아래와 같이 구분한다.

navigator.userAgent.match(/iPhone|iPad|iPod/i) == null ? false : true;

그런데 iPadOS13으로 올라오면서 갑자기 userAgent가 아래처럼 바뀌었다.
Mozilla/5.0 (Macintosh; Intel Mac OS X 10 15) AppleWebkit/605.1.15 (KHTML, like Gecko)

현재 iPadPro에서 userAgent가 Mac으로 인식되는 현상이 있다.
iPad가 아닌 Mac PC로 인식된다고 보면 된다.

포럼에서도 난리가 났다.

아니 그러면 모든 iPad(iOS 13이상)에선 PC화면으로 노출된다는 소린가..?

애플에서 이렇게 업데이트한 의도

해당글을 보면 iOS 13은 데스크탑급 브라우징 기능을 iPad에서 제공하겠다고 소개하고있습니다.
빠른 속도의 성능, 업계 최고의 보안 및 최신 데스크탑 기능을 갖춘 Safari on iPad를 경험해보라고 소개하고 있습니다.
때문에 iPadOS13 버전 이상에서 iPad를 PC로 인식하는 것은 ‘의도’된 업데이트인 것 같습니다.
하지만, iPad용 칩을 사용하면서 userAgent에선 Mac OS로 뜨게하는 것은 엄연히 사기라고하는 블로그 포스팅도 있습니다.

임시 해결방법 1. 사용자가 직접 설정변경

  1. iPad내에서 설정
  2. 사파리
  3. 데스크탑 웹사이트 요청
  4. 모든 웹사이트~~~ OFF

하지만 위 방법은 단점이 있다.

  1. 위의 방식은 올바르게 동작하지 않는다.
  2. 위의 방식은 safari내에서만 적용될 수 있는 방법이다.

하지만, 모든 유저에게 적용할 수 있는 것은 아니니,… 어찌되었건 웹에서 처리는 되어야할 것 같다.

해결방안 (추천) 두가지 방법 및 참고자료

  1. WKWebview 라이브러리 사용시 방법
  2. 라이브러리 미사용시 방법
  3. 애플의 iPadOS 13을 Mac으로 읽히게한 패치를 비판하는글?