• What is Developer Mode
    • iOS 16, WatchOS 9부터 적용되는 개발자 워크플로우 자동화를 가능하게 하는 모드
    • 기본적으로는 비활성화되어 있고, 명시적으로 켜야 한다.
    • 재부팅 혹은 시스템 업데이트 전까지는 유지됨
      • 이를 자동화할 수 있는 방법도 제공한다
  • 그래서 왜 만들었는가?
    • 개발자가 아닌 대부분의 유저의 보안을 향상시키기 위해서
    • 개발자들만 필요한 기능들은 타게팅 공격에 악용될 수 있는 여지가 있다.
  • 필요한 때
    • 대부분의 일반적인 배포 혹은 테스팅 플로우는 개발자 모드를 킬 필요 없다.
      • TestFlight
      • Enterprise(In-House) distribution
      • App Store
    • 로컬 개발 단계에서만 개발자 모드가 필요하다.
      • 개발용 인증서로 서명한 앱을 설치 및 실행할 때 - 개인 팀 포함
      • 디버그 혹은 instrument 사용
      • 자동화 테스팅
  • Using Developer Mode
    • Xcode에 디바이스를 연결하면 메뉴가 활성화된다.
      • 16 베타에서는 항시 활성화
    • Apple Configurator등으로 개발용으로 서명된 앱을 설치해도 활성화 된다.
    • 설정 - 보안 및 개인정보 보호에서 찾을 수 있다.
      • 설정 후 재부팅하고, 한번 더 확인을 한다.
    • 자동화를 위해서는 devmodectl을 쓴다. - macOS Ventura에서만 사용가능
  • Automation flows
    • 패스코드가 없어야만 자동화할 수 있다.

    • devmodectl로 할 수 있는 것

      • 현재 연결된 디바이스에 대해서 개발자 모드 활성화 기능

      • 연결되는 모든 기기에 대해서 개발자 모드 활성화

        devmodectl streaming