애플워치에서 초밥을 돌려서 GetWild 조작하기.

이 글은 Wano 그룹 Advent Calendar 2016의 마지막 날이다.
얼마 전에 우리 회사 상사가 애플워치를 환불해 줬어요.
그러니까 잠깐 보자.
겸사겸사
그럼 크리스마스를 맞아 올해를 마무리하면 되잖아요.
했어.

개요

  • 애플워치에 초밥을 표시한다.
  • 아이폰 앱을 시작합니다.
  • 애플워치에서 초밥을 터치하다.
  • 초밥 회전
  • 아이폰에서 유튜브 음악을 동시에 재생한다.
  • 기쁘다
  • 이상.
    초밥을 돌리다
    그나저나 겟와일드는 유튜브겟와일드도 흐르고 있어요.를 보여줍니다.

    푹 빠진 곳


    아이폰 쪽에서 sendMessage를 받을 수 없습니다.


    애플워치에서 아이폰을 조작할 때 WCSession의sendMessage를 사용하세요.
    이거 왜 몇 번을 해도 안 움직여?
    2016-12-25 18:42:49.692848 GetWildAndSushi WatchKit Extension[17803:213358] [WC] -[WCSession _onqueue_notifyOfMessageError:withErrorHandler:] errorHandler: NO with WCErrorCodeDeliveryFailed
    
    메시지를 보낸 뒤 이런 오류가 발생해 아이폰 쪽에서 메시지를 받지 못했다.

    까닭


    처음에 나는 애플 워치의 발송자를 이렇게 썼다.
    // open func sendMessage(_ message: [String : Any], replyHandler: (([String : Any]) -> Swift.Void)?, errorHandler: ((Error) -> Swift.Void)? = nil)
    WCSession.default().sendMessage(["Get": "Wild"], replyHandler: nil, errorHandler: nil)
    
    위의 주석과 같이 정의합니다.
    첫 번째 Dictionary는 아이폰에 보낸 데이터다.
    replyHandler는 아이폰 측에서 메시지를 받을 때 언제든지 실행하는 호출 함수다.
    errorHandler는 오류가 발생했을 때 호출된 호출 함수를 전달합니다.
    여기서 정의하면 리플리핸들러는 옵션이라서 닐에게 적당히 줬는데 이건 안 될 것 같아요.
    우리는 다음과 같은 적당한 함수를 제공할 수 있다.
    WCSession.default().sendMessage(["Get": "Wild"], replyHandler: {_ in}, errorHandler: nil)
    
    왜 optional이라고 정의했을까ω・‘)

    여러분도 초밥을 돌려보시는 게 좋을 것 같아요.


    Happy Merry Christmas!!!!🎉

    좋은 웹페이지 즐겨찾기