[TIL] Screen Time API 사용 승인 대기 중일 때 블로커

Eden·2025년 2월 4일
0

TIL

목록 보기
113/132
post-thumbnail

iOS에서 Screen Time API(DeviceActivity, FamilyControls 등)를 사용하려면 특별 권한(Entitlement)이 필요하다. 하지만 Apple이 이 권한을 쉽게 부여하지 않기 때문에 허가받지 못했을 때 발생하는 블로커를 정리해보자.


1. 기능 구현 불가 (핵심 기능 제한)

⚠️ 블로커

  • DeviceActivityReport API를 사용할 수 없어서 앱 사용 시간 측정 불가
  • DeviceActivityMonitor 없이 백그라운드에서 특정 앱 감지 불가
  • ManagedSettings API를 활용한 앱 사용 제한 기능 불가

🔧 How about this?

  • 앱 내부에서 자체 타이머를 구현하는 방법은 있지만, 사용자가 앱을 종료하면 동작하지 않음
  • Apple 정책상 다른 앱의 사용 시간 데이터를 가져오는 방법이 전혀 없음

2. 테스트 및 디버깅 불가

⚠️ 블로커

  • Screen Time API를 사용하려면 Apple의 사전 승인이 필요하며, 승인되지 않으면 Xcode에서 빌드 테스트 자체가 불가능
  • 기기에서 실제 API 호출이 차단됨 → 앱 동작을 테스트할 수 없음

🔧 How about this?

  • 테스트할 방법이 없음 → API 호출 코드가 들어간 채로 개발을 진행할 경우, 앱이 정상 동작하는지 확인할 방법이 없음

3. TestFlight 배포 제한

⚠️ 블로커

  • Entitlement이 없는 상태에서는 TestFlight에서도 실행 불가
  • com.apple.developer.screen-time 권한이 없으면 앱 실행 중 충돌 발생 가능

🔧 How about this?

  • 사전 승인이 나기 전에는 TestFlight로 배포 불가
  • 내부 테스트용으로 UI만 개발한 후 Apple의 승인 후 기능 추가하는 방식 필요

4. 기능 대체가 어려움

⚠️ 블로커

  • 다른 방법으로 Screen Time 데이터를 가져올 방법이 없음
  • 앱 내부 타이머를 사용해도 백그라운드에서 실행되지 않으면 무용지물

🔧 How about this?

  • 앱 내에서 "오늘의 목표 사용 시간 설정" 같은 기능을 제공하는 식으로 차선책 마련 가능
  • 하지만 사용자가 앱을 종료하면 트래킹 불가 → 기능이 제대로 동작하지 않을 가능성 큼

결론

Screen Time API 허가가 나지 않으면 핵심 기능을 구현할 수 없고, 테스트도 불가능하며, TestFlight 및 앱스토어 배포까지 막힌다!!!!!

따라서 Apple의 사전 승인 없이는 Screen Time 관련 기능을 개발하는 것이 사실상 불가능하고, 다른 대체 방법도 없다.

💡 진짜 결론

  • Apple의 공식 Screen Time API 사용 승인을 받기 위해 명확한 비즈니스 목적과 활용 계획을 문서로 제출하고 무한정 기다려야 한다.
  • 승인 전까지는 UI 개발만 진행하고 API 호출 없이 기능을 설계하는 방식으로 개발 진행 (중)

누가 우리 팀 얘기하냐

profile
Frontend 🌐 and iOS  🫶🏻

3개의 댓글

comment-user-thumbnail
2025년 2월 4일

애플이 Screen Time API 허가도 쉽게 안해주는데 이 허가 없으면 테스트플라이트도 못한다니.. 엄청 빡시네요

1개의 답글
comment-user-thumbnail
2025년 2월 5일

호오~

답글 달기

관련 채용 정보