Demonstração de ponta a ponta do iOS

improve this page | report issue

Visão Geral

O propósito desta demonstração é experimentar um fluxo de ponta a ponta:

  1. Um aplicativo de amostra que é pré-empacotado com o SDK do cliente MobileFirst é registrado e transferido por download a partir do MobileFirst Operations Console.
  2. Um adaptador novo ou fornecido é implementado no MobileFirst Operations Console.
  3. A lógica de aplicativo é alterada para fazer uma solicitação de recurso.

Resultado final:

  • Ping de MobileFirst Server executado com sucesso.
  • Recuperação de dados usando adaptador realizada com sucesso.

Pré-requisitos:

  • Xcode
  • Opcional. MobileFirst CLI (download)
  • Opcional. Independente MobileFirst Server (download)

1. Iniciando o MobileFirst Server

Certifique-se de ter criado uma instância do Mobile Foundation ou
Se estiver usando MobileFirst Developer Kit, navegue para a pasta do servidor e execute o comando: ./run.sh em Mac e Linux ou run.cmd no Windows.

2. Criando um aplicativo

Em uma janela do navegador, abra MobileFirst Operations Console carregando a URL: http://your-server-host:server-port/mfpconsole. Se estiver executando localmente, use: http://localhost:9080/mfpconsole. O nome de usuário/senha são admin/admin.

  1. Clique no botão Novo próximo de Aplicativos
    • Selecione a plataforma iOS
    • Insira com.ibm.mfpstarteriosobjectivec ou com.ibm.mfpstarteriosswift como o identificador do aplicativo (dependendo do andaime do aplicativo do qual você fará download na próxima etapa)
    • Insira 1.0 como o valor da versão
    • Clique em Registrar aplicativo

    Registre um aplicativo

  2. Clique no quadro Obter Código de Início e selecione para fazer download do aplicativo de amostra iOS Objective-C ou iOS Swift.

    Download do aplicativo de amostra

3. Editando a lógica de aplicativo

  1. Abra o projeto Xcode dando um clique duplo no arquivo .xcworkspace.

  2. Selecione o arquivo [project-root]/ViewController.m/swift e cole o fragmento de código a seguir, substituindo a função getAccessToken() existente:

    No Objective-C:

    - (IBAction)getAccessToken:(id)sender {
    _testServerButton.enabled = NO;
    NSURL *serverURL = [[WLClient sharedInstance] serverUrl];
    _connectionStatusLabel.text = [NSString stringWithFormat:@"Connecting to server...\n%@", serverURL];
        
    NSLog(@"Testing Server Connection");
    [[WLAuthorizationManager sharedInstance] obtainAccessTokenForScope:@"" withCompletionHandler:^(AccessToken *token, NSError *error) {
         if (error != nil) {
             _titleLabel.text = @"Bummer...";
             _connectionStatusLabel.text = [NSString stringWithFormat:@"Failed to connect to MobileFirst Server\n%@", serverURL];
             NSLog(@"Did not receive an access token from server: %@", error.description);
         } else {
             _titleLabel.text = @"Yay!";
             _connectionStatusLabel.text = [NSString stringWithFormat:@"Connected to MobileFirst Server\n%@", serverURL];
             NSLog(@"Received the following access token value: %@", token.value);
                
             NSURL* url = [NSURL URLWithString:@"/adapters/javaAdapter/resource/greet/"];
             WLResourceRequest* request = [WLResourceRequest requestWithURL:url method:WLHttpMethodGet];
                
             [request setQueryParameterValue:@"world" forName:@"name"];
             [request sendWithCompletionHandler:^(WLResponse *response, NSError *error) {
                 if (error != nil){
                     NSLog(@"Failure: %@",error.description);
                 }
                 else if (response != nil){
                     // Imprimirá "Hello world" no Xcode Console.
                     NSLog(@"Success: %@",response.responseText);
                 }
             }];
         }
    
         _testServerButton.enabled = YES;
     }];
    }
    

    No Swift:

    @IBAction func getAccessToken(sender: AnyObject) {
         self.testServerButton.enabled = false
            
         let serverURL = WLClient.sharedInstance().serverUrl()
            
         connectionStatusLabel.text = "Connecting to server...\n\(serverURL)"
         print("Testing Server Connection")
         WLAuthorizationManager.sharedInstance().obtainAccessTokenForScope(nil) { (token, error) -> Void in
                
             if (error != nil) {
                 self.titleLabel.text = "Bummer..."
                 self.connectionStatusLabel.text = "Failed to connect to MobileFirst Server\n\(serverURL)"
                 print("Did not recieve an access token from server: " + error.description)
             } else {
                 self.titleLabel.text = "Yay!"
                 self.connectionStatusLabel.text = "Connected to MobileFirst Server\n\(serverURL)"
                 print("Recieved the following access token value: " + token.value)
                    
                 let url = NSURL(string: "/adapters/javaAdapter/resource/greet/")
                 let request = WLResourceRequest(URL: url, method: WLHttpMethodGet)
                    
                 request.setQueryParameterValue("world", forName: "name")
                 request.sendWithCompletionHandler { (response, error) -> Void in
                     if (error != nil){
                         NSLog("Failure: " + error.description)
                     }
                     else if (response != nil){
                         NSLog("Success: " + response.responseText)
                     }
                 }
             }
                
             self.testServerButton.enabled = true
         }
    }
    

4. Implemente um adaptador

Faça o download deste artefato .adapter preparado e implemente-o a partir do MobileFirst Operations Console usando a ação Ações → Implementar Adaptador.

Como alternativa, clique no botão Novo próximo de Adaptadores.

  1. Selecione a opção Ações → Download de Amostra. Faça o download da amostra do adaptador Java “Hello World”.

    Se o Maven e o MobileFirst CLI não estiverem instalados, siga as instruções Configure seu ambiente de desenvolvimento na tela.

  2. Em uma janela de Linha de Comandos, navegue para a pasta raiz do projeto Maven do adaptador e execute o comando:

    mfpdev adapter build
    
  3. Quando a compilação for concluída, implemente-a a partir do MobileFirst Operations Console usando a ação Ações → Implementar Adaptador. O adaptador pode ser localizado na pasta [adapter]/target.

    Implemente um adaptador

aplicativo de amostra

5. Testando o aplicativo

  1. No Xcode, selecione o arquivo mfpclient.plist e edite as propriedades protocol, host e port com os valores corretos para seu MobileFirst Server.
    • Se estiver usando um MobileFirst Server local, os valores normalmente serão http, localhost e 9080.
    • Se estiver usando um MobileFirst Server remoto (no Bluemix), os valores normalmente serão https, your-server-address e 443.

    Como alternativa, se você tiver instalado MobileFirst CLI, navegue para a pasta raiz do projeto e execute o comando mfpdev app register. Se um MobileFirst Server remoto for usado, execute o comando mfpdev server add para incluir o servidor, seguido por, por exemplo: mfpdev app register myBluemixServer.

  2. Pressione o botão Reproduzir.


Resultados

  • Um clique no botão Ping MobileFirst Server exibirá Conectado ao MobileFirst Server.
  • Se o aplicativo foi capaz de se conectar ao MobileFirst Server, uma chamada de solicitação de recurso usando o adaptador Java implementado acontecerá.

A resposta do adaptador é então impressa no Xcode Console.

Imagem de um aplicativo que chamou com sucesso um recurso do MobileFirst Server

Etapas Seguintes

Saiba mais sobre como usar adaptadores em aplicativos e como integrar serviços adicionais, como Notificações Push, usando a estrutura de segurança do MobileFirst e mais:

Last modified on October 05, 2017