2014-05-14 3 views
0

이전 GameKit 프레임 워크 (iOS 7.0에서 더 이상 사용되지 않는 부품)에서 GKSessionDelegate에는 오류 감지에 필요한 방법 session:didFailWithError:이 포함되어 있습니다.멀티 피어 연결에서 오류 감지

Wi-Fi 및 블루투스가 현재 사용 중지 된 경우 GKSessionCannotEnableError을 반환하므로 네트워크를 사용할 수 없는지 여부를 감지하는 데 사용할 수 있습니다. iOS 7.0에서는이 정보가 더 이상 사용되지 않고 Multipeer Connectivity FrameworkMCSession 클래스로 바뀌었지만이 클래스에서 정보를 검색하는 데 사용 된 MCSessionDelegate에는 오류가 감지되지 않습니다.

MCNearbyServiceAdvertiserDelegate에는 피어가 서비스를 시작할 수 없는지 검색하기위한 방법 advertiser:didNotStartAdvertisingPeer:이 있습니다.이 방법은 광고주가 시작될 때 비행기 모드가 켜져 있어도 기이하게 호출되지 않습니다. 사실 Wi-Fi 및 블루투스가 장착 된 비행기 모드에서도 여전히 광고를하고 다른 기기의 브라우저에서 감지 할 수 있지만 다른 기기에서 초대장을받지 못하는 것 같습니다.

오류 정보를 얻고 Multipeer Connectivity 클래스가 현재 다른 장치에 연결할 수 없는지 여부를 확인하는 방법이 있습니까?

답변

0

물어 보는 작업을 수행하는 MultipeerConnectivity 프레임 워크 자체에는 아무 것도 없습니다. 그러나 저수준 피어 검색 코드 (예 : NSNetService 또는 Bonjour C API)를 사용하면 이러한 프레임 워크를 사용하여 연결을 확인할 수 있습니다.

그렇지 않으면 동료를 검색 한 후 나타나는 몇 가지 문제 해결 단계 (WiFi 또는 블루투스 또는 둘 다를 켜고 다른 장치를 확인하십시오)를 발견 한 후에도 UI보기를 추가 할 수 있습니다. 에 네트워크 서비스가 있음 등).