常見問題
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
我無法順利使用 Xcode 進行建構。
請參閱偵錯建構問題。
如何修正建構時「未定義符號」的錯誤?
請參閱必要的連結設定。
我無法順利透過指令列使用 j2objc。
想出 j2objc 的指令列,最快的方法就是從 javac 開始,並指定類別路徑 (選用)、來源路徑 (選用)、輸出目錄和來源檔案清單。成功編譯後,請以「j2objc」取代「javac」,並新增任何 j2objc 專屬標記。這是因為 j2objc 是以前端的方式使用 Java 編譯器,因此會使用與編譯器相同的引數。請記住:如果不編譯,就無法翻譯!
垃圾收集的處理方式
請參閱「記憶體管理」。我們持續使用 Xcode 的外洩偵測和剖析工具修改產生的程式碼,以改善記憶體的管理方式。我們建議使用 J2ObjC 的專案一併監控效能和外洩偵測情形 (我們建議所有 iOS 專案都應這麼做),並回報發現的問題。
如何縮減經過翻譯的程式碼大小?如何加快翻譯速度?
請參閱「淘汰無效程式碼」一文。
j2objc 如何處理 .java 檔案內的匯入作業?
j2objc 使用 javac 編譯器做為前端,因此所有匯入作業都會如同所有 Java 編譯器一樣讀取。如要指定尋找匯入類別的位置,請使用與 javac 相同的 -類別路徑和 -sourcepath 選項。產生 Objective-C 檔案時,系統會收集外部類別參照,並視情況將 #import
指令加入產生的標頭 (.h) 或實作 (.m) 檔案中。
為什麼數字類型的部分最小值和最大值與 Java 規格不同?
這些值與 Java 傳回的值不同,因為這些值不在 Objective-C 編譯器接受的範圍內。我們會改用 /usr/include/values.h 定義的最小值和最大值。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2024-07-12 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2024-07-12 (世界標準時間)。"],[[["This page provides troubleshooting information for common issues encountered when using j2objc, such as Xcode build problems and command-line usage."],["Users can find guidance on resolving \"undefined symbol\" errors, managing memory and garbage collection, and reducing translated code size."],["The document explains how j2objc handles imports, mirroring the behavior of the javac compiler for class resolution and utilizing `#import` directives in generated Objective-C files."],["It addresses discrepancies in numeric type limits, attributing them to differences between Java specifications and Objective-C compiler constraints, with values sourced from /usr/include/values.h."]]],[]]