4D para iOS: Interagir facilmente com as aplicações Apple Native

Tradução automática de Deepl

Com 4D para iOS, estamos sempre a pensar em características móveis amigáveis. O principal objectivo é ajudar os programadores a fornecer a melhor experiência de utilizador para as suas aplicações móveis. E é por isso que, com 4D v19 R3, estamos a enviar controlos de entrada de acção.

O que é um controlo de entrada de dados?

Como lembrete, com formatadores que utilizam código iOS disponível na galeria, pode facilmente interagir com aplicações iOS nativas a partir do seu telemóvel. Por exemplo, pode marcar automaticamente um número de telefone clicando num campo de número de telefone ou abrir a aplicação Safari simplesmente clicando num URL.

Os controlos de entrada de acção seguem exactamente a mesma lógica. Utilizando-os, irá adicionar alguns tipos de módulos nos seus formulários de acção para interagir com as aplicações nativas da Apple. Vários deles já estão disponíveis na galeria, tais como :

  • phoneContact: para procurar um número de telefone de contacto directamente a partir da aplicação Apple Contact
  • emailContacto: para procurar um email de contacto directamente da aplicação Apple Contact
  • currentLocation e currentLocationAddress: para preencher a localização actual do utilizador da aplicação com coordenadas (latitude e longitude) e endereços automaticamente.

Foram concebidos para facilitar a vida dos seus utilizadores, abrindo novas perspectivas através de interacções suaves com o ambiente iOS.

E o melhor de tudo, está totalmente livre para criar os seus próprios controlos de entrada, integrá-los nos seus projectos móveis, e partilhá-los com a comunidade!

Como é que isto funciona?

Para os utilizar nos seus projectos móveis, terá de os incluir na sua base de dados para formatadores ou formulários de lista e detalhe personalizados. Para o fazer, crie uma pasta especial “inputControls“, descarregue o controlo de entrada que mais lhe convém a partir da galeria, descomprima-o e arraste-o para a pasta inputControls.

Este controlo de entrada de acção estará então disponível e seleccionável na secção Acção, nas propriedades do parâmetro, dependendo do tipo do parâmetro da sua acção.

Aqui está um exemplo

No nosso exemplo, vamos actualizar um número de telefone de contacto e um e-mail. A novidade aqui é que vamos obter dados da aplicação Apple Contact. Assim, nesse caso, vamos simplesmente utilizar o telefoneContact e o e-mailContact, controlos de entrada de acção disponíveis na galeria.

Como fica na aplicação do utilizador

O utilizador apenas terá de seleccionar a acção editContact no menu de acção para exibir o formulário de acção na aplicação móvel. A partir daí, os controlos de entrada de acção dar-lhe-ão então a capacidade de seleccionar um número de telefone e um e-mail da aplicação Contacto Apple.

blank

Assim, como pode ver, os controlos de entrada de acção são outra óptima forma de interagir com as aplicações Apple Native e adicionar uma boa interacção nas suas aplicações móveis.

Como fica no editor do projecto

blank

Depois, precisamos de criar a acção de edição no método da base de dados On Mobile App Action para fazer funcionar o nosso exemplo.

editar a acção 4D código

Aqui está um exemplo do código 4D no método de base de dados On Mobile App Action, para a acção de edição predefinida, utilizando o componente MobileAppServer:

#DECLARE($request : Object)->$response : Object
$action:=MobileAppServer.Action.new($request)
$response:=New object("success"; False)

Case of 
 : ($action.name="editContact") // edit@

  var $entity; $status : Object   
  $entity:=$action.getEntity()

  For each ($key; $request.parameters)
     $entity[$key]:=$request.parameters[$key]
  End for each

  $status:=$entity.save()  // save the entity

  If ($status.success)
    $response.success:=True  // notify App that action success
    $response.dataSynchro:=True  // notify App to refresh the selection
    $response.statusText:="Edited"
			
  Else 
    $response.statusText:="Failed to edit"  // $status.statusText
    $response.errors:=$status.errors
  End if 
End case 

Como lembrete, o componente MobileAppServer, que é construído em 4D, dá-lhe acesso a vários métodos utilitários para acelerar a codificação de backend da sua aplicação 4D móvel.

Não hesite em dar-nos feedback sobre o fórum 4D, e consulte a documentação para mais detalhes!

David Azancot
• Proprietário do produto 4D for iOS - David Azancot uniu-se ao time 4D Product como Proprietário do Produto em 2017. Está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação de funcionalidades satisfaçam às necessidades do cliente. David se formou com um MBA em Marketing, Internet e mobilidade no Instituto Leonard da Vinci e começou sua carreira em 2011 com uma empresa móvel de nova criação, posteriormente adquirida por Madvertise (um grupo de marketing móvel). Apaixonado pelas interfaces móveis, foi a escolha natural para desenvolver formatos de anúncios móveis interativos para o grupo em 2015. Paralelamente, David desenvolve suas próprias aplicações para iOS e Android desde 2012.