Requisitos
- Sistema Apple Mac OS X
- A versão mais recente do Xcode
- JDK 17 instalado
- Apache Maven
- (Recomendado, mas não obrigatório) Origem do buffer de protocolo do Google
Configuração do Mac
- Instale as ferramentas de linha de comando do Xcode executando:
sudo xcode-select --install- Adicione ao seu
.bash_profile:
export JAVA_HOME=`/usr/libexec/java_home -v 17`- Se o Maven não estiver instalado (tente
mvn -versionem um terminal), use o Homebrew:
brew install mavenCriar um fork do projeto J2ObjC
Para fazer um fork do projeto J2ObjC, abra a página principal dele e clique no botão "Fork":

Selecione o nome da sua conta do GitHub. A bifurcação será criada em alguns segundos.
Em seguida, clone uma cópia da sua bifurcação no sistema local para desenvolvimento. Primeiro, clique no botão [Clonar ou baixar] e depois em "Copiar para a área de transferência":

Em seguida, clone em um diretório local:
git clone (Command-V) # Paste the copied URLInstalar protobuf e abseil
É necessário ter o protobuf C++ instalado antes de criar o J2ObjC.
Para instalar o pacote binário protobuf, use o Homebrew:
brew install protobufO build do Protobuf C++ agora depende da biblioteca Abseil. Instale também:
brew install abseilDefina PROTOBUF_ROOT_DIR como a raiz em que o protobuf está instalado.
Normalmente, esse é o padrão do Homebrew /usr/local. Adicione o seguinte ao
.bash_profile:
export PROTOBUF_ROOT_DIR=/usr/local # or your custom Homebrew dirPara verificar, execute $PROTOBUF_ROOT_DIR/bin/protoc --version.
Como criar o J2ObjC
Para criar na linha de comando em uma janela do terminal, execute:
# Build just the translator and librariesmake dist# Build the protocol buffer compiler and runtime for J2ObjCmake protobuf_dist# Build everything that is included in the project's distribution bundlesmake all_dist
Teste do J2ObjC
Para testar em uma linha de comando em uma janela de terminal, execute:
# Run translator and library unit testsmake test# Run all unit tests, including for protocol buffersmake test_all
Como limpar um build
# Remove all files generated by the buildmake clean
Compilações paralelas
O build do J2ObjC oferece suporte a builds paralelos, que são especificados usando a flag
-j<n>, em que n é o número máximo de tarefas simultâneas. O máximo depende da velocidade do seu sistema. Sugerimos começar com -j4.
Aumente o número para reduzir os tempos de build se o sistema puder lidar com
isso e diminua se o make falhar com erros do sistema.
Como criar arquiteturas iOS de 32 bits
As arquiteturas iOS de 32 bits ("iphone" e "simulator") não são criadas por padrão. Para isso, especifique-as primeiro na variável de ambiente J2OBJC_ARCHS:
$ export J2OBJC_ARCHS="iphone simulator"
$ make -j8 all_dist
Especificar um subconjunto de arquiteturas compatíveis geralmente pode ser usado para acelerar
os builds locais, especificando apenas as arquiteturas de que seu app precisa.
Para criar apenas o iOS de 64 bits ("iphone64") e o simulador associado ("simulator64"), por exemplo, defina J2OBJC_ARCHS="iphone64 simulator64" antes de executar make.
Como criar a distribuição completa
Embora a equipe do j2objc não poste mais distribuições pré-criadas no GitHub devido às limitações de tamanho de arquivo, o script "build everything in one step" ainda pode ser usado:
$ scripts/build_distribution.sh HEAD-<current-date> $PROTOBUF_ROOT_DIR
Esse script leva muito tempo para ser executado porque todas as arquiteturas de todos os pacotes j2objc são criadas. No entanto, é muito útil se houver falhas gerais de build, já que ele é criado apenas com o conjunto mínimo de variáveis de ambiente. Se o script build_distribution for concluído, mas as etapas normais de build não, verifique se alguma variável de ambiente local está definida incorretamente.