【问题标题】:Qt 5 causes gatekeeper block my appQt 5 导致看门人阻止我的应用程序
【发布时间】:2015-01-01 11:41:36
【问题描述】:

我在 Mac 上为我的应用程序使用 Qt 5,并且由于 Apple 发布了 10.9.5 和 10.10,我的应用程序被网守阻止。它报告“无法打开XXX,因为无法确认开发者的身份”。经过一番研究,我发现this 解释了问题是 Qt 5 框架,例如 QtCore、QtGui 等。解决方案是重新组织这些框架的布局。我使用 python 脚本来完成这个过程,它在我的机器上运行良好。当我运行“spctl -a -t exec -vv MyApp.app”时,它报告已接受,之前已被拒绝。

这是来自 Apple 的链接,用于解释布局。

https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html

但是当我创建图像(使用 hdiutil)并分发它时。它丢失了应用程序中的所有符号链接,这使得网守再次使用相同的报告阻止它。

有没有办法解决这个问题?要么使用其他方式创建图像,要么使用其他方式解决 Qt 框架布局问题。

提前致谢。

杰瑞

【问题讨论】:

    标签: macos qt frameworks


    【解决方案1】:

    终于找出真正的问题所在。

    删除符号链接的不是 hdiutil 命令。这是我使用的python脚本,shutil.copytree。此复制树或任何其他复制函数执行深度复制,它将符号链接替换为它指向的对象。

    如果可能的话,最简单的方法或替代解决方案是使用 shutil.move。

    谢谢, 杰瑞

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-06
      • 2012-07-12
      • 2023-03-09
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      相关资源
      最近更新 更多