A Apple tem um programa focado no mercado corporativo onde ela fornece uma App Store privada (mais detalhes podem serem vistos aqui: App Store Privada), recentemente pegamos um projeto do Grupo Sanofi que é o desenvolvimento de um App para a Merial e outro para a Medley, um dos requisitos destes Apps eram serem distribuídos na loja privada da Sanofi.

Para distribuir uma App na loja deles é obrigatório que o App seja compilado e assinado com o certificado da Sanofi. Isto deu uma certa dor de cabeça, pois o time da Sanofi nos enviou apenas o certificado.p12 e o mobileprovision deles, mas no Xcode não encontramos nenhuma opção ou linha de comando para compilar e assinar um App com estes arquivos. O Xcode obriga a seleção de um AppleId e através dele “puxa” os certificados e mobile provisionings existentes na sua conta no developer.apple.com. Depois de muito apanhar descobrimos um App chamado iResign para reassinar um app. Esta foi a única saída para conseguirmos compilar/assinar o App com os dados do cliente.

Segue abaixo o passo a passo para assinar um App já compilado.

 

  1. Efetuar o download do iResign
  2. Abrir o app iResign
  3. Selecionar o arquivo app.xcarchive (app compilado não assinado) ou o app.ipa (app já assinado
  4. Selecionar o arquivo.mobileprovision
  5. Selecionar opcionalmente o arquivo.plist (apenas se quiser sobrepor o plist já existente no app)
  6. Digitar opcionalmente o id do App (Ex. com.company.appname) apenas se desejar modificar o App Id já definido no App compilado
  7. Clicar em “ReSign”
  8. Seu novo arquivo app.ipa será gerado

iresign