Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abdullahselek/Merhaba
Bonjour networking for discovery and connection between iOS, macOS and tvOS devices.
https://github.com/abdullahselek/Merhaba
bonjour ios macos network-discovery tvos
Last synced: 6 days ago
JSON representation
Bonjour networking for discovery and connection between iOS, macOS and tvOS devices.
- Host: GitHub
- URL: https://github.com/abdullahselek/Merhaba
- Owner: abdullahselek
- License: mit
- Created: 2017-01-02T21:50:08.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-12T05:52:47.000Z (over 1 year ago)
- Last Synced: 2024-05-01T00:01:01.679Z (8 months ago)
- Topics: bonjour, ios, macos, network-discovery, tvos
- Language: Objective-C
- Homepage:
- Size: 405 KB
- Stars: 70
- Watchers: 7
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - Merhaba - Bonjour networking for discovery and connection between iOS, macOS and tvOS devices. (Networking / Video)
- awesome-ios-star - Merhaba - Bonjour networking for discovery and connection between iOS, macOS and tvOS devices. (Networking / Video)
README
![Merhaba](https://github.com/abdullahselek/Merhaba/blob/master/Images/merhaba.png)
[![Build Status](https://travis-ci.org/abdullahselek/Merhaba.svg?branch=master)](https://travis-ci.org/abdullahselek/Merhaba)
[![CocoaPods Compatible](https://img.shields.io/cocoapods/v/Merhaba.svg)](https://cocoapods.org/pods/Merhaba)
[![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
[![Coverage Status](https://coveralls.io/repos/github/abdullahselek/Merhaba/badge.svg?branch=master)](https://coveralls.io/github/abdullahselek/Merhaba?branch=master)
![Platform](https://img.shields.io/cocoapods/p/Merhaba.svg?style=flat)
![License](https://img.shields.io/dub/l/vibe-d.svg)# Merhaba
Bonjour networking for discovery and connection between iOS, macOS and tvOS devices.## Features
- Creating Service
- Start & Stop Service
- Stop Browsing
- Create Connection with Another Service
- Send Data
- Send file from given file path
- Send given text
- Strong Events## Requirements
iOS 9.0+ / macOS 10.9+ / tvOS 9.0+## Installation
### CocoaPods
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
```
$ gem install cocoapods
```To integrate Merhaba into your Xcode project using CocoaPods, specify it in your Podfile:
```
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!target '' do
pod 'Merhaba', '~> 1.2.1'
end
```
Then, run the following command:
```
$ pod install
```
### CarthageCarthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
```
brew update
brew install carthage
```To integrate Merhaba into your Xcode project using Carthage, specify it in your Cartfile:
```
github "abdullahselek/Merhaba" ~> 1.2.1
```Run carthage update to build the framework and drag the built Merhaba.framework into your Xcode project.
## Example Usage
Implement your class with MRBServerDelegate to handle Bonjour events
```
@interface ViewController : UIViewController
```Initiation of MRBServer
```
NSString *type = @"TestingProtocol";
self.server = [[MRBServer alloc] initWithProtocol:type];
self.server.delegate = self;NSError *error = nil;
BOOL isStarted = [self.server start:&error];
NSLog(@"Check server started : %@", (isStarted) ? @"YES" : @"NO");// Can handle error if not nil
```Connect to selected service
```
[self.server connectToRemoteService:selectedService];
```Sending data to selected service
```
NSData *data = [textToSend dataUsingEncoding:NSUTF8StringEncoding];
MRBServerErrorCode errorCode = [self.server sendData:data];
NSLog(@"Data sent with code : %ld", errorCode);
```Handling incoming data with didAcceptData function
```
NSString *message = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Incoming message : %@", message);
```Sending file at given path
```
MRBServerErrorCode code = [self.server sendFileAtPath:YOUR_FILE_PATH];
```Send text
```
MRBServerErrorCode code = [self.mrbServer sendText:@"text"];
```Stopping server
```
[self.server stop];
```Stopping browsing for bonjour services
```
[self.server stopBrowser];
```## License
Merhaba is released under the MIT license. See LICENSE for details.