首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >公证Xamarin.MAC应用程序

公证Xamarin.MAC应用程序
EN

Stack Overflow用户
提问于 2019-10-19 00:29:19
回答 2查看 296关注 0票数 4

我们有一个使用Xamarin.MAC开发的现有MAC应用程序,并且我们正在将该应用程序的DMG文件分发给用户。

当我们在catalina OS中打开应用程序时,它显示了一些安全错误,我们发现在将应用程序分发到users.We之前需要对应用程序进行公证,这是使用“应用程序开发人员ID”对应用程序进行签名的代码。

因此,在申请公证之前,我们尝试在Xamarin.MAC项目的.cs项目的release部分添加true。则当我们将UseHardenedRuntime键和EnableCodeSigning键设置为真时,应用程序将不会在发布模式下运行。

当我们将UseHardenedRuntime和EnableCodeSigning键都设置为true时,有人能知道为什么应用程序没有运行吗?

还有没有其他方法可以在Xamarin应用中设置UseHardenedRuntime?

我们已经跟踪了https://devblogs.microsoft.com/xamarin/macos-hardened-runtime-notary/对Xamarin.MAC申请的公证?有没有其他方法来证明应用程序的dmg文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-19 17:51:52

我遇到了同样的问题,下面的解决方案对我有效。请检查您的visual studio版本以编辑entitlment.plist。当我使用visual studio 8.0.5时,默认的entitlment.plist中没有Usehardened属性,所以我手动添加了,但它对我不起作用。

然后,我将visual studio版本更新到8.1.4,这样我们就可以在授权中看到"usehardened“属性。如果没有授权,请单击添加文件添加新授权。在代码签名字段后,将权限名称添加到项目属性的自定义权限字段中。然后我们可以进行发布构建。

票数 4
EN

Stack Overflow用户

发布于 2020-12-11 05:10:00

确保您使用开发人员ID对应用程序进行签名,这也取决于您的链接器和AOT设置,您可能需要配置其他授权。如果您仍然遇到问题,请尝试使用以下命令检查嵌入式配置文件是否包含您用于签名的所有权利

这将转储嵌入的配置文件:

代码语言:javascript
复制
security cms -D -i /Applications/myappname.app/Contents/embedded.provisionprofile

这会转储应用程序已经签署的授权:

代码语言:javascript
复制
codesign -d --entitlements :- /Applications/myappname.app
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58454858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档