WatchConnectivity
과 약간 혼동 스럽습니다.iOS 앱이 시작될 때 Apple Watch 앱에서 데이터를 수신합니다.
iOS 앱에서 시계 앱으로 데이터를 전송할 수 있습니다. 그러나 iOS 앱이 시작되거나 활성화 될 때만 데이터를 보냅니다.
시계 앱이 iOS 앱의 데이터를 요청하도록하고 싶습니다. 시계 응용 프로그램은 시작할 때 정보를 요청해야합니다.
WatchConnectivity
과 약간 혼동 스럽습니다.iOS 앱이 시작될 때 Apple Watch 앱에서 데이터를 수신합니다.
iOS 앱에서 시계 앱으로 데이터를 전송할 수 있습니다. 그러나 iOS 앱이 시작되거나 활성화 될 때만 데이터를 보냅니다.
시계 앱이 iOS 앱의 데이터를 요청하도록하고 싶습니다. 시계 응용 프로그램은 시작할 때 정보를 요청해야합니다.
사용자 정보가 있으며 시계 응용 프로그램이 시작할 때이 정보를 요청해야합니다.
사용자가 시계를 보았을 때 데이터가 요청되고 수신 된 다음 앱에서 업데이트되는 동안 기다려야하는 이유는 무엇입니까?
사용자가 앱을 시작할 때 정보를 검색하도록 시계 응용 프로그램을 디자인하는 대신 keep your watch app up to date에 대한 다른 접근 방법을 고려해야합니다.
는 watchOS이 들어, updateApplicationContext
, which Ahmed mentioned 같은 배경에서 현재 세부 사항을 전송하는 다른 방법이 있습니다.
watchOS 3의 경우 새로 고침 작업을 사용하여 백그라운드에서 시계 앱을 업데이트 할 수도 있습니다. 어느 이러한 방식의
는 정보가 손에 이미 있는지 확인하므로 사용자는 자동으로 업데이트하는 시계 앱을 기다리는 감내하지 않습니다.
나는 updateApplicationContext를 사용했다. 그러나 watch app는 사용자의 데이터를 요청해야한다. iOS 앱의 특정 이벤트 (로그 아웃 또는 로그인)가 발생했을 때 애플리케이션 컨텍스트를 업데이트하고 있습니다. 사실 저는 구조와 혼동합니다. 예를 들어 시계 연결을위한 싱글 톤 클래스를 구현했고 appdelegate에서 객체를 만듭니다. 이 시나리오에서 올바른 접근법입니까? – TheZipper
주석은 관련없는 질문에 대한 질문을하는 곳이 아닙니다. 사용자가 로그인하거나 로그 아웃 할 때 전화기가 응용 프로그램 (사용자 데이터) 컨텍스트를 업데이트하면 왜 시계가 데이터를 요청해야합니까? 사용자가 로그인되어 있고 시계에 이미 해당 데이터가 있거나 사용자가 로그 아웃 한 상태이며 시계도이를 알고 있습니다. 시계가 휴대 전화에서 요청할 데이터는 무엇입니까? 질문에 대한 답변이 없으면 수정하고 구체적인 세부 정보를 추가해야합니다 (예 : 시계가 특별히 요청해야하는 항목을 설명하고, 코드를 표시하며, 예상했던대로 작동하지 않는 내용을 설명해야합니다). –
sendMessage
link to documentation 방법은 WCSession class의 일부일 수 있습니다. 이 메서드는 응답 핸들러를 사용합니다.
상대방으로부터 응답을 받기위한 응답 핸들러입니다. 응답을 수신하지 않으려면 nil을 지정하십시오.
iOS 앱이 데이터를 다시 보내는 데 사용하는 회신 처리기로 메시지를 보내 효과적으로 iOS 앱에 알릴 수 있습니다.
같은 문제가 발생했습니다. iOS 앱을 시작한 경우에만 데이터가 시계로 전송되었습니다. 회신 핸들러가있는 메시지를 세션의 activationDidCompleteWith - 메소드에서 iOS 앱에 전송하여 해결했습니다. 특정 메시지 나 회신을 보낼 필요가 없습니다. 메시지가 iOS 앱에 전송 된 후 updateApplicationContext가 데이터를 보내 데이터를 보냈습니다.
EDIT : iOS 측 세션은 시계의 첫 번째 데이터가 "도착 중"이므로 답변을 할 수없는 경우 활성화 된 것으로 보입니다.
iOS에서 watchOS까지'updateApplicationContext'를 사용하지 말고, watchOS 앱이 시작될 때 왜 데이터를 가져 오지요. 원하는대로 데이터를 변경할 수 있으며 watchOS 앱이 최신 데이터를 가져올 수 있습니다. –