问题标签 [macos-carbon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4864 浏览

c++ - 有没有办法获取我的 C++ 应用程序的进程 ID?

有没有办法获取我的 C++ 应用程序的进程 ID?我使用的是 Carbon 框架,但不是 Cocoa……</p>

0 投票
7 回答
6988 浏览

objective-c - 制作 .webloc 文件

我正在编写一个程序(对于 Mac OS X,使用 Objective-C),我需要以编程方式创建一堆 .webloc 文件。

.webloc 文件是在您将 URL 从 Safari 的位置栏拖放到某个文件夹后创建的简单文件。

一般来说,我需要一种方法来在文件系统中创建指向 Web 中某个位置的项目。据我了解,应该在 Mac OS X 上使用 .webloc 文件。

那么,是否可以制作一个具有有效 url 和一些标题的 .webloc 文件?

0 投票
8 回答
22035 浏览

cocoa - 如何以编程方式确定正在运行的 Mac OS X 版本?

我有一个程序需要在 Tiger 上的行为与在 Leopard 上的行为略有不同。有谁知道系统调用可以让我准确确定正在运行的 Mac OS XI 版本。我找到了一些宏定义来确定构建机器的操作系统,但没有什么能很好地确定正在运行的机器的操作系统。

谢谢,乔

0 投票
5 回答
4782 浏览

macos - 在 Mac OS X 上以编程方式查找 DNS 服务器设置

我有一些跨平台 DNS 客户端代码,用于执行端到端 SMTP,在 Windows 上,我可以通过查看注册表找到当前的 DNS 服务器 IP 地址。在 Mac 上,我可能可以使用第一个答案中提到的 SystemConfiguration 框架,但是这样做的确切方法并不是很明显。

例如 SCDynamicStoreCopyDHCPInfo 返回一些动态 DHCP 相关数据,但不返回 DNS 服务器地址。

0 投票
1 回答
439 浏览

macos - 使用新卷上的相对路径解析 AliasRecord

我有一个AliasRecord使用别名管理器功能的创建FSNewAlias(fromFSRef, targetFSRef, &aliasRecordHandle)。我的理解是,生成的别名记录将包含相对路径搜索的信息(相对于fromFSRef)。因为我的用户在联网的主目录移动帐户上,所以这些别名似乎不会在联网和移动主目录之间保留用户主目录中文件的位置,因为它们位于不同的卷上。如果原始fromFSRef对应于网络帐户中的/Network/.../Users/user/Desktop,我希望能够使用FSResolveAlias(newFromFSRef, aliasRecordHandle, &targetFSRef, &changed)newFSRef/Users/user/Desktop(即移动帐户)对应的别名来解析别名。这可能吗?

我采用的解决方案是保留别名记录和相对路径。如果别名解析失败,我使用相对路径来创建新别名。

0 投票
1 回答
749 浏览

macos - 如何在没有冗长阻塞期的情况下使用 Carbon 卸载 WebDAV 卷?

我正在尝试使用 FSUnmountVolumeSync() 或 FSEjectVolumeSync() 卸载 WebDAV 卷(使用 FSMountServerVolumeSync() 安装)。到目前为止,我无法让它们中的任何一个可靠地卸载卷而不阻塞超过 20 秒。当他们阻止时,我可以看到 webdavfs_agent 在 Console.app 中抱怨 WebDAV 服务器没有响应。但是,它们永远不会出错,并且 WebDAV 卷之后总是会被卸载。就好像我错过了一步。

我是不是走错了路,还是这只是 OS X 的怪癖/错误?就这两种方法之间的区别或调用它们的任何先决条件而言,文档非常模糊。

0 投票
4 回答
7271 浏览

macos - 在 Mac OS X 的命令行上编辑资源分叉

Mac OS X 使用资源叉存储一些文件。我需要创建一个带有资源叉的文件。麻烦的是,我需要在命令行上创建这个文件。有谁知道如何在 Mac OS X 的命令行上使用资源叉创建文件?

0 投票
1 回答
5318 浏览

cocoa - 获取另一个应用程序窗口的唯一 ID

我是一个新手 Cocoa 开发人员,我正在开发我的第一个应用程序。我想从任何应用程序的任何窗口中读取唯一标识符——无论是 Cocoa 还是 Carbon。Cocoa 应用程序使它们的窗口 ID 可用于 AppleScript(尽管我确信通过适当的 Objective C 路由有更好的方法来做到这一点),但我正在尝试从 Adob​​e 应用程序中的文档访问窗口 ID。这似乎要棘手得多。我在参考库中似乎只能找到HIWindowGetCGWindowID

"此函数返回窗口服务器在创建窗口时分配的窗口 ID。窗口 ID 通常不会与任何其他 Carbon 函数一起使用,但可以与其他需要窗口 ID 的 Mac OS X 函数一起使用,例如函数在 OpenGL 中。”

这可以用来从我的程序中获取 ID 吗?或者它只是一个可以在一个应用程序中使用的功能?

如果有人能指出我正确的方向,我将永远感激不尽。

0 投票
2 回答
471 浏览

macos - Suggestions other than an AppleScript OSAX to create a resource bound file

I need a create a specific type of file in OS X. It needs resources in a specific way. Currently, the only way I can find to do this is in AppleScript with an OSAX. This is slow, about 1 second round trip to run, since the OSAX must open, load, do it's job, and quit. I have explored doing it in C, but that would be a last resort, as there always seems to be issues building apps out to make them work across multiple machines.

I was thinking, perhaps perl, or ideally bash could pull it off, but I am not 100% sure. The specs of what I need to do are as follows:

  • Create a text file, formatted as an email message (RFC 822/RFC 2822 format).

  • Text files must have an 'STR ' resource ID 8192 with an email address (will be used as the SMTP MAIL FROM address) and an 'STR#' resource ID 8192 with the recipient addresses (will be used as the SMTP RCPT TO addresses).

  • The text file should have CRLF as the line endings, and a 'BODY' resource ID 8192 should be added.

  • The 'BODY' resource should contain a 4 byte value, '822 ' for an unspecified body type, '7BIT' for 7-bit data, '8BIT' for 8-bit data, and 'BINM' for binary data.

Of course, the text file creation parts are simple, but stuffing those 'STR ' resources in has me stumped.

0 投票
4 回答
8714 浏览

c++ - OS X 相当于 OutputDebugString()?

我正在研究将现有的 Windows MFC 控件移植到 OS X/Carbon 的可行性。我的测试台是使用 XCode 3 向导生成的 C++ Carbon 应用程序。

我正在寻找一种将一些跟踪信息转储到调试器或 DbgView 的 OS X 等效项的快速方法。在 Win32 上,我会使用 OutputDebugString() - OS X 上的交易是什么?有没有办法查看从 Carbon 应用程序写入 std::cout 的测试?

谢谢

杰瑞