Download - Multipeer Connectivity Tutorial PT-BR
![Page 1: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/1.jpg)
Multipeer Connectivity Rogério Bordignon e Vinicius Lima
![Page 2: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/2.jpg)
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.
![Page 3: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/3.jpg)
Criando o Código !
!
!
Nesse tutorial criaremos um pequeno chat entre dois ou mais dispositivos.
!
![Page 4: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/4.jpg)
Crie um projeto no xCode - File > New > Project do tipo (Single View Application)
![Page 5: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/5.jpg)
Adicione o Framework Multipeer Connectivity framework. Click no projeto > Build Phases > Link Binary With Libraries.
![Page 6: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/6.jpg)
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
![Page 7: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/7.jpg)
• 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)
![Page 8: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/8.jpg)
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)
![Page 9: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/9.jpg)
![Page 10: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/10.jpg)
Iremos agora adicionar as variáveis responsáveis pela conexão. MCPeerID, MCSession, MCAdvertiserAssistant e
MCBrowserViewController.
![Page 11: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/11.jpg)
• 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.
![Page 12: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/12.jpg)
Agora, iremos desenvolver as variáveis em um novo método e depois adiciona-las no viewDidLoad.
![Page 13: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/13.jpg)
• 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.
![Page 14: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/14.jpg)
Criaremos os método responsáveis pelos delegates. Primeiro para o MCBrowserViewControllerDelegate e para o UITextFieldDelegate
![Page 15: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/15.jpg)
• 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.
![Page 16: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/16.jpg)
![Page 17: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/17.jpg)
Agora os delegates relacionados à conectividade
![Page 18: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/18.jpg)
Mesmos as funções sem corpo, ainda são necessárias para o aplicativo funcionar
![Page 19: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/19.jpg)
• Os métodos estão com sua funcionalidade comentada antes da sua assinatura no .m
![Page 20: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/20.jpg)
Adicionaremos os métodos finais: sendText o qual transforma sua mensagem em data e envia para todos os
devices emparelhados.
![Page 21: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/21.jpg)
No método receiveMessage existe um if, que troca o nome da pessoa que fala no chat.
![Page 22: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/22.jpg)
• Algum problema? O código todo se encontra no github: https://github.com/MackMobile/ios-demo-multipeer
![Page 23: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/23.jpg)
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/
![Page 24: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/24.jpg)
Este tutorial é uma tradução do site: http://techmaster.vn/2013/09/multipeer-connectivity-quick-tutorial/
![Page 25: Multipeer Connectivity Tutorial PT-BR](https://reader034.vdocuments.site/reader034/viewer/2022052410/5553791bb4c905894e8b4ec5/html5/thumbnails/25.jpg)