المتطلبات
- نظام التشغيل 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إنشاء نسخة طبق الأصل من مشروع J2ObjC
لإنشاء نسخة من مشروع J2ObjC، افتح صفحته الرئيسية وانقر على الزر "إنشاء نسخة":

اختَر اسم حسابك على GitHub، وسيتم إنشاء النسخة المتفرّعة في غضون بضع ثوانٍ.
بعد ذلك، استنسِخ نسخة من الفرع إلى نظامك المحلي لتطويره. أولاً، انقر على الزر [Clone or download] (استنساخ أو تنزيل)، ثم انقر على الزر Copy to Clipboard (نسخ إلى الحافظة):

بعد ذلك، استنسِخها في دليل محلي:
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.
يمكنك زيادة العدد لتقليل أوقات الإنشاء إذا كان نظامك يتحمّل ذلك، وتقليله إذا تعذّر الإنشاء بسبب أخطاء في النظام.
إنشاء بنى 32 بت لنظام التشغيل iOS
لا يتم إنشاء بنى 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 ولكن لم تنجح خطوات الإنشاء العادية، راجِع ما إذا تم ضبط أي متغيرات بيئة محلية بشكل غير صحيح.