Wymagania
- System Apple Mac OS X
- Najnowsza wersja Xcode
- JDK JDK 11 został zainstalowany
- Apache Maven
- (Zalecane, ale nie wymagane) Źródło bufora protokołu Google
Konfiguracja Maca
- Zainstaluj narzędzia wiersza poleceń Xcode, uruchamiając polecenie:
sudo xcode-select --install
- Dodaj do
.bash_profile
:
export JAVA_HOME=`/usr/libexec/java_home -v 11`
Utwórz rozwidlenie projektu J2ObjC
Aby utworzyć rozwidlenie projektu J2ObjC, otwórz jego stronę główną i kliknij przycisk Fork:
Wybierz nazwę konta GitHub, a w ciągu kilku sekund zostanie utworzone rozwidlenie.
Następnie skopiuj kopię widelca do systemu lokalnego w celu programowania. Najpierw kliknij [przycisk Kopiuj lub pobierz], a następnie przycisk Kopiuj do schowka:
Następnie skopiuj do katalogu lokalnego:
git clone (Command-V) # Paste the copied URL
Zainstaluj protobuf
Aby utworzyć J2ObjC, musisz zainstalować protobuf C++.
Aby zainstalować pakiet binarny protobuf, użyj Homebrew:
brew install protobuf
Musisz ustawić PROTOBUF_ROOT_DIR
na katalog główny, w którym zainstalowano protobuf.
Zwykle jest to domyślne ustawienie /usr/local
. Dodaj do .bash_profile
:
export PROTOBUF_ROOT_DIR=/usr/local # or your custom Homebrew dir
Aby to sprawdzić, uruchom $PROTOBUF_ROOT_DIR/bin/protoc --version
.
Budynek J2ObjC
Aby utworzyć kompilację z poziomu wiersza poleceń w oknie terminala, uruchom polecenie:
# Build just the translator and libraries
make dist
# Build the full distribution (including frameworks)
make frameworks
# Build the protocol buffer compiler and runtime for J2ObjC
make protobuf_dist
# Build everything that is included in the project's distribution bundles
make all_dist
Opcjonalna konfiguracja buforów protokołów
Kompilator i środowisko wykonawcze J2ObjC Protocol Buffers wymaga zainstalowania buforów protokołów (co najmniej 3.21.3):
- Pobierz kod źródłowy z wersji Bufor protokołu 3.21.7.
- Postępuj zgodnie z instrukcjami instalacji C++ z pliku README. Zwróć uwagę na opcję
--prefix
, która pozwala określić lokalizację instalacji. - Zdefiniuj zmienną środowiskową
PROTOBUF_ROOT_DIR
, aby wskazać lokalizację instalacji buforów protokołów.
Funkcje języka Java 8.
Zobacz ogłoszenie. Oprócz czynności opisanych w poprzedniej sekcji moduł JRE musi zostać utworzony z użyciem pakietu JDK 11:
JAVA_HOME=`/usr/libexec/java_home -v 11` \
make -C jre_emul/ -f java.mk emul_module_dist
Testowanie J2ObjC
Aby wykonać test z poziomu wiersza poleceń w oknie terminala, uruchom polecenie:
# Run translator and library unit tests
make test
# Run all unit tests, including for protocol buffers
make test_all
Czyszczenie/resetowanie konstrukcji
# Remove all files generated by the build
make clean
Kompilacje równoległe
Kompilacja J2ObjC obsługuje kompilacje równoległe, które są określane za pomocą flagi -j<n>
, gdzie n to maksymalna liczba równoczesnych zadań. Maksymalna wartość zależy od szybkości/wydajności Twojego systemu. Sugerujemy zacząć od -j4
. Zwiększ ją, aby skrócić czas kompilacji, jeśli Twój system ją obsługuje, i zmniejsz ją, jeśli wystąpią błędy systemu.
Architektury procesorów budowlanych
Od wersji 2.3 j2objc 32-bitowe architektury iOS („iphone” i „simulator”) nie są uwzględniane w dystrybucji publicznej. Możesz z nich skompilować j2objc, podając najpierw zmienną środowiskową J2OBJC_ARCHS:
$ export J2OBJC_ARCHS="iphone simulator macosx iphone64 watchv7k watch64 watchsimulator simulator64"
$ make -j8 all_dist
Możesz też użyć tej właściwości do przyspieszenia kompilacji, określając tylko architektury potrzebne aplikacji.
Aby utworzyć tylko 64-bitowy system iOS („iphone64”) i powiązany z nim symulator („simulator64”), na przykład przed wykonaniem działania zdefiniuj atrybut J2OBJC_ARCHS="iphone64 simulator64"
.