요구사항
- Apple Mac OS X 시스템
- 최신 버전의 Xcode
- JDK JDK 11이 설치됨
- Apache Maven
- (필수는 아니지만 권장됨) Google 프로토콜 버퍼 소스
Mac 설정
- 다음을 실행하여 Xcode 명령줄 도구를 설치합니다.
sudo xcode-select --install
.bash_profile
에 추가합니다.
export JAVA_HOME=`/usr/libexec/java_home -v 11`
J2ObjC 프로젝트의 포크 만들기
J2ObjC 프로젝트를 포크하려면 기본 페이지를 열고 포크 버튼을 클릭합니다.
GitHub 계정 이름을 선택하면 몇 초 후에 포크가 생성됩니다.
다음으로, 개발을 위해 포크 사본을 로컬 시스템에 클론합니다. 먼저 [Clone or download 버튼]을 클릭한 후 Copy to Clipboard(클립보드로 복사) 버튼을 클릭합니다.
그런 다음 로컬 디렉터리에 클론합니다.
git clone (Command-V) # Paste the copied URL
protobuf 설치
J2ObjC를 빌드하려면 먼저 protobuf C++를 설치해야 합니다.
protobuf 바이너리 패키지를 설치하려면 Home브루를 사용하세요.
brew install protobuf
PROTOBUF_ROOT_DIR
를 protobuf가 설치된 루트로 설정해야 합니다.
일반적으로 이는 Home브루 기본 /usr/local
입니다. .bash_profile
에 다음을 추가합니다.
export PROTOBUF_ROOT_DIR=/usr/local # or your custom Homebrew dir
확인하려면 $PROTOBUF_ROOT_DIR/bin/protoc --version
를 실행합니다.
J2ObjC 빌드
터미널 창의 명령줄에서 빌드하려면 다음을 실행합니다.
# 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
프로토콜 버퍼의 선택적 설정
J2ObjC 프로토콜 버퍼 컴파일러 및 런타임을 사용하려면 프로토콜 버퍼(3.21.3 이상)를 설치해야 합니다.
- 프로토콜 버퍼 3.21.7 버전에서 소스 코드를 다운로드합니다.
- README의 C++ 설치 안내를 따릅니다. 설치 위치를 지정하려면
--prefix
옵션에 유의하세요. - 프로토콜 버퍼 설치 위치를 가리키도록
PROTOBUF_ROOT_DIR
환경 변수를 정의합니다.
자바 8 언어 기능을 게시합니다.
공지사항을 참조하세요. 이전 섹션의 단계 외에도 JRE 모듈을 JDK 11로 빌드해야 합니다.
JAVA_HOME=`/usr/libexec/java_home -v 11` \
make -C jre_emul/ -f java.mk emul_module_dist
J2ObjC 테스트
터미널 창의 명령줄에서 테스트하려면 다음을 실행합니다.
# Run translator and library unit tests
make test
# Run all unit tests, including for protocol buffers
make test_all
빌드 정리/재설정
# Remove all files generated by the build
make clean
병렬 빌드
J2ObjC 빌드는 -j<n>
플래그를 사용하여 지정되는 병렬 빌드를 지원합니다. 여기서 n은 최대 동시 작업 수입니다. 최댓값은 시스템 속도와 성능에 따라 다릅니다. -j4
로 시작하는 것이 좋습니다. 시스템에서 처리할 수 있는 경우 빌드 시간을 늘려 빌드 시간을 단축하고 시스템 오류로 인해 make가 실패할 경우 빌드 시간을 줄입니다.
프로세서 아키텍처 구축
j2objc 버전 2.3부터 32비트 iOS 아키텍처 ('iphone' 및 'simulator')는 공개 배포에 포함되지 않습니다. 먼저 J2OBJC_ARCHS 환경 변수를 지정하여 이러한 옵션으로 j2objc를 빌드할 수 있습니다.
$ export J2OBJC_ARCHS="iphone simulator macosx iphone64 watchv7k watch64 watchsimulator simulator64"
$ make -j8 all_dist
앱에 필요한 아키텍처만 지정하여 빌드 속도를 높일 수도 있습니다.
예를 들어 64비트 iOS ('iphone64') 및 관련 시뮬레이터 ('simulator64')만 빌드하려면 make를 실행하기 전에 J2OBJC_ARCHS="iphone64 simulator64"
를 정의합니다.