기존 프로젝트의 2차 스프린트에 디벨롭을 하면서 watchOS 앱을 만들기로 했고, 내가 총괄해서 진행하게 되었다. 혼자 xcode로 간단한 테스트 프로젝트를 만들어서 시뮬레이터로 확인하고, 실제 기기로 빌드를 하려고 했다. 이때 개발자 모드를 켜야 한다고 한다.
 

응? 없는데요?

 
개발자 모드를 켜기 위해서는 실제 워치 기기의 ‘설정 > 개인정보 보호 및 보안 > 개발자 모드’에서 켜야 한다고 친절하게 안내되어있다. 그런데 아무리 눈을 씻고 찾아봐도 개발자 모드가 전혀 보이지 않았다. 맨 밑에는 리포트밖에 없는데요..!
 
그렇게 기나긴 디버깅의 여정이 시작되었다.

이 당연한 게 어째서 없는거냐고~!

 
이게 처음에는 간단할 줄 알았지만 정작 실제로 해보니 원인도 불명확하고, 해결도 어정쩡하게 되었다. 사람마다 해결한 방법도 천차만별이라, 운이 나쁠 경우 많은 노력이 필요한 과정인 것으로 보인다.
빠른 해결을 위해 주변에도 엄청 물어보고 집요하게 매달려보고.. 구글링도 있는 자료를 죄다 끌어모아서 뒤진 끝에 다행히도 무사히 해결할 수 있었다! 애플 워치에서 흔하게 발생하는 문제인 것으로 보여서, 나와 같은 사람에게 조금이나마 도움이 되기 위해 적어본다.
 
해결 방법은 하단에 작성해두겠다.
내가 시도한 방법들 중에서 어느 방식이 효과가 있을지 모르니, 전부 해보고 맞는 방법을 찾기를..!
어떻게 알았냐고요? 저도 알고 싶지 않았어요
 
 


 

구글링으로 찾은 방법

 
구글링으로 찾았을 때 효용이 있어보였던 방식을 먼저 작성해보았다. 아무래도 이 방법들이 가장 성공 확률이 높을 것 같다. 가장 먼저 시도해보기를 추천한다.

  • 워치와 아이폰의 전원을 될 때까지 껐다 켜기, 워치와 이이폰의 페어링을 될 때까지 해제하기
  • 아이폰의 개발자모드 껐다 켜기
  • Xcode에서 개발자 계정을 로그아웃하고 다시 로그인하기 -> Apple Developer Program의 새로운 약관 동의
  • ios에 워치 타겟이 추가된 앱을 아이폰에 빌드 → 아이폰의 Watch 앱에서 기존에 타겟팅한 워치앱을 수동으로 설치 → 개발자 모드 얼럿 뜨면 확인 눌러서 활성화
이 방법으로 효과를 본 사람이 많았다!

 

 


주변에서 추천받은 방법

비슷한 문제를 겪은 주변 사람들에게 해결 방안들을 물어물어 모아보았다. 구글링했을 때와 달리 이 사람들은 해결한 방법이 거의 유사해서, 이 방법대로 하면 해결되지 않을까?하는 희망을 주었다. 하지만 어림도 없지 하나도 안통함

  • 워치와 아이폰의 전원을 될 때까지 껐다 켜기, 워치와 이이폰의 페어링을 될 때까지 해제하기
  • 워치와 아이폰 모두 소프트웨어 최신 버전으로 업데이트
  • 유선으로 맥북과 애플워치를 연결하고 페어링 연결과 해제, 전원 꼈다 켜기 반복
    -> 이 방법으로 성공했다는 분들이 4명 이상이었다! 하지만 나에겐 통하지 않았다
  • xcode에서 등록된 기기를 모두 등록 해제하기, xcode 캐시 삭제, 아이폰과 워치에 빌드한 앱 모두 삭제 및 연결 해제 → 전부 재등록 반복

 


 

실제로 해결한 방법

나는 위의 모든 방법을 시도했으나 전혀 소용이 없었다. 그래서 구글링으로 찾은 유선 연결 방식과, 내 나름대로 만지다 나온 방법이 합쳐져서 새로운 방식으로 해결한 사례가 되었다. 위와 같은 방법이 모두 효과가 없었다면 이 방법을 시도해보기를 추천한다.
 

준비물

  • 유선 연결 잭, watch target이 설정된 xcode 프로젝트, 아이폰과 페어링된 애플 워치
  • 동일한 wifi 네트워크인지 확인, 아이폰과 애플워치 모두 최신 소프트웨어로 업데이트

해결 과정

  1. 워치의 페어링 해제와 등록, 전원 껐다켜기 무한 반복 → 아무런 해결이 안됨 (하지만 영향이 있었을 수도 있다)

  2. 워치로 타겟 설정된 iOS 앱을 아이폰에 빌드 후 아이폰의 Watch 앱에서 수동 설치하면 워치에서 개발자 모드가 뜬다는 다수의 사례 확인
    → but, xcode로 빌드한 앱들만 ‘지금은 설치가 불가능하다’는 얼럿이 뜨면서 설치 안됨
    → 비단 내 프로젝트만의 문제가 아니라, 애플 공식 샘플 프로젝트와 Paul Haudson 선생님 것도 다 안된다.
    → 아무래도 개발자 모드가 안켜져있어서 자체적으로 차단하는듯. 개발자 모드를 해결하지 않으면 아무것도 안될 것 같다. 다른 방법을 시도해보자!

  3. 유선 연결을 시도해본다.
    → xcode를 켠 상태에서 유선(c to c)으로 맥북과 아이폰을 연결한다.
    → 아이폰에서 ‘이 기기를 신뢰하시겠습니까?’라는 얼럿이 뜨면 ‘신뢰’를 누른다.
    → 워치가 페어링된 상태라면 역시 ‘이 기기 신뢰’ 얼럿이 뜬다. 워치에서도 ‘이 기기를 신뢰하시겠습니까?’에서 신뢰하기를 누른다.
  4. xcode 들여다보기
    → xcode의 Manage Build Settings에서 빌드 가능한 기기 목록에 들어가면 내 애플 워치가 목록에 생성된다.
    → 해당 항목을 눌러 연결을 시도하면 잠시 ‘Waiting for reconnecting…’이 뜨다가 에러 메세지가 뜬다.
    → 처음에는 워치와 연결이 잘 안된다고 뜰 수 있다. 네트워크 문제이거나 워치를 잘 못찾는 경우일 수 있다.
        1) wifi 연결이 약할 경우 연결된 네트워크를 확인하고 비행기모드한 후 해제하고 wifi 재연결하는 방법을 시도한다.
        2) 네트워크는 잘되는데 워치를 못찾는 경우, 워치를 껐다 켜거나 페어링 해제-연결을 될 때까지 반복한다.

    → 워치를 무사히 찾고 나면 ‘개발자 모드가 비활성화되어있으니, ‘개인정보 보호 및 보안’에서 개발자 모드를 켜라는 에러메세지가 나타난다. 이때 워치를 확인해보면, 역시나 개발자 모드가 없어서 켤 수가 없다. 침착하게 다른 방법을 찾아본다.

  5. xcode의 scheme을 워치 프로젝트로 변경하고, 해당 프로젝트를 run 해본다.
    → 앱을 빌드하는 과정에서 개발자 모드가 없어서 빌드할 수 없다고 뜬다. 그러나 이때 개발자 모드를 켜는 버튼이 xcode에 나타난다.
        1) 이 버튼을 누르면 watch에서도 ‘개발자 모드 켜기’ 창이 뜬다.
        2) 유사한 창에서 확인을 두 번 정도 누르니 개발자 모드가 켜지고, 워치를 재시동하라고 안내한다.
        3) 재시동 버튼을 눌러 워치를 다시 켠 후, 개발자 모드를 정말 킬 생각인지 다시 한 번 확인하는 창이 뜬다.
        4) 확인 버튼을 누르면 최종적으로 개발자 모드가 켜진다.

 

개발자 모드가 나타났다. 드디어 성공!

 
 


 

참고자료

watchOS 샘플 프로젝트

안정적인 프로젝트를 활용하면 디버깅할 때 다른 변수 없이 문제점만 파악하기 좋다.
(SwiftUI 프로젝트이므로 참고!)
 
애플에서 제공하는 watchOS sample app 
https://developer.apple.com/tutorials/swiftui/creating-a-watchos-app/

Creating a watchOS app | Apple Developer Documentation

This tutorial gives you a chance to apply much of what you’ve already learned about SwiftUI, and — with little effort — migrate the Landmarks app to watchOS.

developer.apple.com

 
Paul Hudson 선생님의 강의 (상세정보 카드의 프로젝트 링크를 통해 코드 확인 가능)
https://www.youtube.com/watch?v=Y8A_Wkcx83Q
 

 

 


확인해보면 좋은 해결 방안들

아래 링크에서 위에 언급된 해결 방안들과 더 다양한 경험들을 발견할 수 있다.
적극적으로 참고해볼 것!

https://forums.developer.apple.com/forums/thread/718634?page=2

Apple Watch Missing Developer Mode… | Apple Developer Forums

Im really getting annoyed, ive tried basically every sequence in this thread. Pairing and unpairing the watch and phone, restarting, resetting the watch and setting it up as a new watch but nothing works and I cannot continue working on a pretty important

forums.developer.apple.com

https://medium.com/@jakir/enable-developer-mode-on-apple-watch-942caa3e740d

Enable Developer Mode on Apple Watch

I was trying to add watchOS Target to my existing project. Everything was fine and I can run the app on Watch Simulator. But I couldn’t run…

medium.com

https://forums.developer.apple.com/forums/thread/719269

How to enable developer mode on Ap… | Apple Developer Forums

I'm having the same issue. building a stand alone watch app but not able to find the "Developer Mode" in the watch settings. Any updates?

forums.developer.apple.com

https://forums.developer.apple.com/forums/thread/747784

Apple Watch not showing in XCode | Apple Developer Forums

What is bizarre for me is that the watch is not showing up under my iPhone in Xcode in devices like it normally does. However, when I built my app to the phone, the watch extension also built and works fine. It might be worth trying to build to see if it's

forums.developer.apple.com