ข้อกำหนด
- ระบบ Apple Mac OS X
- Xcode เวอร์ชันล่าสุด
- ติดตั้ง JDK 21 แล้ว
- Apache Maven
- (แนะนำ แต่ไม่บังคับ) แหล่งที่มาของ Google Protocol Buffer
การตั้งค่า Mac
- ติดตั้งเครื่องมือบรรทัดคำสั่ง Xcode โดยเรียกใช้คำสั่งต่อไปนี้
sudo xcode-select --install- วิธีเพิ่มลงใน
.bash_profile
export JAVA_HOME=`/usr/libexec/java_home -v 21`- หากไม่ได้ติดตั้ง Maven (ลองใช้
mvn -versionในเทอร์มินัล) ให้ใช้ Homebrew โดยทำดังนี้
brew install mavenสร้าง Fork ของโปรเจ็กต์ J2ObjC
หากต้องการ Fork โปรเจ็กต์ J2ObjC ให้ เปิดหน้าหลัก แล้วคลิกปุ่ม Fork

เลือกชื่อบัญชี GitHub แล้วระบบจะสร้าง Fork ในไม่กี่วินาที
จากนั้นโคลนสำเนาของ Fork ไปยังระบบในเครื่องเพื่อทำการพัฒนา ก่อนอื่น ให้ คลิก[ปุ่มโคลนหรือดาวน์โหลด] แล้วคลิกปุ่มคัดลอกไปยังคลิปบอร์ด

จากนั้นโคลนลงในไดเรกทอรีในเครื่อง
git clone (Command-V) # Paste the copied URLติดตั้ง Protobuf และ Abseil
คุณต้องติดตั้ง protobuf C++ ก่อนจึงจะสร้าง J2ObjC ได้
หากต้องการติดตั้งแพ็กเกจไบนารี protobuf ให้ใช้ Homebrew
brew install protobufตอนนี้การสร้าง Protobuf C++ ขึ้นอยู่กับไลบรารี Abseil ดังนั้นให้ติดตั้งไลบรารีดังกล่าวด้วย
brew install abseilคุณต้องตั้งค่า PROTOBUF_ROOT_DIR เป็นรูทที่ติดตั้ง Protobuf
โดยปกติแล้วจะเป็นค่าเริ่มต้นของ Homebrew /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 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
การทดสอบ J2ObjC
หากต้องการทดสอบจากบรรทัดคำสั่งในหน้าต่างเทอร์มินัล ให้เรียกใช้คำสั่งต่อไปนี้
# Run translator and library unit testsmake test# Run all unit tests, including for protocol buffersmake test_all
การล้างข้อมูลบิลด์
# Remove all files generated by the buildmake clean
การสร้างแบบคู่ขนาน
การสร้าง J2ObjC รองรับการสร้างแบบขนาน ซึ่งระบุได้โดยใช้แฟล็ก
-j<n> โดยที่ n คือจำนวนงานที่เกิดขึ้นพร้อมกันสูงสุด ค่าสูงสุด
ขึ้นอยู่กับความเร็วของระบบ เราขอแนะนำให้เริ่มต้นด้วย -j4
เพิ่มจำนวนเพื่อลดเวลาในการบิลด์หากระบบรองรับได้
และลดจำนวนหากการบิลด์ล้มเหลวเนื่องจากข้อผิดพลาดของระบบ
การสร้างสถาปัตยกรรม iOS แบบ 32 บิต
ระบบจะไม่สร้างสถาปัตยกรรม iOS แบบ 32 บิต ("iphone" และ "simulator") โดยค่าเริ่มต้น คุณสามารถสร้าง j2objc ด้วยสิ่งเหล่านี้ได้โดยระบุสิ่งเหล่านี้ก่อน ในตัวแปรสภาพแวดล้อม J2OBJC_ARCHS
$ export J2OBJC_ARCHS="iphone simulator"
$ make -j8 all_dist
โดยทั่วไป การระบุสถาปัตยกรรมย่อยที่รองรับจะช่วยเพิ่มความเร็ว
ในการสร้างในเครื่องได้ด้วยการระบุเฉพาะสถาปัตยกรรมที่แอปต้องการ
หากต้องการสร้างเฉพาะ iOS 64 บิต ("iphone64") และโปรแกรมจำลองที่เชื่อมโยง
("simulator64") ให้กำหนด J2OBJC_ARCHS="iphone64 simulator64"
ก่อนเรียกใช้ make
การสร้างการเผยแพร่แบบเต็มรูปแบบ
แม้ว่าทีม j2objc จะไม่ได้โพสต์การเผยแพร่ที่สร้างไว้ล่วงหน้าไปยัง GitHub อีกต่อไป เนื่องจากข้อจำกัดด้านขนาดไฟล์ แต่คุณยังคงใช้สคริปต์ "สร้างทุกอย่างในขั้นตอนเดียว" ได้
$ scripts/build_distribution.sh HEAD-<current-date> $PROTOBUF_ROOT_DIR
สคริปต์นี้ใช้เวลานานในการเรียกใช้เนื่องจากมีการสร้างสถาปัตยกรรมทุกรายการสำหรับแพ็กเกจ j2objc ทุกแพ็กเกจ อย่างไรก็ตาม การดำเนินการนี้มีประโยชน์มากหากเกิดข้อผิดพลาดในการสร้างทั่วไป เนื่องจากจะสร้างโดยใช้ตัวแปรสภาพแวดล้อมชุดขั้นต่ำเท่านั้น หากสคริปต์ build_distribution ทำงานสำเร็จ แต่ขั้นตอนการบิลด์ปกติไม่สำเร็จ ให้ตรวจสอบว่ามีการตั้งค่าตัวแปรสภาพแวดล้อมในเครื่องอย่างไม่ถูกต้องหรือไม่