9

我在 Delphi XE2 中创建了一个简单的测试平台应用程序,并编译了该应用程序的 Win32 和 OSX 版本。
我压缩了 OSX 版本以及 libcgunwind dylib 运行时文件的副本,并将这些文件复制到我可以访问的 Mac 上。
当我解压缩文件时,mac 识别出我的 OSX 应用程序,我双击它。

反过来,由于某种未知原因,这与我的简单应用程序的表单一起打开了一个终端窗口。
应用程序本身运行良好,但我很好奇为什么会在 Mac 上打开终端窗口?

4

3 回答 3

3

Delphi XE2 有一个免费工具,可以从 Windows 为您创建 OSX 部署应用程序包,而无需 PAServer。

http://enesce.com/delphiosx_bundler

检查自述文件以获取说明。

于 2011-09-19T06:14:44.287 回答
2

如果您直接执行二进制文件而不是通过捆绑包执行 IIRC,则会发生这种情况

Lazarus/FPC 应用程序也有同样的问题。IIRC 直接执行的二进制文件在这种情况下也没有收到事件,但这些应用程序是基于 Carbon 的。通过捆绑设置运行时,该问题也消失了(这几乎是一个清单,一些目录和一个符号链接)

于 2011-09-09T17:40:17.543 回答
0

您的应用程序需要从应用程序包中运行。如果您直接运行它,您将获得使用正在运行应用程序的命令行查看终端窗口的副作用。

您需要阅读更多关于应用程序包的信息。

如果您使用的是 PAServer,则在 Mac 上首次运行该程序后,请在 Mac 上的以下文件夹中查找应用程序包:

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

如果您的项目名为 Project1,您将在该文件夹中看到一个名为 Project1 的应用程序包。

如果您阅读了上面的 wiki 文章,您就会知道 Project1 有一个“隐藏”的 .app 扩展名,整个东西实际上是一个文件夹,其中包含运行应用程序所需的所有文件。

对于 Mac OS 用户,应用程序包以单个程序文件的形式出现,并带有一个图标。用户可以双击应用程序包来运行应用程序,将其拖到他们的 Dock 等。

默认情况下,应用程序包将具有 Delphi 图标,但您可以将其替换为您自己的图标。在 Mac 上,只需右键单击 Finder 中的应用程序包,然后选择显示包内容。在那里,在 Contents/Resources 文件夹中查找 .icns 文件。

使用随 XCode 一起安装的 Icon Composer 应用程序从现有图像文件创建 .icns 图标文件。

看看里面的其余内容。您将看到所需的 dylib、您的程序文件和 Info.plist 文件,这是一个包含应用程序 ID、签名和其他重要内容的文本文件。

于 2011-11-09T22:07:02.863 回答