小编bun*_*noi的帖子

我可以使用 Mac App Store 应用程序提交 Go 程序吗?

我正在尝试规划我想在 Mac App Store 上构建和发布的产品。

我想在一个电子应用程序中使用 Go 程序中的很多功能,理想情况下我想使用 gRPC 在它们之间进行交互。我担心这会被应用审查过程拒绝,谁能告诉我:

  1. 是否允许您的主应用程序“调用”捆绑的 Go 程序?
  2. 如果是这样,我是否会仅限于 stdin/stdout(我担心要使用 gRPC,我的 Go 程序必须在启动时运行,而这可能是不允许的)?

我试图通过阅读此https://developer.apple.com/app-store/review/guidelines/来确定上述问题的答案,但没有经验,希望你们中的一些人我无法确定。我想避免投入大量时间来构建一种会被拒绝的方式。

编辑/更新:

更新 - 做一些进一步的研究和思考,我重新阅读了 App Store 审查指南的这一部分“ 2.4.5 (iii) 他们可能不会在未经同意的情况下自动启动或在启动或登录时自动运行其他代码,也不会产生在用户退出应用程序后未经同意而继续运行的进程。 ”。

  • 看着它,我将运行的“其他代码”将获得同意(作为应用程序包结构/包的一部分),我会对其进行设计,以便在用户退出应用程序时它会关闭。

我还发现一个应用程序 Xcode 包结构对“MacOS”目录有这样的评论:“MacOS(必需)包含应用程序的独立可执行代码。通常,这个目录只包含一个二进制文件,其中包含应用程序的主入口点和静态链接代码. 但是,您也可以将其他独立的可执行文件(例如命令行工具)也放在此目录中。”

  • 所以,看起来我的问题第 1 部分得到了回答,但我对问题的第 2 部分仍然不清楚。

编辑/更新 2:

应用程序沙盒授权指南中,我发现了这个“要使您的应用程序能够连接到在另一台机器(或同一台机器运行的服务器进程,请启用传出网络连接。要启用打开网络侦听套接字,以便其他计算机可以连接到您的应用程序,允许传入网络连接。

这意味着我可以使用 TCP/gRPC 但不是确定的......我将继续寻求确定的答案!

macos go mac-app-store grpc electron

5
推荐指数
1
解决办法
1203
查看次数

使用UUID拆分将文件均匀分布在目录中

我正在研究构建均匀分布的两级目录结构的最佳方法,该结构用于存储分布式应用程序接收的文件(文件不带文件名)。为此,我最初的计划是为目录1使用哈希字符串的前两个字符,对于目录2采用后两个字符,例如:

67ca bf2cf7418461ad53d9fd7e067049 的哈希可用于在目录结构中存储具有相同名称的文件,如下所示:/ 67 / ca / 67cabf2cf7418461ad53d9fd7e067049

然后,我意识到,由于我必须为每个传入的“ blob”创建一个唯一的文件名(UUID),所以我可以只使用UUID本身的前四个字符,从而省去散列UUID的麻烦。例如:

可以使用ea5d c4cf-1b91-4a8f-8d56-69b7223d8954的UUID 在目录结构中存储具有相同名称的文件,如下所示: / ea / 5d / ea5dc4cf-1b91-4a8f-8d56-69b7223d8954

我对UUID的唯一性有很好的了解,但是对于前四个字符的随机性是否会像哈希的前四个字符一样均匀分布,我无法找到任何决定性的解释,特别是考虑到第一个八位位组是根的在时间戳中(来源https://tools.ietf.org/html/rfc4122)。

我确实找到先前的问题,但似乎还没有果断的答案!

有谁能帮助我更好地理解这一点,或解释为什么散列可能与散列一样小?

hash uuid

1
推荐指数
1
解决办法
262
查看次数

标签 统计

electron ×1

go ×1

grpc ×1

hash ×1

mac-app-store ×1

macos ×1

uuid ×1