Requisiti
- Sistema Apple Mac OS X
- L'ultima versione di Xcode
- JDK 21 installato
- Apache Maven
- (Consigliato ma non obbligatorio) Origine Google Protocol Buffer
Configurazione del Mac
- Installa gli strumenti a riga di comando di Xcode eseguendo:
sudo xcode-select --install- Aggiungi al tuo
.bash_profile:
export JAVA_HOME=`/usr/libexec/java_home -v 21`- Se Maven non è installato (prova
mvn -versionin un terminale), utilizza Homebrew:
brew install mavenCrea un fork del progetto J2ObjC
Per creare un fork del progetto J2ObjC, apri la pagina principale e fai clic sul pulsante Fork:

Seleziona il nome del tuo account GitHub e il fork verrà creato in pochi secondi.
Poi, clona una copia del fork sul sistema locale per lo sviluppo. Innanzitutto, fai clic sul [pulsante Clona o scarica], poi sul pulsante Copia negli appunti:

Poi clona in una directory locale:
git clone (Command-V) # Paste the copied URLInstalla protobuf e abseil
Prima di poter creare J2ObjC, devi installare protobuf C++.
Per installare il pacchetto binario protobuf, usa Homebrew:
brew install protobufLa build C++ di Protobuf ora dipende dalla libreria Abseil, quindi installala:
brew install abseilDevi impostare PROTOBUF_ROOT_DIR sulla radice in cui è installato protobuf.
Normalmente, è l'impostazione predefinita di Homebrew /usr/local. Aggiungi quanto segue al tuo
.bash_profile:
export PROTOBUF_ROOT_DIR=/usr/local # or your custom Homebrew dirPer verificare, esegui $PROTOBUF_ROOT_DIR/bin/protoc --version.
Creazione di J2ObjC
Per eseguire la build da una riga di comando in una finestra del terminale, esegui:
# 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
Test di J2ObjC
Per eseguire il test da una riga di comando in una finestra del terminale, esegui:
# Run translator and library unit testsmake test# Run all unit tests, including for protocol buffersmake test_all
Pulizia di una build
# Remove all files generated by the buildmake clean
Build parallele
La build J2ObjC supporta le build parallele, specificate utilizzando il flag
-j<n>, dove n è il numero massimo di attività simultanee. Il valore massimo
dipende dalla velocità del sistema. Ti consigliamo di iniziare con -j4.
Aumenta il numero per ridurre i tempi di compilazione se il sistema è in grado di gestirlo e diminuiscilo se make non riesce a compilare a causa di errori di sistema.
Creazione di architetture iOS a 32 bit
Le architetture iOS a 32 bit ("iphone" e "simulator") non vengono create per impostazione predefinita. Puoi creare j2objc con questi specificandoli prima nella variabile di ambiente J2OBJC_ARCHS:
$ export J2OBJC_ARCHS="iphone simulator"
$ make -j8 all_dist
La specifica di un sottoinsieme di architetture supportate può essere generalmente utilizzata per velocizzare
le build locali, specificando solo le architetture di cui la tua app ha bisogno.
Per creare solo la versione iOS a 64 bit ("iphone64") e il relativo simulatore
("simulator64"), ad esempio, definisci J2OBJC_ARCHS="iphone64 simulator64"
prima di eseguire make.
Creazione della distribuzione completa
Sebbene il team di j2objc non pubblichi più distribuzioni precompilate su GitHub a causa dei limiti di dimensione dei file, lo script "build everything in one step" può ancora essere utilizzato:
$ scripts/build_distribution.sh HEAD-<current-date> $PROTOBUF_ROOT_DIR
L'esecuzione di questo script richiede molto tempo perché viene creata ogni architettura per ogni pacchetto j2objc. Tuttavia, è molto utile in caso di errori di compilazione generali, in quanto la compilazione viene eseguita solo con il set minimo di variabili di ambiente. Se lo script build_distribution ha esito positivo, ma i normali passaggi di build no, controlla se le variabili di ambiente locali sono impostate in modo errato.