SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Multipeer Connectivity
Rogério Bordignon e Vinicius Lima
Introdução
Multipeer Connectivity é um framework introduzido no iOS 7, no
lugar do GKPeerPickerController, que oferece suporte para encontrar
devices próximos usando redes Wi-Fi e Bluetooth assim como a
comunicação, compartilhamento de dados e recursos entre os
mesmos.



Criando o Código
!
!
!
Nesse tutorial criaremos um pequeno chat entre dois
ou mais dispositivos.
!
Crie um projeto no xCode - File > New > Project do tipo (Single View Application)
Adicione o Framework Multipeer Connectivity framework.
Click no projeto > Build Phases > Link Binary With Libraries.
Importe a Biblioteca do Multipeer
Adicione os seguintes delegates no seu .h
<MCBrowserViewControllerDelegate, MCSessionDelegate, UITextFieldDelegate>
Adicione as variáveis igual a imagem
UIButton, UITextField e UITextView
• Depois dessa etapa irão aparecer alguns
warnings devido a falta de alguns métodos
necessários para esses delegates.
• (Resolveremos isto mais pra frente)
Desenvolveremos então, o botão e os textos em um método
separado e depois adicionaremos o mesmo no viewDidLoad

(O Código dentro do método setUpUI pode ser jogado
direto no viewDidLoad)
Iremos agora adicionar as variáveis responsáveis pela conexão.
MCPeerID, MCSession, MCAdvertiserAssistant e
MCBrowserViewController.
• MCPeerID representa um ponto na sessão Multipeer.
• Um objeto MCSession permite e gerencia a
comunicação entre todos os pares em uma sessão
Multipeer.
• MCAdvertiserAssistant apresenta convites de
entrada para o usuário e processa respostas dos
usuários.
• A classe MCBrowserViewController apresenta
dispositivos próximos ao usuário e permite que o
usuário convide dispositivos próximos para uma
sessão.
Agora, iremos desenvolver as variáveis em um novo
método e depois adiciona-las no viewDidLoad.
• Ao inicializarmos o MyPeerID colocamos para
para ele vir com o nome de cada device.
(Iphone de Fulano).
• Em MySession usamos o MyPeerID e
colocamos o delegate em self.
• O browserVC por sua vez, usa o MySession.
Criaremos os método responsáveis pelos delegates.
Primeiro para o MCBrowserViewControllerDelegate e para o UITextFieldDelegate
• O delegate browserViewController constrói a
view onde iremos procurar devices, ela já
vem pré definida. Iremos inicialmente apenas
fazer com que ela apareça, conecte as
pessoas e volte. Esses delegates funcionam
adicionando o botão de Cancel e Done dessa
view.
Agora os delegates relacionados
à conectividade
Mesmos as funções sem corpo, ainda são
necessárias para o aplicativo funcionar
• Os métodos estão com sua funcionalidade
comentada antes da sua assinatura no .m
Adicionaremos os métodos finais: sendText
o qual transforma sua mensagem em data e envia para todos os
devices emparelhados.
No método receiveMessage existe um if, que troca
o nome da pessoa que fala no chat.
• Algum problema? O código todo se encontra
no github: https://github.com/MackMobile/
ios-demo-multipeer
Referências
http://www.appcoda.com/intro-ios-
multipeer-connectivity-programming/
!
http://nshipster.com/multipeer-
connectivity/
!
http://techmaster.vn/2013/09/multipeer-
connectivity-quick-tutorial/
Este tutorial é uma tradução do site: http://techmaster.vn/2013/09/
multipeer-connectivity-quick-tutorial/
Multipeer Connectivity Tutorial PT-BR

Mais conteúdo relacionado

Destaque

1 sistema carcer-rio_japon_s
1 sistema carcer-rio_japon_s1 sistema carcer-rio_japon_s
1 sistema carcer-rio_japon_sAriana Martins
 
Drupal Training - Introductie
Drupal Training - IntroductieDrupal Training - Introductie
Drupal Training - IntroductieTauros Marketing
 
Apostila algoritmos - Lógica de Programação
Apostila algoritmos - Lógica de ProgramaçãoApostila algoritmos - Lógica de Programação
Apostila algoritmos - Lógica de ProgramaçãoLucas Mendes
 
Kimby Consulting, lo que necesitabas...
Kimby Consulting, lo que necesitabas...Kimby Consulting, lo que necesitabas...
Kimby Consulting, lo que necesitabas...Nazaret9
 
Eventos expansão x crise no setor sucroalcooleiro
Eventos expansão x crise no setor sucroalcooleiro Eventos expansão x crise no setor sucroalcooleiro
Eventos expansão x crise no setor sucroalcooleiro Lela Gomes
 
EXPOSICION LAS RSS EN LA EDUCACION
EXPOSICION LAS RSS EN LA EDUCACIONEXPOSICION LAS RSS EN LA EDUCACION
EXPOSICION LAS RSS EN LA EDUCACIONAdrian Acosta Alzate
 
No permito!!!
No permito!!!No permito!!!
No permito!!!anacjg
 
Amalgama
AmalgamaAmalgama
Amalgamalurh
 
Los 3 escalones de la evolución personal
Los 3 escalones de la evolución personalLos 3 escalones de la evolución personal
Los 3 escalones de la evolución personalanacjg
 
Ceramic Business Focus Berhad
Ceramic Business Focus BerhadCeramic Business Focus Berhad
Ceramic Business Focus Berhadhome
 
Estrellas
EstrellasEstrellas
Estrellasanacjg
 
【産業技術総合研究所】平成20年環境報告書2008
【産業技術総合研究所】平成20年環境報告書2008【産業技術総合研究所】平成20年環境報告書2008
【産業技術総合研究所】平成20年環境報告書2008env11
 
Presentation Bus Thai Digest
Presentation Bus Thai DigestPresentation Bus Thai Digest
Presentation Bus Thai Digestchampoo13
 
Adultos Mayores
Adultos MayoresAdultos Mayores
Adultos MayoresAmau
 
Charles chaplin
Charles chaplinCharles chaplin
Charles chaplinanacjg
 

Destaque (20)

1 sistema carcer-rio_japon_s
1 sistema carcer-rio_japon_s1 sistema carcer-rio_japon_s
1 sistema carcer-rio_japon_s
 
Drupal Training - Introductie
Drupal Training - IntroductieDrupal Training - Introductie
Drupal Training - Introductie
 
Apostila algoritmos - Lógica de Programação
Apostila algoritmos - Lógica de ProgramaçãoApostila algoritmos - Lógica de Programação
Apostila algoritmos - Lógica de Programação
 
Kimby Consulting, lo que necesitabas...
Kimby Consulting, lo que necesitabas...Kimby Consulting, lo que necesitabas...
Kimby Consulting, lo que necesitabas...
 
Eventos expansão x crise no setor sucroalcooleiro
Eventos expansão x crise no setor sucroalcooleiro Eventos expansão x crise no setor sucroalcooleiro
Eventos expansão x crise no setor sucroalcooleiro
 
EXPOSICION LAS RSS EN LA EDUCACION
EXPOSICION LAS RSS EN LA EDUCACIONEXPOSICION LAS RSS EN LA EDUCACION
EXPOSICION LAS RSS EN LA EDUCACION
 
No permito!!!
No permito!!!No permito!!!
No permito!!!
 
Amalgama
AmalgamaAmalgama
Amalgama
 
Hge ranking puno 2014 2015
Hge ranking puno 2014 2015Hge ranking puno 2014 2015
Hge ranking puno 2014 2015
 
Los 3 escalones de la evolución personal
Los 3 escalones de la evolución personalLos 3 escalones de la evolución personal
Los 3 escalones de la evolución personal
 
Iss
IssIss
Iss
 
Ceramic Business Focus Berhad
Ceramic Business Focus BerhadCeramic Business Focus Berhad
Ceramic Business Focus Berhad
 
Estrellas
EstrellasEstrellas
Estrellas
 
【産業技術総合研究所】平成20年環境報告書2008
【産業技術総合研究所】平成20年環境報告書2008【産業技術総合研究所】平成20年環境報告書2008
【産業技術総合研究所】平成20年環境報告書2008
 
Presentation Bus Thai Digest
Presentation Bus Thai DigestPresentation Bus Thai Digest
Presentation Bus Thai Digest
 
Adultos Mayores
Adultos MayoresAdultos Mayores
Adultos Mayores
 
Charles chaplin
Charles chaplinCharles chaplin
Charles chaplin
 
gaialde
gaialdegaialde
gaialde
 
Risco biologico
Risco biologicoRisco biologico
Risco biologico
 
Gc
GcGc
Gc
 

Semelhante a Multipeer Connectivity Tutorial PT-BR

Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Rafael Oliveira
 
ThingProvider-Proposal
ThingProvider-ProposalThingProvider-Proposal
ThingProvider-ProposalKevin Martins
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações AndroidFelipe Silveira
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Aula 7.0 android 02 - primeiro programa calculadora
Aula 7.0   android 02 - primeiro programa calculadoraAula 7.0   android 02 - primeiro programa calculadora
Aula 7.0 android 02 - primeiro programa calculadoraOthon Santos Medeiros
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2lfernandomcj
 
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Felipe Silveira
 
[DTC21] Thiago Henrique - Microsserviços do Mundo Real
[DTC21] Thiago Henrique - Microsserviços do Mundo Real[DTC21] Thiago Henrique - Microsserviços do Mundo Real
[DTC21] Thiago Henrique - Microsserviços do Mundo RealDeep Tech Brasil
 
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Elmano Cavalcanti
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDextra Sistemas / Etec Itu
 
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEMMinicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEMAlisson Solitto
 
Interfacestangiveiscomputacaovisual
InterfacestangiveiscomputacaovisualInterfacestangiveiscomputacaovisual
InterfacestangiveiscomputacaovisualCampus Party Brasil
 
White Paper da Spin para o SIMPASE 2013
White Paper da Spin para o SIMPASE 2013White Paper da Spin para o SIMPASE 2013
White Paper da Spin para o SIMPASE 2013SpinEngenharia
 

Semelhante a Multipeer Connectivity Tutorial PT-BR (20)

View controllers
View controllersView controllers
View controllers
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
 
ThingProvider-Proposal
ThingProvider-ProposalThingProvider-Proposal
ThingProvider-Proposal
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
 
Mvc delphi
Mvc delphiMvc delphi
Mvc delphi
 
Introdução ao DotNetNuke
Introdução ao DotNetNukeIntrodução ao DotNetNuke
Introdução ao DotNetNuke
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Aula 7.0 android 02 - primeiro programa calculadora
Aula 7.0   android 02 - primeiro programa calculadoraAula 7.0   android 02 - primeiro programa calculadora
Aula 7.0 android 02 - primeiro programa calculadora
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2
 
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
[DTC21] Thiago Henrique - Microsserviços do Mundo Real
[DTC21] Thiago Henrique - Microsserviços do Mundo Real[DTC21] Thiago Henrique - Microsserviços do Mundo Real
[DTC21] Thiago Henrique - Microsserviços do Mundo Real
 
Conhecendo o Spring
Conhecendo o SpringConhecendo o Spring
Conhecendo o Spring
 
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
 
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEMMinicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
Minicurso WebAPI .NET CORE - SemanaTI2018 - UNIVEM
 
Aula1
Aula1Aula1
Aula1
 
Widgets por eric andrade dos santos
Widgets por eric andrade dos santosWidgets por eric andrade dos santos
Widgets por eric andrade dos santos
 
Interfacestangiveiscomputacaovisual
InterfacestangiveiscomputacaovisualInterfacestangiveiscomputacaovisual
Interfacestangiveiscomputacaovisual
 
White Paper da Spin para o SIMPASE 2013
White Paper da Spin para o SIMPASE 2013White Paper da Spin para o SIMPASE 2013
White Paper da Spin para o SIMPASE 2013
 

Multipeer Connectivity Tutorial PT-BR