我正在尝试构建一个使用第三方可可 API 的可可应用程序(它还需要响应 URL 方案)。我希望我的应用程序尽可能简单,并充当其他应用程序的“助手”应用程序。
似乎对我来说最好的方法是让应用程序从带有参数的命令行启动,然后在退出之前将一些输出直接写入 CLI 或一些中间文件(如 plist)。
我怎样才能最好地产生输出(假设我只是将它转储到命令行),和/或有没有更好的方法来解决这个问题?
我正在尝试构建一个使用第三方可可 API 的可可应用程序(它还需要响应 URL 方案)。我希望我的应用程序尽可能简单,并充当其他应用程序的“助手”应用程序。
似乎对我来说最好的方法是让应用程序从带有参数的命令行启动,然后在退出之前将一些输出直接写入 CLI 或一些中间文件(如 plist)。
我怎样才能最好地产生输出(假设我只是将它转储到命令行),和/或有没有更好的方法来解决这个问题?
仅提供一般建议,“最佳”是主观的!
如果您要生成多个“blob”(这是一个技术术语;-))输出,请使用 C 的标准 I/O 函数,如果您只想输出一个 blob,则可以使用write
. 基本方法是:
NSString
- 不管你喜欢UTF8String
字符串NSString
stdout
with等或使用fputs
文件描述符1
write
如果您多次执行此操作,请将上述内容包装为一种方法,该方法根据需要采用格式字符串/参数等。
您会看到一些 CLI 应用程序以 plist 格式向终端输出输出,这对于将成为助手的应用程序很有用 - 调用应用程序可以通过管道读取输出并将 plist 转换为字典/数组,就像阅读一样.plist 文件。这是一种比将 plist 写入文件然后再读回更直接的方法。
但是助手不需要 CLI 或 GUI,您可以使用各种形式的 IPC 启动并与他们通信。如果您的应用程序将被沙盒化,则应考虑使用 XPC 助手。
高温高压