iPhone
에 대한 BlueTooth
및 Wifi
기반 채팅 프로그램을 구현 중입니다. 연결 목적으로 나는 GameKit
을 사용하고 있습니다. 그러나 특별한 요구 사항 응용 때문에 나는 기본값 인 GKPeerPickerController
을 사용할 수 없습니다. 그래서 대신 동료를 감지하기 위해 GKSession
과 GKSessionDelegate
콤보를 만들었습니다. 서로 찾으면 채팅 할 수 있습니다. GameKit : GKPeerPickerController없이 GKSession을 사용할 때 연결 유형은 무엇입니까? 해결됨
simulator
, 하나의 시뮬레이터 하나
iPod
, 하나
iPhone
한
Simulator
를 사용하여 세 가지
mac-minis
에 채팅 기능을 테스트했습니다. 위의 모든 시나리오에서 채팅 할 수 있습니다. 그러나 어떤 사람들은
iPhone
과
iPod
이 어떻게 서로를 탐지하지 못하는지를 알고 있습니다.
또한이 모든 장치간에 연결 유형이 궁금합니다. 이론적으로는 GameKit
이 BlueTooth
과 WiFi
을 모두 지원하기 때문입니다. 이제 문제는 GKPeerPickerController
BlueTooth
과 WiFi
사이에서 구체적으로 선택하겠습니다. (불행하게도 WiFi
의 구현은 어디에서도 설명하지 않습니다.) 괜찮 았지만 자신의 GKSession
및 GKSessionDelegate
콤보를 구현할 때 사용자 지정 시나리오는 어떻게됩니까? 사람이 사용할 수있는 유일한 init
방법을 사용하여 GKSession
객체를 생성 할 때이 제공
– initWithSessionID:displayName:sessionMode:
만 구성 옵션은 sessionMode
이지만 Bluetooth
및 WiFi
사이의 연결 선택을 나타냅니다
GKSessionModeServer,
GKSessionModeClient,
GKSessionModePeer,
없음있는 세 개의 옵션
있습니다.하지만 그것은 작동 iPod
에 사용할 수 bluetooth
이 있고 mac-mini
으로 테스트 그래서 나는이 WiFi
을 사용하는 것 같아요. 또한 로그에 내가 행 다음에 얻을 :
DNSServiceRegister callback: Ref=4c3f3d0, Flags=2, ErrorType=0 name=00XGT0H0A..BTChat1 regtype=_0eilkgh5o2mq17._udp. domain=local.
DNSServiceRegister
및 udp
부분은 나를 통신이 TCP/IP
에 걸쳐 일어나고있다 생각합니다.
그래서 내가 GKSession
및 GKSessionDelegate
로 시작할 때 나는 BlueTooth
연결이 일어나는 것을 하나의 표시를 가진 적이 없어하지만 (통신의 기본 방법은 와이파이가 아니라, 또는 동시에 WiFi
및 bluetooth
을 모두 지원 않음을 의미 하는가).
그러나 GameKit
은 주로 약 BlueTooth
인 것으로 가정합니다. 맞습니까? 정확히 무슨 일이 일어나고 있는지에 대해 상황을 밝힐 수 있습니까?
또한 누군가가 GKPeerPickerController
에 대해 WiFi 인터페이스를 구현 한 샘플 코드를 보았습니까?
업데이트 :
OK 그것을 자신을 발견. GKSession
및 GKSessionDelegate
사용자 지정 구현은 질문에서 언급 한대로 bluetooth
및 WiFi
에 모두 적용됩니다.사실 iPhone (JailBroked)
에는 BlueTooth
과 관련된 몇 가지 문제가 있었으며 Gamekit
이 제대로 작동하지 않을 수있었습니다. 하드 재설정 후 Airplane
모드를 켜기로 설정하면 bluetooth
을 몇 번 켜고 bluetooth
전화를 사용하게됩니다. 이제 앱은 WiFi
및 BlueTooth
모드에서 정상적으로 작동합니다.
안녕하세요, Pritam, 즉, 통신 할 방법 (블루투스 또는 Wi-Fi) 설정 방법이 없습니다. 맞습니까? – ZYiOS
@Dio 예, 적어도 그 코드를 코딩 할 때의 방법 이었지만 그 이후로 오랜 시간이 걸렸습니다. 그리고 GameKit을 따라 잡지 못했습니다. –