Mesmo que você tenha que criar toda a aplicação em uma máquina Windows, veja que salada:
- Notebook Windows rodando Genexus (Evolution 3 no meu caso),
- Mac rodando XCode, se não tiver instalado terá que baixar na Apple Store,
- Ambos Notebook e Mac rodando na mesma rede,
- Aplicação gerada no Genexus sendo enviada para o Mac, que cria um projeto na pasta Documents do usuário
- Simulador abrindo no Mac, permitindo que se interaja com a aplicação em execução
- Dados da aplicação sendo recuperadas do banco de dados que se encontra no Notebook Windows em um BD.
Então, caso você tenha toda esta curiosidade, vou passar as dicas:
1) No Notebook
Será necessário desligar o Firewall do notebook para que não barre a transmissão de dados do BD local para o Mac. Faça isso selecionando Network and Sharing Center, tem uma opção para acessar o Firewall de lá.
2) No Genexus
Além de construir um SD Panel + Dashboard (marcar como main), ou seja, seguir os procedimentos normais para criar uma App para o Ios, será necessário definir as propriedades corretas no Environment - Generators - SmartDeviceOnde as propriedades significam: mac-host é o valor de Computer name no mac, que pode ser obtido (se voce nao souber) na aba Software do System Reporter, (About This Mac). mac user e password é a senha do administrador da maquina Mac.
Em seguida no Environment terá que ajustar as propriedades para execução do programa por meio de IP e não pelo nome da máquina, isto porque o MAC deverá acessar os serviços REST por meio do IP onde se localizam. Deve ficar mais ou menos assim: http://192.168.0.102/first.NetEnvironment/
3) Problemas: error: Auth fail
Gostaria muito de não passar por isso, mas ocorreu duas situações de erro aqui. Esta (Auth Fail) significa que o usuário fornecido não tem privilégios de administrador da maquina. Para corrigir designe o usuario no mac como administrador ou coloque o usuário correto no Genexus.\========== iOS Compilation started ==========
Command: MacTransfer compile "Douglas-Mac" "douglas" "" "first" ".Net Environment" "Map" "SimMac/iPhone-6/Latest" "Z:\Models\Produto\first\CSharpModel" "10.3.94353 U4"
Connecting to Douglas-Mac
error: Auth fail
iOS Compilation Failed
Run Map Failed
3) Problemas: error: Error getting sdk version (error code 69)
Para mim este erro ocorreu porque não havia ainda registrado o XCode para o usuário administrador do Mac. Após uma atualização perdeu-se este registro. Para realizar a operação deve-se abrir o XCode no Mac e fornecer a senha do usuário quando solicitada.
\Command: MacTransfer compile "Douglas-Mac" "Douglas H Oliveira" "" "first" ".Net Environment" "Map" "SimMac/iPhone-6/Latest" "Z:\Models\Produto\first\CSharpModel" "10.3.94353 U4"
Connecting to Douglas-Mac
error: Error getting sdk version (error code 69)
error: Execute in Mac's command line the following:
error: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -version -sdk
iOS Compilation Failed
Run Map Failed
/Users/douglas/Documents/Projects/first/dotNet Environment/Map
Ao término da operação um comando para abrir o simulador no MAC é enviado e o simulador é aberto.
sshExec: osascript -e 'tell application "Terminal" to do script "/Users/douglas/Library/Artech/GeneXus/10.3.94353_U4/ios-sim launch \"~/Documents/Projects/first/dotNet Environment/Map/build/Debug-iphonesimulator/Map.app\" --devicetypeid \"com.apple.CoreSimulator.SimDeviceType.iPhone-6, 9.0\" --exit"'
iOS Execution Success
Run Map Success
Comparando com a demora do emulador Android, diria que é bem mais rápido e preciso.
\Command: MacTransfer compile "Douglas-Mac" "Douglas H Oliveira" "" "first" ".Net Environment" "Map" "SimMac/iPhone-6/Latest" "Z:\Models\Produto\first\CSharpModel" "10.3.94353 U4"
Connecting to Douglas-Mac
error: Error getting sdk version (error code 69)
error: Execute in Mac's command line the following:
error: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -version -sdk
iOS Compilation Failed
Run Map Failed
4) Sucesso
Nem só de erros vivemos esta vida, após os dois pequenos ajustes anteriormente chegamos a instalação correta do projeto no XCode no MAC.Lendo o resultado das mensagens apresentadas temos que o aplicativo foi instalado na pasta:
/Users/douglas/Documents/Projects/first/dotNet Environment/Map
Ao término da operação um comando para abrir o simulador no MAC é enviado e o simulador é aberto.
sshExec: osascript -e 'tell application "Terminal" to do script "/Users/douglas/Library/Artech/GeneXus/10.3.94353_U4/ios-sim launch \"~/Documents/Projects/first/dotNet Environment/Map/build/Debug-iphonesimulator/Map.app\" --devicetypeid \"com.apple.CoreSimulator.SimDeviceType.iPhone-6, 9.0\" --exit"'
iOS Execution Success
Run Map Success
Comparando com a demora do emulador Android, diria que é bem mais rápido e preciso.
Nenhum comentário:
Postar um comentário