2016-09-18 1 views
1

우리가 "동일한 장치"에 여전히 있기 때문에 두 개의 기본 대화 스레드에서 MSConversation.localParticipantIdentifier (케이트 벨, 존 애플 시드)가 같은 NSUUID 문자열을 반환 검색, 아이폰 OS 시뮬레이터에서 iMessage를 응용 프로그램을 테스트 . 의 iOS 시뮬레이터에서 고유 MSConversation.localParticipantIdentifier

내가 참가자의 회전을 추적하기 위해 URL 데이터로 localParticipantIdentifier을 전달하고, 턴 기반의 응용 프로그램을 구현합니다.

  1. 사람 하나는 그녀가 마지막 차례를 만든 여부를 결정하기 위해 자신에게 전달 된 ID를 비교 할 사람
  2. 사람 2 메시지에 자신의 ID를 전달합니다.

iOS 10 시뮬레이터의 두 테스트 대화간에 고유 한 localParticipantIdentifier을 시뮬레이트하는 방법이 있습니까? 디버깅을 위해 "회전"정보를 하드 코딩하는 것 외에도이 실제 환경을 시뮬레이트하는 방법을 생각할 수 없습니다. 감사.

참고 : 내가 보낸 사람이 반드시 회전을 만든 사람을 결정하지 않기 때문에 MSMessage.senderparticipantidentifier를 사용하지 않으는 (예 : 사용자는 응용 프로그램의 상태를 업데이트하지만 "차례", 3+ 사람의 대화가 아닌 메시지를 전송 스레드 등).

+0

이 질문은 몇 달 전의 일이지만 동일한 문제가 있음을 알고 있습니다. 이 문제를 어떻게 해결했는지 알려주시겠습니까? – user3128464

답변

0

개인적으로 나는 MSConversation에서 remoteParticipantsIdentifier을 사용합니다. 그래서 아이디어는 이동을 한 사람의 ID와 최신 이동의 참조를 유지하고, 해당 ID가 remoteParticipants의 목록과 일치 (그는 그 목록에있는 다음의 경우) 경우 사용자가 플레이 할 수 있도록하는 것입니다.

+1

문제는 대화의 양쪽에서 발생하는 로컬 및 원격 식별자가 동일하지 않은 점이다. 원격 ID 배열이 장치에 고유하고 발신자 측의 로컬 ID와 일치하지 않기 때문에 수신자가 이동을 한 원격 참가자 중 어떤 사람인지 알 수 없습니다. 다른 기술을 의미하는 경우 자세히 설명해 주시겠습니까? – AnsonL

관련 문제