2011-09-09 53 views
9

我在Delphi XE2中創建了一個簡單的測試平臺應用程序,並編譯了應用程序的Win32和OSX版本。
我壓縮了OSX版本,以及libcgunwind dylib運行時文件的副本,並將這些文件複製到我有權訪問的Mac上。
當我解壓縮文件時,mac識別出我的OSX應用程序,並雙擊它。爲什麼我的Firemonkey應用程序在OSX上打開一個終端窗口而不是在Win32上?

這反過來又打開了一個終端窗口,出於某種未知原因以及我的簡單應用程序的形式。
應用程序本身運行並表現得很好,但我很好奇爲什麼終端窗口會在Mac上打開?

+0

我猜它與你用它部署的'libcgunwind dylib運行時文件'有關。 – Johan

+0

我很欣然承認我是一個完整的Mac OSX新手,缺乏更好的單詞。與dylib,應用程序不會運行。 dylib文件需要進入一個特殊的目錄嗎?我是否必須將應用程序'安裝'在Mac上的特定位置才能正常運行?這些是我無知的事情。 – Alan

+0

我的妻子有一臺MacBook,就我的Mac知識而言,我認爲你可能會嘗試將此問題放在http://apple.stackexchange.com/ – Johan

回答

2

IIRC如果你通過bundle

拉撒路/ FPC的應用程序執行二進制,而不是直接了同樣的問題發生這種情況。 IIRC直接執行的二進制文件也沒有在這些情況下獲得事件,但這些應用程序是基於碳的。通過捆綁安裝(這幾乎是一個清單,幾個目錄和符號鏈接)運行時,該問題也消失了

3

有一個免費的工具可用於Delphi XE2,它將爲您創建OSX部署應用程序包,從Windows開始,不需要PAServer。

http://enesce.com/delphiosx_bundler

檢查自述的說明。

0

您的應用程序需要從應用程序包運行。如果直接運行它,您將看到使用運行應用程序的命令行查看終端窗口的副作用。

您需要了解更多關於Application Bundles的信息。

如果您使用PAServer,你是第一次在Mac上運行該程序後,看在Mac上的以下文件夾中的應用程序包:

/Users/[username]/Applications/Embarcadero/PAServer/scratch-dir/[profilename] 

如果你的項目名爲Project ,你會在名爲Project1的文件夾中看到一個應用程序包。

如果您閱讀上面的wiki文章,您會知道Project1具有「隱藏」的.app擴展名,並且整個事情真的是一個包含運行該應用程序所需的所有文件的文件夾。

對於Mac OS用戶,應用程序包顯示爲單個程序文件,並帶有圖標。用戶可以雙擊應用程序包來運行應用程序,將其拖動到他們的塢站等。

應用程序包默認具有Delphi圖標,但您可以用自己的圖標替換它。在Mac上,只需右鍵單擊Finder中的應用程序包,然後選擇Show Package Contents。在那裏,查看文件的內容/資源文件夾。

使用隨XCode一起安裝的Icon Composer應用程序從現有圖像文件創建您的「圖標」文件。

在內容的其餘內容周圍窺視。您將看到所需的dylib,程序文件和Info.plist文件,這是一個包含應用程序ID,簽名和其他重要內容的文本文件。

相關問題