AfrozZaheer / AZPeerToPeerConnection

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:MIT License


Languages

Language:Swift 92.1%Language:Ruby 7.9%