






Bonjour networking for discovery and connection between iOS, macOS and tvOS devices.
- 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
iOS 9.0+ / macOS 10.9+ / tvOS 9.0+
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
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 '<Your Target Name>' do pod 'Merhaba', '~> 1.2.1'end
Then, run the following command:
Carthage 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 updatebrew 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.
Implement your class with MRBServerDelegate to handle Bonjour events
@interface ViewController : UIViewController<MRBServerDelegate>
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
Stopping browsing for bonjour services
[self.server stopBrowser];
Merhaba is released under the MIT license. See LICENSE for details.