Get to know Developer Mode
Introduction
What is Developer Mode?
IOS16, WatchOS9에 개발자 워크플로를 지원하는 새로운 모드
Developer Mode 기본값은 비활성화, 기기를 명시적으로 등록해야 사용할 수 있음
등록하면 재부팅이나 시스템 업데이트를 해도 유지됨
필요에따라 개발자 모드 설정을 자동화 할수 있는 도구도 있음
Body
Why Developer Mode?
powerful developer features가 표적형 공격에 악용되고 있음
대부분 사용자는 이 기능을 사용안함 → 기본값이 비활성화
이렇게 하면 개발 기능을 유지하고 사용자의 보안을 강화할수 있음
Developer Mode and distribution
대부분 일반적인 배포에는 개발자 모드가 필요하지 않음
TestFlight를 통한 응용프로그램 배포
Enterprise(In-House) distribution (기업 내부 배포)
App Store를 통한 응용프로그램 배포
Developer Mode는 개발자인 사용자가 기기에서 응용프로그램을 개발중인 경우에만 필요함
Using Developer Mode
When to turn on Developer Mode
development 서명된 응용프로그램을 실행 및 설치할때 (개인 팀 포함)
응용프로그램을 디버그 또는 instrument(계측?)때
기기에서 테스트 자동화 사용할때
How to turn on Developer Mode
Xcode에 기기를 연결해야만 Developer Mode ****매뉴가 나타남
iOS 16 베타 버전은 당분간 메뉴 항상 표시
Apple Configurator를 사용할때 처럼 Xcode없이 development 서명된 응용프로그램을 설치해도 메뉴 표시
설정 → 개인정보 보호 및 보안에서 Developer Mode 제어 가능
자동화를 위해 devmodectl 사용할수있음 → 나중에 더 설명
설정 방법 Mac에 기기를 연결 → Xcode에서 개발자 모드가 설정되어있지 않음, 프로그램 실행 불가 에러 뜸 → 설정 개인정보 보호 및 보안 개발자 모드에서 전환함 → 전환하려면 기기 재부팅 → 재부팅하면 한번 더 킬지 확인하는 메시지 뜸 → 키면 바로 사용 가능 → Xcode로 다시 실행하면 프로그램 실행 가능 단일 기기일 경우만 가능, 여러 기기를 하려면 시간이 오래걸릴수 있음 → 자동화 도구 개발
Automation flows
한 가지 제한: 암호가 없는 기기만 자동으로 개발자 모드 활성화 가능 why? iphone 재시작 시 기기와 상호작용 하기 전 기기 잠금부터 해제해야하기 때문
MacOS에서 devmodectl을 사용하려면
이미 연결된 단일 기기에 개발자 모드를 활성화하는데 사용하거나
스트리밍 모드를 통해 사용자가 연결한 모든 기기에서 개발자 모드 자동으로 활성화 가능
암호 없는 기기고 수동으로 개발자 모드 설정하고 싶지도 않을때 사용하는 방법
Mac에 기기 연결 (두 대) mac 터미널에 $devmodectl streaming
연결된 기기 자동 재부팅, 개발자 모드도 활성화 됨 개발자 모드 활성화되면 기기에 알림 옴 → 이제 사용 가능
Conclusion
iOS 16, watchOS 9에서는 응용프로그램 배포 및 디버깅 같은 일반적인 개발 작업을 하려면 개발자 모드 활성화가 필요함
자동화하고싶으면 devmodectl을 사용하셈
Last updated