Para atualizar o seu app iOS será necessário os seguintes pré-requisitos:
NÃO FUNCIONARÁ EM UMA MÁQUINA VIRTUAL (VM)
Em versões do MacOS inferiores à 14.4.1 podem ocorrer diversos erros no projeto impossibilitando a geração
Instalação de algumas aplicações que são pré-requisitos para que você consiga fazer a correta atualização do aplicativo.
Instale o programa Xcode em sua máquina através da App Store.
Com o Xcode já instalado, execute os seguintes comandos utilizando o Terminal:
Para executar os comandos abaixo, abra o Terminal em seu Mac, copie e cole cada um dos comandos de maneira individual e tecle Enter. Execute o próximo comando sempre que o anterior for finalizado.
Instale o Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Instale o Node:
brew install node
Instale a CocoaPods:
brew install cocoapods
Instale o Imagemagick:
brew install imagemagick
Instale o Gsed:
brew install gsed
Por último, execute o seguinte comando (será solicitada a senha do Mac para executá-lo):
sudo xcode-select --switch /Applications/Xcode.app
Geração dos ícones necessários para o projeto a partir de uma imagem 1024x1024 pixels no formato .png e com fundo sólido.
Caso não tenha guardado a pasta xcassets feita na geração do aplicativo ou queira mudar a logo, será necessário seguir os passo a baixo para gerar a pasta.
Faça o download da pasta que contém o script que será utilizado para gerar os ícones clicando neste link: https://cloud.ixcsoft.com.br/f/423e14645ccd4ad684e8/
Descompacte a pasta e já tenha em mãos a imagem 1024x1024 pixels em formato .png com fundo sólido (não pode ter fundo transparente).
Coloque a imagem dentro da pasta descompactada juntamente com o script.
Ressaltando que a imagem precisa ter resolução de 1024x1024 pixels, não ter o fundo transparente, estar no formato .png e estar com o nome “1024x1024.png”, sem aspas, como na captura de tela abaixo. Do contrário, não irá funcionar.
Abra o Terminal na pasta e execute os dois comandos a seguir, respectivamente:
chmod +x ./script.sh
./script.sh
Ao finalizar a geração dos ícones, será criada uma pasta chamada “Images.xcassets”. Essa será a pasta de ícones utilizada no projeto.
Verificar na sua conta a validade dos seus certificados, principalmente se a última atualização ou lançamento do aplicativo for antiga (1 ano ou mais). Caso a validade esteja perto de expirar é recomendado que faça a geração de novos certificados.
Para verificar a validade dos seus cetificados, acesse a Apple Developer e desta vez clique em Certificates.
Na sessão Certificates, verificar os seguintes certificados: ios Distribution e apple push services.
Na sessão Profiles verificar o certificado: App Store.
Caso seus certificados precisem de atualização, revogue os certificados existentes e gere novamente. Abra o aplicativo Acesso às chaves, no Mac. O nome do aplicativo em inglês é Keychain.
Siga o caminho:
Preencha as informações de nome e e-mail.
Selecione a opção Salvar no disco e então salve o arquivo em um local seguro.
Repita o mesmo processo mais uma vez, pois serão necessários dois arquivos “CertificateSigningRequest.certSigningRequest” (request) mais adiante.
Acesse sua conta de desenvolvedor na Apple Developer e clique em Certificates.
Note que não há versão em português para o site Apple Developer.
Vá para Identifiers e então clique no Identifier já existente.
Desça a página até encontrar Push Notifications clique no botão Configure.
Clique em Create Certificate, na seção Production SSL Certificate (não pode ser na Development SSL Certificate).
Na próxima tela, faça upload do primeiro arquivo CertificateSigningRequest.certSigningRequest (request) que você criou através do Acesso às chaves momentos atrás e então clique em Continue.
Faça o download do certificado e salve-o em um local seguro.
Após baixar o certificado, instale-o em sua máquina com um duplo clique.
Após esse duplo clique, ele será instalado e estará disponível no Acesso às chaves, onde você deverá exportar a chave privada no formato .p12, como na imagem a seguir:
Ao clicar em Exportar, será necessário adicionar uma senha para a chave privada, mas você pode deixar sem (em branco) e clicar em Ok.
Depois disso, será necessário digitar a senha do Mac para liberar a exportação.
Salve a chave privada em um local seguro. Será necessário fazer upload dessa chave no Firebase.
Volte ao site Apple Developer, acesse Certificates e crie um novo.
Selecione a opção iOS Distribution (App Store and Ad Hoc) e continue.
Faça o upload do segundo arquivo CertificateSigningRequest.certSigningRequest que você gerou no Acesso às chaves anteriormente e continue.
Faça o download deste novo certificado em um local seguro.
Instale-o da mesma maneira que instalou o anterior, com duplo clique.
Desta vez não será necessário exportar a chave privada.
Acesse Profiles e crie um novo.
Selecione a opção App Store, na seção Distribution, e continue.
Selecione o App ID que você criou anteriormente e continue.
Selecione o certificado do App ID que você criou anteriormente e continue.
Em Provisioning Profile Name, preencha o nome que você dará ao aplicativo e continue.
Faça o download do arquivo (Nome_do_app.mobileprovision) em um local seguro. Esse arquivo será utilizado mais adiante no Xcode.
Acesse novamente a Apple Developer e desta vez clique em Apps.
Na tela a seguir, selecione o seu app.
Na tela inicial clique na opção + dentro de um círculo azul, ao lado do texto "App para iOS".
Na janela que abrirá digite o número da nova versão, caso seja a primeira vez que atualizar pode colocar 1.1 o único requisito para esta informação é que seja um número maior do que o que já estava antes.
A seguir haverá a tela de atualização do app, nela será póssível trocar as imagens dos prints do app caso deseje alterar.
Em relação as capturas de tela, entrar em contato com o SUP - Suporte Instalação e Manutenção de Servidor - IXC, poderemos disponibilizar os prints.
Quatro resoluções de prints são obrigatórias:
Mais a baixo haverão alguns textos que podem ser editados e são obrigatórios: texto promocional, descrição, o que há de novo e palavras-chave.
Em seguida heverão opções que também poderá deixar preenchidas como estão: a URL de suporte, caso voce tenha um site externo pode disponibilizar neste campo, ou então o link da central do assinante. No campo Copyright preencha com o ano e a razão social de sua empresa.
Nesta parte há alguns campos muito importantes.
Início de sessão obrigatório - São dois espaços para preencher, neles devem ser preenchidos o login para acessar a central do assinante, verifique se o login e senha ou o CPF aqui preenchidos ainda acessam a sua central do assinante, caso não acesse, procure um cadastro ativo no seu IXC e insira o login da central dele neste campo, pois caso não esteja acessando o seu app será recusado.
Baixe o projeto atualizado através deste link e descompacte-o no diretório Home/Usuário do mac" para que não ocorram futuros erros na geração (Utilize o comando 'Ctrl + shift + h' para abrir diretamente dessa forma).
Caso resolva trocar o nome da pasta antes de descompactá-la, não pode haver espaços no nome.
Substitua a pasta Images.xcassets no caminho
pela pasta Images.xcassets que você gerou anteriormente através do script de geração de imagens.
Lembre-se de substituir a pasta, não combiná-la.
Substitua o arquivo GoogleService-Info.plist no caminho
pelo GoogleService-Info.plist que você baixou do Firebase.
Troque a URL da Central no arquivo ConstantesHelper.js através do caminho
Troque apenas o domínio, não altere o restante da URL nem o slug “/central_assinante_ios”.
Ex.: https://seudominio.com.br/central\_assinante\_ios
Abra o Terminal NA PASTA DO PROJETO e execute os seguintes comandos, na seguinte ordem:
Copie e cole cada um dos comandos de maneira individual e tecle Enter. Execute o próximo comando sempre que o anterior for finalizado.
rm -rf node\_modules
npm install -legacy-peer-deps
cd ios
rm -rf main.jsbundle
rm -rf Pods
pod install
cd ..
brew update
brew install watchman
npx react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
gsed -i 's/11\\.0/12.4/g' ios/Pods/Pods.xcodeproj/project.pbxproj
Após realizar esses processos, abra o projeto através do arquivo CentralMobile.xcworkspace, que fica localizado no caminho
Espere o Xcode indexar todos os arquivos. Este processo pode levar um tempo dependendo do tipo de disco que você utiliza (SSD SATA, SSD NvME ou HDD).
Acesse o arquivo LaunchScreen, depois splash. Clique em cima da imagem central e então, no canto superior direito, em Image e Highlighted, selecione a opção splash em ambas.
Dessa forma, sempre que o aplicativo for aberto, aparecerá a sua logo até que a tela de login seja carregada.
Você também pode clicar no fundo branco (background) e substitui-lo por uma cor sólida (a mesma da sua logo, por exemplo, caso não seja branca).
Arraste o arquivo main.jsbundle que está localizado no caminho
para o Xcode, logo acima do arquivo main.
Acesse a pasta CentralMobile e então a aba General. No target CentralMobile, remova o dispositivo Mac e Apple Vision Pro e adicione o dispositivo iPad, no passo 1.
Depois, no passo 2, selecione a categoria Finance e altere o Display Name para o nome que você dará ao aplicativo. Precisa ser o mesmo nome que você utilizou quando criou o aplicativo na App Store Connect.
No passo 3, como se trata de uma atualização, Version deve ser 1.1 (ou um número maior que a versão anterior), enquanto o Build pode ser 1.
Vá para o target CentralMobileTeste e repita o passo anterior, removendo o dispositivo Mac e adicionando o iPad.
Acesse a aba Signing & Capabilities e preencha o Bundle Identifier com o mesmo ID do pacote Apple (seu domínio de trás para frente) utilizado para gerar o arquivo GoogleService-Info.plist, no Firebase.
Depois, selecione a sua conta de desenvolvedor. Se você ainda não havia realizado o login no Xcode, pode fazê-lo agora.
Com o Bundle Identifier adicionado e a conta de desenvolvedor selecionada, este é o momento que você deverá conectar o iPhone em seu Mac e selecioná-lo no Xcode.
Se o iPhone não estiver com o “Modo de Desenvolvimento” ativado, não será possível realizar o processo. Você pode ativar essa opção no iPhone através do caminho abaixo:
Selecionado o iPhone com o modo de desenvolvimento funcionando, aparecerá um aviso de que o dispositivo ainda não está registrado à conta. Selecione a opção Register Device.
Caso não possua um iPhone é possível usar a opção de simulação, que fica no mesmo local. Utileze o iphone SE por ser uma versão mais leve.
Repita o processo de adicionar o Bundle Identifier e a conta de desenvolvedor no target CentralMobileTeste.
Ao finalizar os passos anteriores, realize o build do aplicativo.
Conforme você pode visualizar na imagem abaixo, o aplicativo teve seu build realizado com sucesso em um dispositivo simulado (iPhone 14 Pro).
Você poderá testá-lo.
Encerrados os testes com o aplicativo, envie-o para a App Store Connect através de um processo chamado Archive.
Para isso, acesse a aba Product e então selecione a opção Archive.
Após finalizado o Archive, abrirá a seguinte tela onde você deverá clicar em Distribute App.
Deixe selecionada a opção que já está, a "TestFlight & App Store" e clique no botão: Distribute.
Ocorrendo tudo bem, o aplicativo será enviado com sucesso à App Store Connect, onde continuaremos o processo através do navegador novamente.
Retorne a App Store Connect para a atualização de app que havia iniciado.
Desça até a opção Compilação. Clique no símbolo “+" e então selecione a opção de compilação mais recente que foi gerada.
Às vezes pode demorar um pouco para que o upload do aplicativo após o “Archive” apareça nesta tela. Atualize-a com frequência.
Caso apareça a mensagem “Faltam dados de conformidade” após clicar em “Concluído”, selecione a opção “Gerenciar” e então marque o campo “Nenhum dos algoritmos mencionados acima”.
Após o envio da compilação, o botão Adicionar para revisão ficará em azul, clique para dar continuidade (caso haja alguma informação faltando ou as capturas de tela não tenham terminado de carregar ele apontará os erros no início da tela, ajuste os erros e clique novamente em "Adicionar para revisão").
Na tela a seguir clique no botão Enviar para Revisão do app.
Pronto. Seu aplicativo para dispositivos iOS foi enviado para revisão com sucesso.
Aguarde a Apple analisá-lo. Esse processo pode levar alguns dias.
Caso esteja tudo certo e o aplicativo seja aprovado, o “status” dele na https://appstoreconnect.apple.com/apps aparecerá como Pronto para a venda.
Caso seja recusado, é necessário avaliar qual foi o motivo informado pela Apple. Em caso de dúvidas quanto à recusa, você pode abrir um novo atendimento com o nosso suporte (SUP - Suporte Instalação e Manutenção de Servidor - IXC) para verificarmos.
Além disso, caso haja algum erro no processo, principalmente se tratando dos comandos que precisam ser executados no Terminal, você também pode nos contatar para verificarmos.