Форум программистов, компьютерный форум CyberForum.ru

NSNetServiceBrowser - поиск сервисов независимо от их типа - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS RTF документ не показывает рисунки в ios гаджетах http://www.cyberforum.ru/ios-dev/thread1032298.html
Здравствуйте, кто может помочь? Загруженные на сервере rtf документы отражаются в моем приложении (да и в любом другом текстовом редакторе) без картинок (схем и т.д.). например, текст "рисунок 1" есть, а самого рисунка сверху нету! Что делать? Тот же документ открываю с помощью Word for Mac на Маке- все хорошо, а на textedit-та же проблема :( Спасибо за конкретные профессиональные советы...
Программирование iOS Связка iPad+iPhone приложение Доброго времени суток, возникла идея, сейчас размышляю над реализацией, может есть кто опытный сталкивался с подобным. Суть в том чтобы сделать приложение для айпэда и клиентик для айфона, и связать айпед с несколькими трубками, и приложение и клиент я сделать смогу а вот как наладить взаимосвязь, т.е что бы действия на айфоне изменяли ситуацию на айпеде, подобные приложения есть такие как... http://www.cyberforum.ru/ios-dev/thread1031833.html
Программирование iOS Получить список твитов
Здравствуйте, возможно ли получить список твитов пользователя без всяких авторизаций приложения перед запуском? Т.е чтобы при запуске, не вводя никаких логинов/паролей, просто в tableview подгрузить твиты определенного человека?
NavigationController -> ViewController + Container Программирование iOS
Все привет! Подскажите пожалуйста, почему может происходить такой фокус. В StoryBoard есть следующая иерархия: NavigationController -> RootViewController+ContainerView -> MasterViewController -> DetailViewController RootViewController имеет следующий вид: UIView - что-то вроде панели вверху экрана с кнопками ContainerView - откуда идет связь на пару Master-Detail. С идеей менять...
Программирование iOS Смена свойств объектов по нажатию на кнопку http://www.cyberforum.ru/ios-dev/thread1028829.html
Доброго времени суток. Подскажите, ни как не могу в гугле найти решение. У меня несколько ViewController, задача по нажатию на кнопку на одном контроллере переходить на другой и менять текст в Label. Сейчас код вот такой: #import "SBFViewController.h" @interface SBFViewController () @property (weak, nonatomic) IBOutlet UIButton *but; @property (weak, nonatomic) IBOutlet UILabel *label;...
Программирование iOS Stroryboards and ViewControllers Господа, прошу совета... где-то туплю... Есть ли какой-то более изящный способ. Есть storyboard в котором есть 2 одинаковых контроллера. Точнее контролеры разные, но сама вьюшка одна и та же (диз, расположение/кол элементов и т.д). Проблема в том, что при незначительных изменениях мне приходится править в 2-ух местах... Хотелось бы подгрузить вьюшку из storyboard и передать ее определенному... подробнее

Показать сообщение отдельно
tj13
Сообщений: n/a

NSNetServiceBrowser - поиск сервисов независимо от их типа - Программирование iOS

08.12.2013, 00:29. Просмотров 591. Ответов 0
Метки (Все метки)

Доброго времени суток всем.
Возникла задача - найти все Bonjour сервисы и отобразить их, в зависимости от типа в своей секции (в секции Printer - сервисы типа printer). Есть довольно хороший пример в книге Beginning iOS 5 Application Development - глава 18. В пример мы ищем сервис с конкретный типом: @"_MyService._tcp.". который ранее и опубликовали (что бы его же и найти).

Код
NSNetServiceBrowser *serviceBrowser;

serviceBrowser = [[NSNetServiceBrowser alloc] init];
[serviceBrowser setDelegate:delegateObject];
[serviceBrowser searchForServicesOfType:@"_MyService._tcp" inDomain:@""];
Но мне по задаче нужно найти все доступные сервисы, независимо от типа ("_MyService._tcp").
Пытался найти решение данной проблемы но все что удалось, это использование вместо конкретного типа _MyService. данную строку:
Код
"_services._dns-sd._udp."
Взято от сюда
Но к сожалению это не работает.

Пробывал проганять строку где ищем сервис конкретного типа через цыкл, подставляя каждый раз новый тик из списка,

Код
[self.browser searchForServicesOfType:serviceType inDomain:@""];
В результате только лишь последный из списка сервис отображалься в TableView.
Для публикации сервисов использовал Network Beacon.

Может кто то уже работал с подобным или может просто подсказать как решить данную задачу - буду благодарен.

Пример кода - BonjourViewController.m



Код
#import "BonjourViewController.h"

@interface BonjourViewController ()

@end

@implementation BonjourViewController

- (void)viewDidLoad
{
    [self browseServices];
    [super viewDidLoad];
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [self.services count];
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    
    if (!cell)
    {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    
    //--display the name of each service---
    cell.textLabel.text = [[self.services objectAtIndex:indexPath.row]name];
    
    return cell;
}

-(void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didFindService:(NSNetService *)aNetService moreComing:(BOOL)moreComing
{
    [self.services addObject:aNetService];
    _debug.text = [_debug.text stringByAppendingString:@"Found service. Resolving address ...\n"];
    [self resolveIPAddress:aNetService];
}

-(void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didRemoveService:(NSNetService *)aNetService moreComing:(BOOL)moreComing
{
    [self.services removeObject:aNetService];
    _debug.text = [_debug.text stringByAppendingFormat:@"Removed:  %@\n", [aNetService hostName]];
    
    [self.tbView reloadData];
}

-(void)resolveIPAddress:(NSNetService *)service 
{
    NSNetService *remoteService = service;
    remoteService.delegate = self;
    [remoteService resolveWithTimeout:10];
}

-(void)netServiceDidResolveAddress:(NSNetService *)sender
{
    NSLog(@"Enter to netServiceDidResolveAddress");
    NSData *address = nil;
    struct sockaddr_in *socketAddres = nil;
    NSString *ipString = nil;
    int port;
    
    for (int i=0; i<[[sender addresses] count];i++)
    {
        address = [[sender addresses] objectAtIndex: i];
        socketAddres = (struct sockaddr_in *) [address bytes];
        ipString = [NSString stringWithFormat:@"%s", inet_ntoa(socketAddres->sin_addr)];
        port = socketAddres->sin_port;
        _debug.text = [_debug.text stringByAppendingFormat:@"Resolved: %@-->%@:%u\n", [sender hostName], ipString, port];
    }
    [self.tbView reloadData];
}

-(void)netService:(NSNetService *)sender didNotResolve:(NSDictionary *)errorDict
{
    _debug.text = [_debug.text stringByAppendingFormat:@"Could not resolve:  %@\n", errorDict];
}

-(void)browseServices
{
    self.services = [[NSMutableArray alloc]init];
    self.browser = [[NSNetServiceBrowser alloc]init];
    self.browser.delegate = self;
    
    [self.browser searchForServicesOfType:@"_MyService._udp." inDomain:@""];
    
@end
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru