Pergunta

Atualmente, estou desenvolvendo um punhado de aplicativos de mesa de cacau semelhantes. Em um esforço para compartilhar o código entre eles, identifiquei um conjunto de classes e funções principais que podem ser comuns em todos esses aplicativos. Gostaria de agrupar esse código comum em uma estrutura com a qual todos os meus aplicativos atuais (e quaisquer futuros) podem vincular.

Agora, aqui está a parte mais difícil: vou desenvolver essa estrutura à medida que for, então preciso que cada um dos meus aplicativos de desktop tenha uma referência a ele, mas quero poder editar o código -fonte da estrutura de cada dos projetos de aplicativos e têm a estrutura reconstruída automaticamente, conforme necessário.

Por exemplo, digamos que eu tenho o projeto Xcode para o DesktopAppNumberOne Open, e eu decido que uma das minhas aulas de estrutura precisa ser alterada. Eu gostaria de:

  1. Abra e edite o arquivo de origem para essa classe Framework sem precisar abrir o projeto Framework no Xcode.
  2. Hit "Build" no desktopappnumberOne e veja a estrutura reconstruída primeiro (porque uma de suas fontes mudou) e depois veja partes do desktopAppNumberOne reconstruídas (porque uma das estruturas contra as quais se vincula mudou).

Eu posso ver como fazer isso com apenas um aplicativo e uma estrutura, mas estou tendo problemas para descobrir como fazê -lo com vários aplicativos que compartilham uma única estrutura.

Alguém teve sucesso com essa abordagem? Talvez eu esteja fazendo isso da maneira errada? Qualquer ajuda seria apreciada.

Foi útil?

Solução

Faça um projeto Xcode para sua estrutura.

No painel 'Grupos e arquivos'> Veja o ícone do projeto azul no canto superior esquerdo? Arraste e solte isso para o painel 'Grupos e arquivos' de qualquer outro projeto que você quiser.

Portanto, faça um projeto de aplicativo e arraste o ícone do projeto do seu projeto de estrutura.

CMD-i em seu alvo de aplicativo. Aqui você define sua dependência da estrutura e link contra ela.

Alguns pontos

Vincular vários aplicativos a uma estrutura pode ser estressante. Você precisará instalar sua estrutura em /biblioteca /estruturas ou equivalente ou agrupar em cada aplicativo.

Para fins de desenvolvimento, acho que definir um diretório de construção comum personalizado para cada um dos projetos facilita as coisas. Eu defino cada projeto para construir /Code/build/debug. Isso significa que o caminho de pesquisa da estrutura para a construção de depuração pode ser $ configuration_build_dir. Para suas compilações de lançamento, você ainda terá algum trabalho com caminhos de instalação, RPaths, etc. Dor na bunda!

Os arquivos Xconfig são seus amigos. O material de caixa de ferramentas do Google Mac de código aberto é um bom exemplo de como usá -los. Você provavelmente precisará de pelo menos um Project_debug.xconfig, Project_release.xconfig, Target_framework.xconfig, Target_application.xconfig.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top