ข้อกำหนด
- ระบบ Apple Mac OS X
- Xcode เวอร์ชันล่าสุด
- ติดตั้ง JDK JDK 11 แล้ว
- Apache Maven
- (แนะนำ แต่ไม่จำเป็น) แหล่งที่มาของ Google Protocol Buffer
การตั้งค่า Mac
- ติดตั้งเครื่องมือบรรทัดคำสั่ง Xcode โดยเรียกใช้:
sudo xcode-select --install
- เพิ่มไปยัง
.bash_profile
:
export JAVA_HOME=`/usr/libexec/java_home -v 11`
สร้าง Fork ของโปรเจ็กต์ J2ObjC
หากต้องการแยกโปรเจ็กต์ J2ObjC ให้เปิดหน้าหลักของโปรเจ็กต์ และคลิกปุ่ม Fork:
เลือกชื่อบัญชี GitHub จากนั้นระบบจะสร้างส้อมให้ในอีกสักครู่
ต่อไป ให้โคลนสำเนาของส้อมลงในระบบในเครื่องเพื่อการพัฒนา ขั้นแรก ให้คลิก [โคลนหรือดาวน์โหลดปุ่ม] จากนั้นคลิกปุ่ม "คัดลอกไปยังคลิปบอร์ด"
จากนั้นจึงโคลนไดเรกทอรีในเครื่องด้วยคำสั่งต่อไปนี้
git clone (Command-V) # Paste the copied URL
ติดตั้ง protobuf
คุณต้องติดตั้ง protobuf C++ ก่อนจึงจะสร้าง J2ObjC ได้
หากต้องการติดตั้งแพ็กเกจไบนารี protobuf ให้ใช้ Homeเพศ
brew install protobuf
คุณต้องตั้งค่า PROTOBUF_ROOT_DIR
เป็นรูทที่ติดตั้ง protobuf
ซึ่งโดยปกติจะเป็น /usr/local
ตามค่าเริ่มต้นของ Homeบางคน เพิ่มข้อมูลต่อไปนี้ลงใน .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 Protocol Buffers และรันไทม์ต้องมีการติดตั้ง Protocol Buffers (อย่างน้อย 3.21.3)
- ดาวน์โหลดซอร์สโค้ดจากรุ่น Protocol Buffers 3.21.7
- ทำตามวิธีการติดตั้ง C++ จาก README ให้ความสำคัญกับตัวเลือก
--prefix
เพื่อระบุตำแหน่งที่ติดตั้ง - กำหนดตัวแปรสภาพแวดล้อม
PROTOBUF_ROOT_DIR
ให้ชี้ไปยังตำแหน่งการติดตั้ง Protocol Buffers
ฟีเจอร์ภาษาของ Post Java 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
เพิ่มตัวเลขเพื่อย่นระยะเวลาการสร้าง หากระบบสามารถรองรับได้ และลดจำนวนลงหากระบบล้มเหลวหากเกิดข้อผิดพลาด
สถาปัตยกรรมของผู้ประมวลผลข้อมูลอาคาร
ตั้งแต่ j2objc รุ่น 2.3 สถาปัตยกรรม iOS 32 บิต ("iphone" และ "simulator") จะไม่รวมอยู่ในการเผยแพร่แบบสาธารณะ คุณสร้าง j2objc ด้วยพารามิเตอร์เหล่านี้ได้โดยระบุตัวแปรสภาพแวดล้อม J2OBJC_ARCHS ก่อน
$ export J2OBJC_ARCHS="iphone simulator macosx iphone64 watchv7k watch64 watchsimulator simulator64"
$ make -j8 all_dist
การทดสอบนี้ยังใช้เพื่อเร่งการสร้างบิลด์ได้ด้วยการระบุสถาปัตยกรรมที่แอปต้องการเท่านั้น
หากต้องการสร้างเฉพาะ iOS แบบ 64 บิต ("iphone64") และเครื่องมือจำลองที่เกี่ยวข้อง ("simulator64") เช่น ให้กำหนด J2OBJC_ARCHS="iphone64 simulator64"
ก่อนที่จะเรียกใช้เครื่องมือ