שאלות נפוצות

נתקלתי בבעיות בבנייה באמצעות Xcode.

אפשר לעיין בניפוי באגים בבעיות build.

כיצד מתקנים שגיאות "סמל לא מוגדר" בעת בנייה?

למידע נוסף, ראו הגדרות קישור נדרשות.

נתקלתי בבעיות בשימוש ב-j2objc בשורת הפקודה.

הדרך המהירה ביותר ליצור שורת פקודה ל-j2objc היא להתחיל ב-javac, לציין את ה-classpath (אופציונלי), sourcepath (אופציונלי), ספריית פלט ורשימת קובצי מקור. אחרי שתהליך ההידור הושלם בהצלחה, מחליפים את j2objc ב-javac ומוסיפים דגלים שספציפיים ל-j2objc. הסיבה לכך היא ש-j2objc משתמש בהידור Java, ולכן הוא משתמש באותם ארגומנטים שבהם המהדר. חשוב לזכור: אם הבדיקה לא מתבצעת, לא ניתן לתרגם אותה.

איך מטפלים באיסוף אשפה?

רוצים לדעת איך מנהלים את הזיכרון? אנחנו ממשיכים לחדד את הקוד שנוצר כדי לשפר את ניהול הזיכרון באמצעות הכלים של Xcode לזיהוי דליפות וליצירת פרופילים. אנחנו ממליצים לפרויקטים שמשתמשים ב-J2ObjC לעקוב גם אחרי הביצועים והזיהוי של דליפות (כפי שכל פרויקט ב-iOS צריך), ולדווח על בעיות שנמצאו.

איך אפשר להקטין את הקוד המתורגם? מה יכול לזרז את התרגום?

למידע נוסף, ניתן לעיין במאמר מחיקת קוד מת.

איך j2objc מטפל בייבוא של קובצי Java?

j2objc משתמש בהידור javac בתור הקצה הקדמי שלו, כך שכל ייבוא ייקרא כמו כל מהדר Java. כדי לציין היכן למצוא מחלקות מיובאות, השתמשו באותן האפשרויות -classpath ו-sourcepath שבהן אתם משתמשים עם javac. כשיוצרים קובצי Objective-C, מתבצע איסוף של הפניות מחלקה חיצוניות, והוספת הוראות #import לקובצי הכותרת שנוצרות (.h) או לקובצי ההטמעה (.m) לפי הצורך.

למה חלק מערכי המינימום והמקסימום של סוגים מספריים שונים ממפרט Java?

הערכים האלה שונים מאלה ש-Java מחזירה, כי הם מחוץ למה שהידור Objective-C יקבל כחוקי. במקום זאת, אנחנו משתמשים בערכי המינימום והמקסימום שמוגדרים ב-/usr/include/values.h.