본문 바로가기

프로그래밍/이것저것 일하면서

아이폰의 모든 브라우저는 사파리다

반응형
const isIosApp = window.webkit && window.webkit.messageHandlers;

 

나는 웹 기반으로 제작된 하이브리드 앱을 유지보수 하고 있다.
iOS앱 내부에서 접속되었는지 위와 같은 Javascript 코드를 사용하여 판별했는데, 아이폰의 Chrome 브라우저에서 true가 리턴되는 것을 확인했다. 조금 서칭 해보니, 애플의 정책에 의해 앱스토어에 올라가는 앱들은 웹콘텐츠 로딩을 위해 WebKit 엔진을 사용한다는 내용을 찾을 수 있었다.

However, there's one major thing that makes Chrome on iOS very different from all other Chrome platform implementations.

Chrome on iOS doesn't use Blink.

Because of Apple's App Store rules, Chrome on iOS has to use the iOS platform APIs for fetching and rendering web content. So Chrome on iOS uses WebKit, Nitro and CFNetwork where other Chrome platforms are using Blink, V8 and //net. Due to this, and the limited API available for iOS apps to interact with web page content, many Chrome features that use the //content APIs are implemented in Chrome on iOS using JavaScript injection.

 

 

해외 자료를 찾다 보니 이런 애플의 횡포에 성토하는 글을 어렵지 않게 찾을 수 있었다.
iOS에서는 뭐든 다 WebKit이라는 ㅋㅋㅋㅋㅋ

Chrome is the new Safari. And so are Edge and Firefox.

https://www.bram.us/2021/09/13/chrome-is-the-new-safari-and-so-are-edge-and-firefox/

 

Chrome is the new Safari. And so are Edge and Firefox.

Niels Leenheer also shares his views on the whole “all browsers on iOS are WebKit because Apple says it needs to be”-thing: Apple requires browsers to use WebKit. In fact, it must use the system-provided WebKit framework. Even though WebKit is open-sou

www.bram.us

 

 

 

원문 링크를 첨부한다.

Getting started with Chrome on iOS

https://developer.chrome.com/blog/chromium-chronicle-28/

반응형

개발자가 그리는 인스타툰 팔로우하세요!