Skip to content

AZPeerToPeerConnectivity is a wrapper on top of Apple iOS Multipeer Connectivity framework. It provides an easier way to create and manage sessions. Easy to integrate

License

Notifications You must be signed in to change notification settings

AfrozZaheer/AZPeerToPeerConnection

Repository files navigation

AZPeerToPeerConnection Controller

Awesome Swift version Support Dependecy Manager Version License Platform

Features

  • Multipeer Connectivity
  • Connection via Bluetooth or Wifi
  • No need write all session, browser, services delegate

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate AZ PeerToPeerConnection into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!

target '<Your Target Name>' do
pod 'AZPeerToPeerConnection'
end

Then, run the following command:

$ pod install

Usage

Step 1

  • With P2PServiceHandler.sharedInstance setup connection and make sure to implement it's delegate
    let connection = P2PServiceHandler.sharedInstance
    override func viewDidLoad() {
        super.viewDidLoad()
        connection.delegate = self
        connection.setupConnection(serviceName: "AZP2Ptest")

        tableView.estimatedRowHeight = 50
        tableView.rowHeight = UITableViewAutomaticDimension
        textField.delegate = self
        
    }

Step 2

  • Next you need to connect to other devices, to do taht you just need to open McBrowser
  • You can pass your own McBrowser or just nil, it will present browser
    connection.joinSession(vc: self, mcBrowser: nil) // nil == default mcbrowsr

Step 3

  • Send data to other devices
  • To send data it is better to send in form of Dictionary
connection.sendData(data: ["message": textField.text ?? "defaultValue"]) // send data of type [String: Any]

Step 4

  • To receive data you have to implement delegate method
    func didRecieve(_ serviceHandler: P2PServiceHandler, data: [String : Any]) {
    
        DispatchQueue.main.async {
            if let val = data["message"] {
                print(val)// data recieved
            }
        }
    }

Done

Thats it, you successfully integrate AZPeerToPeerConnection

License

AZPeerToPeerConnection is available under the MIT license. See the LICENSE file for more info.

Author

Afroz Zaheer - (https://github.com/AfrozZaheer)

About

AZPeerToPeerConnectivity is a wrapper on top of Apple iOS Multipeer Connectivity framework. It provides an easier way to create and manage sessions. Easy to integrate

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published