Skip to content

Multipeer Connectivity

Jinwon Choi edited this page Mar 19, 2025 · 1 revision

Multipeer Connectivity Framework iOS 7+

Peer-to-Peer 통신 및 주변 장치 검색을 지원하는 프레임워크

WiFi, Bluetooth를 통해 기기 간 데이터 전송을 가능하게 하며, 인터넷 연결 없이도 주변 장치와 데이터를 주고받을 수 있도록 사용자 범위 내에서 빠르고 안정적인 연결을 지원한다.

주로 근처 사용자와의 데이터 교환, 파일 공유, 채팅 애플리케이션, 멀티플레이어 게임 등에 활용되며 최근에는 연결성을 강화하거나 인터넷이 없는 지역에 대한 서비스를 지원하는데 사용된다.

  • MCPeerID 각 기기의 고유 ID 피어 간의 구분에 사용되며 사용자 이름과 같은 고유 식별자를 이용해 피어 식별
  • MCSession 연결된 피어 간 데이터 전송 및 통신 관리 세션 다수의 피어와 동시 연결을 통해 메시지 송수신이나 리소스 공유 지원 세션 개체는 세션에 연결된 피어를 나타내는 피어 ID 개체 집합을 유지 및 관리
  • MCAdvertiserAssistant 로컬 피어가 서비스 제공자 역할일때 사용 가능한 클래스 다른 피어가 해당 피어에 연결할 수 있도록 알리고 연결 요청에 대한 수락과 거절 지원
  • MCNearbyServiceAdvertiser 앱이 지정된 유형의 세션에 참여할 의향이 있음을 주변 피어에 알림 단일 로컬 피어를 사용해 장치와 해당 사용자 식별 정보를 주변 다른 장치에 제공
  • MCNearbyServiceBrowser 주위 피어 탐색해 연결 가능 상태로 만들기 MCSession과 함께 사용되어 피어 간 연결을 지원
  • MCBrowserViewController 기본 제공 클래스 이를 이용해 초대하고 연결하고 싶은 피어를 제공

사용 가능한 기능

  • 즉석에서 산책 메이트 형성

    산책 중에 사용자가 앱을 열어 블루투스를 통해 근처 반려동물을 탐색하고, 산책 메이트 요청을 보낼 수 있다. MCPeerID는 각 사용자의 이름이나 반려동물 이름으로 설정해, 상대방이 피어의 반려동물 성향을 확인할 수 있으며, 상대방이 수락하면 산책 파티를 즉석에서 맺어 앱 내에서 반려견 정보와 함께 기록한다.

  • 반려동물 성향 공유 및 일치도 확인

    MCPeerID와 MCAdvertiserAssistant를 사용해 상대방의 반려동물 성향(산책 빈도, 나이, 크기 등)을 공유하고, 서로의 반려동물이 어울릴 가능성을 즉석에서 확인할 수 있다.

  • 주변 산책 중인 메이트의 실시간 위치 공유

    산책 중인 메이트 간에는 위치를 실시간으로 공유해 서로의 현재 산책 위치와 산책 진행 상황을 알 수 있도록 할 수 있다. 이를 통해 정해진 반경 내에서 산책하는 반려견의 위치를 확인하고, 다른 메이트와의 만남을 계획할 수도 있을 것 같다.

참고

https://developer.apple.com/documentation/multipeerconnectivity

https://medium.com/@cleanrun/communicate-between-multiple-ios-devices-using-the-multipeer-connectivity-framework-468018af1839

https://velog.io/@lawn/iOS-Multipeer-Connectivity

http://yoonbumtae.com/?p=5189

https://bokoo.tistory.com/entry/iOS-NearbyInteraction%EB%9E%80

Welcome to SniffMEET Wiki!

💬 허거덩 팀 규칙

개발 일지

구조
NI, MPC
프로파일링
리팩토링/리디자인
테스트
Supabase

기술 공유

회의록

회의록

트러블 슈팅

발표

💬 허거덩 팀 규칙

Clone this wiki locally