짜증나는 아이튠즈 링크

주로 사용하는 브라우저(Browser)는 구글 크롬(Google Chrome)이다. 처음에는 속도와 안정성 때문에 사용했지만 지금은 풍부한 확장 때문에 사용한다. 그런데 얼마 전부터 이상한 문제가 발생했다. 바로 아이튠즈 링크를 처리하지 못하는 현상이었다. 앱 스토어의 링크를 클릭하면 자동으로 아이튠즈를 띄우는 기능이 동작하지 않았다.

Title: Can't connect to iTunes store via Chrome [English]

주 브라우저는 크롬

최근 주로 사용하는 브라우저(Browser)는 구글 크롬(Google Chrome)이다. 처음 크롬을 만난 뒤 빠른 속도에 반해 사용하기 시작했다. 그리고 이 크롬을 보고 크롬은 구글 OS의 신호탄이라는 글도 올렸다. 크롬을 구글 OS의 신호탄으로 본 이유는 간단하다. 구글 크롬은 웹 브라우저 보다는 플랫폼이 가지고 있는 특징을 그대로 가지고 있었기 때문이다. 아무튼 요즘은 크롬 외에 다른 브라우저는 오히려 불편하다.

크롬 출시 초기에는 기능이 워낙 간단해서 빠른 속도와 안정성 때문에 사용했다. 그러나 크롬에서 확장을 지원하기 시작하면서 최근 크롬은 불여우 못지 않은 확장을 지원한다. 이 덕에 아직도 트위터(Twitter)용 최고의 클라이언트로는 크롬+pbtweet를 꼽고 있다. 여기에 크롬은 7.0으로 판올림되며 이제는 웹 어플까지 지원하기 시작했다. 물론 크롬 웹 스토어는 아직 정식 서비스를 시작하지 않았다. 따라서 사용할 수 있는 웹 어플은 확장에 불과하다. 그러나 현재 추세가 계속된다면 크롬 OS가 아니라고 해도 데스크탑 환경에서 크롬 OS를 사용하는 듯한 효과를 볼 수 있을 것 같기도 하다.


크롬 웹 어플

개발자판인 7.0부터는 새 탭 페이지에는 Apps라는 항목이 추가되어 있다. 아직까지 사용할 수 있는 어플은 크롬 웹 저장소(확장)에 불과하다. 그러나 정식으로 크롬 웹 스토어가 시작되면 이 부분에도 꽤 많은 어플이 등록될 것으로 생각된다.

iTunes 링크 오동작

정확히 얼마 전부터 발생한 문제인지는 정확하지 않다. 그런데 최근 크롬(Chrome)을 사용하며 아주 짜증나는 현상이 발생했다. 바로 아이튠즈 링크를 처리하지 못하는 현상이었다. 블로그를 자주 방문하는 사람은 알겠지만 최근에는 아이폰을 사용하며, 아이폰에서 사용할 수 있는 무료 어플에 대한 정보를 종종 올린다. 이때 가장 필요한 기능이 앱 스토어의 링크를 클릭하면 자동으로 아이튠즈를 띄우는 기능인데 이 기능이 얼마 전 부터 동작하지 않았다.

아이튠즈 링크를 클릭하면 어플 설명 화면이 나타나고 자동으로 아이튠즈가 실행된다. 물론 이 부분은 옵션에서 자동으로 띄우도록 설정했기 때문이다. 그런데 최근 아이튠즈 링크를 클릭하면 다음 그림과 같은 화면이 나타난다. 어플 아이콘 아래쪽의 'View In Itunes' 단추를 클릭해서라도 띄울 수 있으면 좋을 텐데 이 단추를 클릭하면 아이튠즈 내려받기 사이트로 이동해 버린다. 또 윗 부분의 'I Have iTunes' 단추를 클릭하면 아무런 반응이 없었다.

처음에는 아이튠즈의 문제로 알고 아이튠즈를 여러 번 반복해서 설치해 봤다. 그러나 증상은 똑 같았다. 혹시나 시스템 문제가 아닌가 싶어서 시스템 복원을 시도해 봤지만 역시 똑 같았다. 혹시나 하고 인터넷을 검색해 보니 이 문제는 다른 사람들에게도 공통적으로 발생하는 현상이었다. Launching iTunes라는 링크와 When I connect to iTunes store via 'view in iTunes button' iTunes won't launch.라는 링크를 보면 알 수 있지만 같은 문제를 격고 있는 사람이 많다는 것을 알 수 있다.

아무튼 무료 어플은 소개해야 하고 크롬(Chrome)은 동작하지 않아 Internet Explorer로 대신 작업했다. 그런데 Internet Explorer는 작업을 하기에 상상하기 힘들 정도로 느렸다. 크롬(Chrome)을 사용하기 전에는 Internet Explorer가 그렇게 느린 브라우저 인지 몰랐다. 그런데 크롬을 사용하다 Internet Explorer를 사용하니 이건 느린 정도가 아니었다. 아예 사용할 수 없는 브라우저였다. 결국 불여우 4 베타(Firefox 4 Beta)를 설치하고 지금까지 불여우로 대신 작업을 해왔다.

문제해결

그러던 중 오늘 블로그에 댓글이 달렸다. 같은 문제를 겪고 있는 분의 댓글이었다. 처음 이문제가 발생했을 때도 비슷한 고민을 하고 인터넷을 찾았지만 마땅한 방법이 없었다. 다만 이 문제윈도용 크롬과 사파리에서 발생하는 문제라는 점, 맥용 사파리에서는 이런 문제가 발생하지 않으며, 맥용 크롬에는 이 문제를 해결할 수 있는 방법이 있다는 점, 위의 그림을 보면 알 수 있지만 브라우저에서 클라이언트를 검사하기 때문에 발생하는 문제라는 점 때문에 해결할 수 있을 것으로 생각했다.

그리고 결국 해결했다. 이 해결과정을 찾는 절차도 쉽지 않았다. 먼저 클라이언트 검출 스크립트를 조사했다. 검출 루틴이 web-storefront-preview.js라는 파일에 있는 것은 알았지만 이 루틴을 실시간으로 바꾸는 방법이 마땅치 않았다. 간신히 바꿔도 계속 오동작했다. 그러나 생각난 것이 맥용 사파리에서는 정상 동작한다는 것이었다. 그래서 크롬의 --user-agent 스위치를 이용해서 사용자 에이전트를 바꿨다.

이렇게 하자 위의 그림에서 보이는 다음과 같은 메시지가 나타나지 않았다. 이 부분을 보면 무슨 이유인지 모르겠지만 애플에서 사용자 에이전트를 검사, 크롬이면 동작하지 않는 형태로 바꾼 것이 아닌가 하는 생각이 들었다. 아무튼 사용자 에이전트를 바꿨지만 문제는 'View In iTunes'를 클릭해도 아이튠즈는 실행되지 않았다. 즉, 검출 루틴은 속였지만 브라우저가 다르다 보니 스크립트가 동작하지 않는 듯했다.

We are unable to find iTunes on your computer. To download the free app Calorie counter & Diet tracker by DietOrganizer by MulberrySoft.com, get iTunes now.

이번에는 사용자 에이전트(User Agent)의 사파리(Safari)를 크롬(Chrome)으로 바꿨다. 그러나 역시 동작하지 않았다. 사파리와 마찬가지로 위와 같은 메시지는 나타나지 않았지만 스크립트가 동작하지 않았다. 그러다 다시 생각난 것이 맥용 크롬에서도 같은 증상이 발생하지만 크롬 설정 파일을 바꾸면 동작한다는 사실이 떠올랐다. 결국 사용자 에이전트를 크롬으로 바꾸고 설정 파일을 바꾼 뒤 아이튠즈 링크가 정상 동작하는 것을 확인했다.

그러나 이 방법도 조금 불편했다. 그 이유는 명령행 옵션으로 사용자 에이전트를 바꾸다 보니 일부 사이트에서 예상과 다른 동작을 했기 때문이다. 결국 이 문제는 크롬의 사용자 에이전트 확장을 설치해서 해결했다. 즉, 일반 사이트에서는 사용자 에이전트로 크롬을 사용하며, 아이튠즈 어플 설명 페이지에서만 맥용 크롬으로 동작하도록 함으로서 이 문제를 해결했다. 사설이 조금 길었다. 절차는 다음과 같다.

자세히 보기

이 글은 QAOS.com에 2009년 5월 10일에 올린 크롬에서 아이튠즈 링크가 동작하지 않는 경우를 블로그에 올리는 것이다. QAOS.com에서 가져온 모든 글은 QAOS.com저작권(불펌 금지, 링크 허용)을 따른다.

관련 글타래