2016-09-21 2 views
0

didFinishLaunchingWithOptions의 AppDelegate에서 시계를 앱에 연결합니다.Apple Watch Unpaired ActivateSession slow

if ([WCSession isSupported]) { 
    WCSession *session = [WCSession defaultSession]; 
    session.delegate = self; 
    [session activateSession]; 
} 

이것은 대부분의 경우에 잘 작동합니다. 그러나 사용자가 시계 이 페어링되어 시계가 페어링되지 않은 경우 [session activateSession]에서 지연이 발생합니다. 이 호출을 실행하는 데 약 7-8 초가 걸립니다. 이것은 응용 프로그램 시작에 큰 지연을 일으키는 것입니다.

나는이 버그가 애플 버그라고 생각하는데, 애플에게이 문제에 대한 수정을 의뢰하지 않았다.

나는 watchSupported가 activateSession인지 확인하고 싶습니다. 그러나 '세션'에 유효한 데이터가 없습니다. 'session activateSession' 문 앞에 시계가 페어링되었는지 어떻게 확인할 수 있습니까?

이것은 iOS9.3 및 iOS10.0.1에서 모두 발생하며 다른 버전은 테스트하지 않았습니다.

답변

1

분명히 버그처럼 들립니다. 해결 방법으로 당신이 할 수 중 하나

+0

를 구현하여 watchOS 2.2 아이폰 OS 9.3에 WCSession 추가 및 IT AppDelegate에서 정품 인증을 수행하는 것이 좋습니다. 따라서 첫 번째 해결 방법은 불가능합니다. – Vincent

+0

두 번째 해결 방법은 완벽하게 작동합니다. 메소드 세션 인 activationDidCompleteWithActivationState : error : (내용이 필요 없음) 만 포함하면됩니다. 감사! – Vincent

관련 문제