المتطلبات
- نظام التشغيل Apple Mac OS X
- أحدث إصدار من Xcode
- تثبيت JDK 11
- Apache Maven
- (مُقترَح ولكن ليس مطلوبًا) مصدر Google Protocol Buffer
إعداد جهاز Mac
- ثبِّت أدوات سطر الأوامر في Xcode من خلال تنفيذ:
sudo xcode-select --install
- أضِف ما يلي إلى
.bash_profile
:
export JAVA_HOME=`/usr/libexec/java_home -v 11`
- إذا لم يكن Maven مثبّتًا (جرِّب
mvn -version
في وحدة تحكّم)، استخدِم Homebrew:
brew install maven
إنشاء نسخة من مشروع J2ObjC
لتقسيم مشروع J2ObjC، افتح صفحته الرئيسية وانقر على الزر Fork (تقسيم):
اختَر اسم حسابك على GitHub، وسيتم إنشاء النسخة المشتقة في غضون بضع ثوانٍ.
بعد ذلك، يمكنك استنساخ نسخة من الإصدار المشتق إلى نظامك المحلي لاستخدامه في عملية التطوير. أولاً، انقر على [زر النسخ أو التنزيل]، ثم انقر على زر [النسخ إلى الحافظة]:
بعد ذلك، يمكنك استنساخها في دليل على الجهاز:
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 libraries
make dist
# 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
للاختبار من سطر أوامر في نافذة Terminal، نفِّذ ما يلي:
# 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
.
يمكنك زيادة العدد لتقليل أوقات الإنشاء إذا كان النظام قادرًا على التعامل مع
ذلك، ويمكنك خفضه إذا تعذّر إنشاء الإصدار بسبب أخطاء في النظام.
إنشاء تصاميم معمارية لنظام التشغيل iOS بإصدار 32 بت
لا يتم إنشاء معماريات iOS بنظام 32 بت ("iphone" و "محاكي") بشكلٍ تلقائي. يمكنك إنشاء 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 من إكمال الخطوات بنجاح ولكنّ خطوات الإنشاء العادية لم تنجح، راجِع ما إذا تم ضبط أي متغيّرات للبيئة المحلية بشكلٍ غير صحيح.