Criando aplicativos Objective-C ou Swift para macOS

Importante

O Visual Studio App Center está programado para ser desativado em 31 de março de 2025. Embora você possa continuar a usar o Visual Studio App Center até que ele seja totalmente desativado, há várias alternativas recomendadas para as quais você pode considerar migrar.

Saiba mais sobre linhas do tempo e alternativas de suporte.

Para começar a criar seu primeiro aplicativo Mac, execute estas etapas:

  1. Conecte-se à sua conta de serviço do repositório (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Selecione um repositório e um branch onde seu aplicativo reside.
  3. Configure o projeto ou o workspace do build e o esquema que você deseja criar.

Observação

Para que o aplicativo seja distribuído, o build precisa ser assinado com um certificado. Um perfil de provisionamento é opcional. Além disso, atualmente, não há suporte para o build para Mac Installers.

1. Vinculando seu repositório

Você deve se conectar à sua conta de serviço do repositório. Depois que sua conta estiver conectada, selecione o repositório em que o projeto mac está localizado. Para configurar um build para um repositório, você precisa de permissão de administrador e pull para ele.

2. Selecionando um branch

Depois de selecionar um repositório, selecione o branch que você deseja criar. Por padrão, todos os branches ativos serão listados.

3. Configurando seu primeiro build

Antes do primeiro build, o projeto mac precisa ser configurado.

3.1. Projeto/workspace e esquema

Para uma configuração de build, um projeto Xcode ou um workspace Xcode e um esquema compartilhado são necessários. O App Center detecta automaticamente os projetos, workspaces e esquemas compartilhados em seu branch. Selecione o projeto ou workspace que você deseja criar e o esquema correspondente.

Se nenhum esquema puder ser encontrado, confirme se o esquema com o qual você deseja compilar é compartilhado e se o contêiner do esquema é o projeto ou o workspace que você selecionou. Verifique também se essas alterações foram verificadas no branch para o qual você está configurando o build.

Marcar esquema como compartilhado

3.2. Versão Xcode

Selecione a versão do Xcode na qual executar o build.

3.3. Gatilhos de build

Por padrão, um novo build é disparado sempre que um desenvolvedor envia por push para um branch configurado. Isso é conhecido como "Integração contínua". Se preferir disparar um novo build manualmente, você poderá alterar essa configuração na configuração de build.

3.4. Incrementar número de build

Quando habilitado, o CFBundleVersion no Info.plist do aplicativo é incrementado automaticamente para cada build. A alteração ocorre antes do build e não será confirmada no repositório.

3.5. Testes

Se o esquema selecionado tiver uma ação de teste com um destino de teste selecionado, você poderá configurar os testes a serem executados como parte de cada build. Atualmente, o App Center pode executar testes de unidade XCTest. O App Center não dá suporte a testes de inicialização para builds do Mac.

3.6. Assinatura de código

Um build bem-sucedido produzirá um .app arquivo. Para instalar o build em um dispositivo, ele precisa ser assinado. Para assinar os builds produzidos de um branch, habilite a assinatura de código no painel de configuração e carregue um certificado válido (.p12), juntamente com a senha do certificado. As configurações em seu projeto Xcode precisam ser compatíveis com os arquivos que você está carregando. Um perfil de provisionamento é opcional para assinatura de código.

Atualmente, o App Center dá suporte apenas a estas configurações de assinatura:

  • Assinatura manual usando o método de exportação de desenvolvimento somente com um certificado de desenvolvimento
  • Assinatura manual usando o método de exportação de ID do Desenvolvedor
  • Assinatura automática usando o método de exportação desenvolvimento

Você pode ler mais sobre a assinatura de código no guia de assinatura de código macOS do App Center e no guia oficial do Desenvolvedor da Apple.

3.7. CocoaPods

O App Center examina o branch selecionado e, se encontrar um Podfile, ele executará automaticamente uma pod install etapa no início de cada build. Isso garante que todas as dependências estejam instaladas.

Se o repositório já contiver uma pasta /Pods , o App Center pressupõe que você fez check-in dos pods no repositório e não executará pod installmais .

3.8. Distribuir para um grupo de distribuição

Você pode configurar cada build assinado com êxito de um branch para ser distribuído para um grupo de distribuição criado anteriormente. Você pode adicionar um novo grupo de distribuição de dentro da seção Distribuir. Há sempre um grupo de distribuição padrão chamado "Colaboradores" que inclui todos os usuários que têm acesso ao aplicativo.

Depois de salvar a configuração, um novo build será iniciado automaticamente.

4. Resultados de build

Depois que um build é disparado, ele pode estar nos seguintes estados:

  • enfileirado – o build está na fila, aguardando que os recursos sejam gratuitos.
  • compilação – o build está executando as tarefas predefinidas.
  • bem-sucedido – o build foi concluído com êxito.
  • falha – o build encontrou falhas que impediram a conclusão. Você pode solucionar problemas do build baixando e inspecionando os logs de build.
  • cancelado – o build foi cancelado por uma ação do usuário ou atingiu o tempo limite.

4.1. Logs de build

Para obter um build concluído (com êxito ou falha), baixe os logs para entender mais sobre como o build foi. O App Center fornece um arquivo morto com os seguintes arquivos:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1> (e.g. 2_Get Sources.txt)
    |-- <build-step-2> (e.g. 3_Pod install.txt)
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

Os logs específicos da etapa de build (localizados no build diretório do arquivo morto) são úteis para solucionar problemas e entender em qual etapa e por que o build falhou.

4.2. O aplicativo (.app)

O .app arquivo é um arquivo morto do aplicativo Mac, que contém o aplicativo Mac.

  • Se o build for assinado corretamente, o .app arquivo poderá ser instalado em um dispositivo correspondente ao perfil de provisionamento usado ao assinar. Mais detalhes sobre assinatura e distribuição de código com o App Center podem ser encontrados na documentação de assinatura de código do macOS do App Center.
  • Se o build não tiver sido assinado, o .app arquivo poderá ser assinado pelo desenvolvedor. Por exemplo, usando codesign.

4.3. O arquivo de símbolos (.dsym)

Os .dsym arquivos contêm os símbolos de depuração para o aplicativo.

  • Se você adicionou o SDK do App Center em seu aplicativo com o módulo de relatório de falhas habilitado, o serviço de relatório de falhas requer esse .dsym arquivo para que um build exiba relatórios de falha legível (simbólico).
  • Se você adicionou outro SDK para relatórios de falhas em seu aplicativo, como o SDK do HockeyApp, o serviço exige que o .dsym arquivo exiba relatórios de falha legíveis por humanos.

Os .dsym arquivos não são alterados ao assinar o .appcódigo . Se você decidir assinar o build mais tarde, o .dsym gerado antes da assinatura de código ainda será válido.

Criar internos

Para criar seu projeto, usamos xcodebuild, uma ferramenta de linha de comando que permite criar, consultar, analisar, testar e arquivar seus projetos e workspaces do Xcode.

Versões e requisitos com suporte

Os detalhes da versão do computador de build são atualizados sempre que uma nova versão do macOS é adicionada. Incluímos as versões mais recentes lançadas pela Apple assim que possível em nossas VMs de build.