Pergunta

Gostaria de escrever algum código Objective-C para distribuição. Qual é a melhor maneira de empacotar a saída. Em Java você pode empacotar seu código em um arquivo JAR e distribuir isso. Qual seria o equivalente em Objective-C?

O link a seguir está perto, mas parece endereço mais das questões de namespace que não estou preocupado. Estou principalmente preocupado sobre como definir o código para distribuição fácil.

Objective-C equivalente de pacotes Java?

Foi útil?

Solução

Um quadro é quase certamente o caminho a percorrer. Uma das coisas realmente agradáveis ??sobre Frameworks no OS X é que eles podem agrupar os executáveis ??de código, cabeçalhos, metadados, imagens, ícones, etc., em um único pacote. Além disso, os quadros podem ser incluídos em */Library/Frameworks/ ou mesmo dentro de seu pacote aplicativo completamente dissociar da dependência de qualquer outro aplicativo em uma determinada versão do quadro.

Quadro da Apple Guia de Programação é o melhor lugar para começar com frameworks.

A criação de um quadro é simples. Basicamente, no Xcode você escolhe File> New Project ... e selecione Framework, então Cacau Framework. Isto irá criar um novo projecto com alvo quadro e automaticamente empacotar tudo para você quando você construir.

Não se esqueça que a documentação e testes de unidade são uma boa coisa ™, especialmente para os quadros, que são inerentemente mais propensos a ser utilizados por vários clientes do que a maioria do código do usuário final. Você pode adicionar mais alvos ao seu projeto Xcode quadro para documentar e testá-lo.

Uma vez que você está procurando exemplos, veja CHDataStructures.framework (um projeto que Eu desenvolver) e PSMTabBarControl.framework (que inclui muitos recursos extras no quadro). Ambos são open-source, e deve fornecer exemplos adequados para rolar seus próprios.

Uma palavra de conselhos para poupar algum cabeça-coçar: seus arquivos de cabeçalho não será copiado para o quadro construído a menos que você clique no alvo quadro e mudar o Função para "Público" (ou "Private").

Outras dicas

Você deseja criar um quadro. Há um ponto de partida no Xcode para um novo projeto para criar um destes. Há algumas ressalvas e Armadilhas, mas no geral o processo é simples.

Edit: Para esclarecimento: Se você está planejando distribuí-lo como software livre; embalá-lo em um quadro pode ser um exagero; apenas distribuir o código-fonte pode ser uma opção mais sensata e mais simples. Mas se você gostaria de manter a fonte em si ou distribuí-lo com uma coleção de recursos relevantes, um quadro pode definitivamente ser uma boa idéia.

reeditar: Para uma introdução, consulte http://developer.apple.com / documentation / MacOSX / conceitual / BPFrameworks /

Você não disse se era para o iPhone ou não. No iPhone, ele precisa ser um .sa (biblioteca estaticamente ligado) - mas acho que a distribuição normal faria por um .dylib ou .so

Você pode compilá-lo como um quadro ou como uma biblioteca estática (.so eu acredito).

programas Java executados no contexto de uma máquina virtual. Jar contém bytecodes abstratos que devem ser convertidos em código de máquina nativo pela VM.

Objective-C, como C, é compilado em código de máquina nativo, como um arquivo .exe Win, diretamente executável pelo sistema operacional.

A maioria dos programas de qualquer complexidade consistir em mais do que um único arquivo e incluir DLLs, arquivos de ícone, etc. A configuração de seus arquivos para distribuição seria normalmente tratado por um utilitário de configuração.

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