iOS Development

Enviando uma aplicação iOS para o iTunes Connect

Enviando uma aplicação iOS para o iTunes Connect

Defina o número da nova versão do app na tab "General". Verifique se o perfil de desenvolvimento é compatível com o envio. Ex: Para o envio do BanSeg o time designado deve ser o BANESTES SEGUROS SA, ou o arquivo será rejeitado no momento do envio.

Selecione Product>Archive para gerar um arquivo com extensão ".ipa" para ser enviado ao iTunes Connect. Obs: Se a opção não estiver disponível no menu deixe selecionada o destino da execução do app como "Generic iOS Devices", como na imagem abaixo.

Selecione "Export..."

Marque a primeira opção e clique em "next".

Mantenha as opões padrão e selecione export.

Aguarde...

Selecione o destino do arquivo ".ipa" e pressione "Export". (Eu costumo salvar no Desktop para fácil acesso e remoção após o envio para o iTunes)

Abra o Application Loader em "Xcode>Open Developer Tool> Application Loader".

Verifique se o perfil logado corresponde ao perfil de desenvolvimento do seu projeto no XCode. Faça o login da conta correta caso necessário. Clique em "Chose" e selecione o arquivo exportado (com extensão ".ipa").

Clique em "Next".

Aguarde o envio...

Se tudo ocorrer corretamente você receberá uma tela de sucesso.

Habilitando uma nova versão do app iOS para testes pelo Test Flight

Habilitando uma nova versão do app iOS para testes pelo Test Flight

Após o envio da aplicação para o iTunes Connect a partir do Application Loader, faça login com uma conta de desenvolvimento atrelada ao projeto em https://itunesconnect.apple.com/:

Na tela principal do iTunes Connect selecione "My Apps > eSegurado". Na tab "Activity" verifique se a última verssão enviada está disponível. Se estiver como na imagem abaixo aguarde o fim do processamento (que pode levar mais de uma hora a partir do momento de envio).

Clique na tab "TestFlight" e no ícone amarelo de exclamação. Clique no link na nova caixa exibida para procidenciar informações de conformidade.

O iTunes exige algumas informações de encriptação para evitar problemas legais. Se essa é uma nova versão de um applicativo ja autorizado somos apenas questionados sobre mudanças a esse respeito na última versão. Selecione "No" e clique em "Start Internal Testing".

O aplicativo será disponibilizado para "Internal Testers" e estará pronto para iniciar a submissão para "External Testers".

Os "External Testers" estão adicionados em grupos localizados na barra à esquerdana, na parte inferior. Na imagem abaixo os grupos "BANSEG" e "External Testers" foram criados. Selecione o grupo de usuários externos em que se deseja liberar uma nova versão de teste e na tab "Builds" clique sobre o símbolo de "+", ao lado da palavra "Builds".

Selecione o build da última versão correspondente e clique em "Next".

Um usuário válido para testes é exigido. Clique em "Next".

Adicione informações para os seus testadores sobre a última versão do app e o que deve ser testado. Clique em "Submit for Review".

Após a conclusão do Review a aplicação será disponibilidadas para os testadores pelo app TestFlight.

Guia de publicação de apps na app store

Pré-Requisitos

Ter uma conta no App Store Connect;

Verifique que o app está em conformidade com o App Store Guidelines;

Teste o app para que ele não tenha nenhum bug ou crash sério;

Status de um app na App Store Connect

Ciclo quando tudo dá certo:

Prepare for Submission: etapa de criação de um app ou de uma versão;

Waiting for Review: Após enviar um build para a apple, a apple deverá revisar os dados do app e aprovar ou reprovar para publicarção na loja.

In Review: Revisão em andamento.

Waiting for Export Compliance: Quando o app é publicado para lojas fora do EUA, é necessário declarar o Export Compliance (conforme leis de exportaçao dos EUA);

Pending Developer Release: App aprovado pela apple, aguardando clicar no botão para publica-lo na loja.

Ready for Sale: Está disponível na loja.

Todos os status e o que cada um significa no site da Apple.

Primeiros passos

Faça login na App Store Connect

clique em My Apps e crie um novo app.

 

Preencha as informações do app (nome, descrição, categoria do app, etc)

 

App Privacy Policy (Obrigatório desde out/2018)

Saiba mais em:

a) https://themanifest.com/app-development/4-reasons-your-app-needs-privacy-policy.

b) https://www.termsfeed.com/blog/ios-apps-privacy-policy

Geradores online:

a) Em Inglês

b) Em Inglês 2

 

Inclua as screenshots

São obrigatórias screenshots em pelo menos 2 tamanhos: 6.5inch e 5.5 inch conforme imagem com link abaixo.

Faça upload do app conforme descrito aqui

Uma versão irá aparecer no site da apple connect

 

Escolha a build para a versão que está sendo submetida à loja.

 

Clique em Submit for Review.

 

Depois de submetido, seu app deverá ficar na fase Waiting for Review.

Agora é só esperar (até 4 dias). Quando seu app for aprovado, você receberá um email avisando.

Configurando de Push Notifications no iOS

Para configurar as push notifications são necessárias 5 etapas distintas:

Configuração do certificado da APN na Apple

Configuração dos certificados de push notification do projeto na Apple

Configuração do projeto no Firebase

Configuração do projeto React-Native

Teste

Configuração do certificado da APN na Apple

Baixar a Auth Key (APN key) registrada em https://developer.apple.com/. Essa Chave não pode mais ser baixada diretamente do site, ela se encontra na rede em P:\Certificados iOS\APN Keys.

Obs: Existem 2 chaves nesse diretório da rede. Ambos podem ser utilizados.

Configuração dos certificados de push notification do projeto na Apple

Seguir o tutorial em: How to Create a Push Notification Certificate

Configuração do projeto no Firebase

No Firebase, acessar o projeto (cadastrar um caso não exista)

 

Abrir a aba Cloud Messaging

 

Na seção APNs Authentication Key, faça o upload da APN Key da Apple

 

O arquivo é a chave *.p8 baixada anteriormente.

A Key ID é o código que está no nome do arquivo .p8, após o undeline e antes do .p8 conforme na imagem abaixo.

O Team ID pode ser consultado na conta do developer.apple.com

 

Após o upload, a configuração ficará conforme a figura abaixo

 

Configuração do projeto React-Native

No aplicativo MDK Exames fizemos da seguinte forma:

Incluir os pacotes do firebase e do react-native-notifications;

yarn add @react-native-firebase/app

yarn add react-native-notifications

Incluir código para que o App possa pedir a permissão do usuário para enviar push notifications

import { Notifications } from 'react-native-notifications'

if (Platform.OS === 'ios') {

 Notifications.ios.registerRemoteNotifications()

}

Incluir código para receber o token do dispositivo e fazer alguma coisa com isso (enviar ao servidor provavelmente)

import { Notifications } from 'react-native-notifications'

if (Platform.OS === 'ios') {

 Notifications.events().registerRemoteNotificationsRegistered((event) => {

 const token = event.deviceToken

 console.log('Device Token Received', token)

 // Enviar Token ao servidor

 })

 Notifications.events().registerRemoteNotificationsRegistrationFailed((event) => {

 console.error(event)

 })

}

Reinstalar os pods;

cd ios

pod install

Baixar do Firebase, o arquivo GoogleService-Info.plist;

Abrir o projeto .xcworkspace no XCode e:

a) Incluir o arquivo GoogleService-Info.plist no projeto;

 b) Habilitar as push notifications nas Capabilities do projeto;

 c) No arquivo AppDelegate.m incluir o código abaixo:

#import "Firebase.h"

#import "RNNotifications.h"

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions

{

 ...

 [FIRApp configure];

 [RNNotifications startMonitorNotifications];

 ...

 return YES;

}

 

Recompilar.

Teste do envio de Notificação

Existem sites que fazem o envio de notificação com fins de teste. Um dele é o https://www.apnstester.com/apns/.

