公证 Xamarin.MAC 申请
Notarize the Xamarin.MAC application
我们现有 MAC 应用程序是使用 Xamarin.MAC 开发的,我们正在将应用程序的 DMG 文件分发给用户。
当我们在 catalina OS 中打开应用程序时,它显示了一些安全错误。因此我们发现我们需要在将应用程序分发到 users.We 之前对应用程序进行公证是使用代码对应用程序进行签名"application Developer ID".
所以在申请公证之前,我们尝试在Xamarin.MAC项目的.cs项目的release部分添加true。然后,当我们将 UseHardenedRuntime 键和 EnableCodeSigning 键设置为 true 时,应用程序不会处于发布模式 运行。
当我们将 UseHardenedRuntime 和 EnableCodeSigning 键都设置为 true 时,谁能知道为什么应用程序不是 运行?
在 Xamarin 应用程序中是否有任何其他方法可以设置 UseHardenedRuntime?
我们已经按照https://devblogs.microsoft.com/xamarin/macos-hardened-runtime-notary/对Xamarin.MAC申请进行了公证?还有其他方法可以对应用程序 dmg 文件进行公证吗?
我遇到了同样的问题,以下解决方案对我有用。
请检查您的 visual studio 版本以编辑 entitlment.plist。
当我使用 visual studio 8.0.5 时,默认 entitlment.plist 中没有 Usehardened 属性,所以我手动添加,但它对我不起作用。
然后我把visual studio版本更新到8.1.4,然后我们就可以在entitlement中看到"usehardened" 属性了。如果没有权利,请单击添加文件添加新权利。并在代码签名字段后将权利名称添加到项目 属性 中的自定义权利字段。然后我们可以进行发布构建。
确保您使用开发者 ID 对应用进行签名,同时根据您的链接器和 AOT 设置,您可能需要配置额外的权利。如果您仍然遇到问题,请尝试使用以下命令检查嵌入式配置文件是否包含您用于签名的所有权利
此转储嵌入式配置文件:
security cms -D -i /Applications/myappname.app/Contents/embedded.provisionprofile
这会转储应用已签署的权利:
codesign -d --entitlements :- /Applications/myappname.app
我们现有 MAC 应用程序是使用 Xamarin.MAC 开发的,我们正在将应用程序的 DMG 文件分发给用户。
当我们在 catalina OS 中打开应用程序时,它显示了一些安全错误。因此我们发现我们需要在将应用程序分发到 users.We 之前对应用程序进行公证是使用代码对应用程序进行签名"application Developer ID".
所以在申请公证之前,我们尝试在Xamarin.MAC项目的.cs项目的release部分添加true。然后,当我们将 UseHardenedRuntime 键和 EnableCodeSigning 键设置为 true 时,应用程序不会处于发布模式 运行。
当我们将 UseHardenedRuntime 和 EnableCodeSigning 键都设置为 true 时,谁能知道为什么应用程序不是 运行?
在 Xamarin 应用程序中是否有任何其他方法可以设置 UseHardenedRuntime?
我们已经按照https://devblogs.microsoft.com/xamarin/macos-hardened-runtime-notary/对Xamarin.MAC申请进行了公证?还有其他方法可以对应用程序 dmg 文件进行公证吗?
我遇到了同样的问题,以下解决方案对我有用。 请检查您的 visual studio 版本以编辑 entitlment.plist。 当我使用 visual studio 8.0.5 时,默认 entitlment.plist 中没有 Usehardened 属性,所以我手动添加,但它对我不起作用。
然后我把visual studio版本更新到8.1.4,然后我们就可以在entitlement中看到"usehardened" 属性了。如果没有权利,请单击添加文件添加新权利。并在代码签名字段后将权利名称添加到项目 属性 中的自定义权利字段。然后我们可以进行发布构建。
确保您使用开发者 ID 对应用进行签名,同时根据您的链接器和 AOT 设置,您可能需要配置额外的权利。如果您仍然遇到问题,请尝试使用以下命令检查嵌入式配置文件是否包含您用于签名的所有权利
此转储嵌入式配置文件:
security cms -D -i /Applications/myappname.app/Contents/embedded.provisionprofile
这会转储应用已签署的权利:
codesign -d --entitlements :- /Applications/myappname.app