سوالات متداول (سؤالات متداول)

من در ساخت با Xcode مشکل دارم.

اشکال زدایی Build را ببینید.

چگونه خطاهای "نماد تعریف نشده" را هنگام ساخت رفع کنم؟

به تنظیمات پیوند مورد نیاز مراجعه کنید.

من با استفاده از j2objc در خط فرمان مشکل دارم.

سریعترین راه برای ایجاد خط فرمان برای j2objc این است که با javac شروع کنید و مسیر کلاس (اختیاری)، مسیر منبع (اختیاری)، دایرکتوری خروجی و لیست فایل های منبع را مشخص کنید. هنگامی که با موفقیت کامپایل شد، "j2objc" را جایگزین "javac" کنید و هر پرچم مخصوص j2objc را اضافه کنید. دلیل این کار این است که j2objc از یک کامپایلر جاوا به عنوان فرانت اند استفاده می کند و بنابراین از همان آرگومان های کامپایلر استفاده می کند. به یاد داشته باشید: اگر کامپایل نشود، قابل ترجمه نیست!

نحوه جمع آوری زباله چگونه است؟

به مدیریت حافظه مراجعه کنید. ما به اصلاح کدهای تولید شده برای بهبود نحوه مدیریت حافظه، با استفاده از ابزارهای تشخیص نشت و پروفایل Xcode ادامه می دهیم. ما پروژه‌هایی را که از J2ObjC استفاده می‌کنند تشویق می‌کنیم تا عملکرد و تشخیص نشت را نیز نظارت کنند (همانطور که همه پروژه‌های iOS باید)، و هرگونه مشکل پیدا شده را گزارش کنند.

چگونه می توان حجم کد ترجمه شده را کاهش داد؟ چه چیزی می تواند سرعت ترجمه را افزایش دهد؟

Dead Code Elimination را ببینید.

چگونه j2objc وارد کردن فایل‌های جاوا را انجام می‌دهد؟

j2objc از کامپایلر javac به عنوان قسمت جلویی خود استفاده می کند، بنابراین تمام واردات مانند هر کامپایلر جاوا خوانده می شود. برای تعیین محل یافتن کلاس‌های وارد شده، از همان گزینه‌های -classpath و -sourcepath استفاده کنید که در javac استفاده می‌کنید. هنگام تولید فایل‌های Objective-C، مراجع کلاس خارجی جمع‌آوری می‌شوند و دستورالعمل‌های #import به صورت مناسب به فایل‌های هدر (.h) یا پیاده‌سازی (.m) تولید شده اضافه می‌شوند.

چرا برخی از مقادیر حداقل و حداکثر برای انواع عددی با مشخصات جاوا متفاوت است؟

این مقادیر با آنچه جاوا برمی‌گرداند متفاوت هستند، زیرا خارج از آن چیزی هستند که کامپایلر Objective-C آن را معتبر می‌پذیرد. در عوض از حداقل و حداکثر مقادیر تعریف شده در /usr/include/values.h استفاده می کنیم.