gpt4 book ai didi

macos - 有没有办法检测正在运行的 macOS 应用程序是否来自 Mac App Store?

转载 作者:行者123 更新时间:2023-12-03 16:53:42 28 4
gpt4 key购买 nike

我有一个我的应用程序,它通过我自己的网站分布在 Mac App Store 及其外部。

我需要在运行时检测正在运行的版本,以便我可以在代码中做出一些决定。

有办法检测到吗?我该如何区分呢?有没有办法知道应用程序是否经过 App Store 签名?

<小时/>

编辑:我找到了this library但这并不好,因为如果收据丢失,它就会告诉应用程序不是来自应用程序商店。但收据可能因其他原因丢失。没有收据并不是一个充分的理由。

最佳答案

我看到有两种方法可以做到这一点:

  1. 创建一个编译时标志。一种编译方式是提交到 App Store,另一种方式是在 App Store 之外分发。
  2. 不要只是检查应用程序的代码签名有效性(就像您找到的库那样),而是调用 SecCodeCopySigningInformation要获取签名详细信息,请查看 kSecCodeInfoCertificates array查看它是否包含您的开发者 ID 证书或 App Store 使用的“Apple Mac OS 应用程序签名”证书。

IMO 第二种选择明显更加复杂和脆弱;例如,如果 Apple 更改了 App Store 应用程序的签名方式,您的代码可能会损坏。我会选择第一个选项。

关于macos - 有没有办法检测正在运行的 macOS 应用程序是否来自 Mac App Store?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49352703/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com