Xamarin"可执行文件是使用无效的权利签署的#34;

时间:2017-03-20 14:59:18

标签: ios iphone xamarin.ios provisioning-profile entitlements

我想在iPhone上测试我创建的iOS应用。构建成功但是当xamarin工作室尝试通过usb将文件传输到我的iPhone时出现以下错误:

VerifyingApplication: 70%
  PercentComplete: 40
  Status: VerifyingApplication
 ApplicationVerificationFailed: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.yNZx88/extracted/<APPName>.app : 0xe8008016 (The executable was signed with invalid entitlements.)
error MT1006: Could not install the application '/Users/<NAME>/Projects/<APPName>/<APPName>/bin/iPhone/Debug/device-builds/iphone8.2-10.2.1/<APPNamr>.app' on the device '<DEVICEName>': Your code signing/provisioning profiles are not correctly configured. Probably you have an entitlement not supported by your current provisioning profile, or your device is not part of the current provisioning profile. Please check the iOS Device Log for details (error: 0xe8008016).
--- inner exception
Xamarin.Installation.FailedInstallException: Your code signing/provisioning profiles are not correctly configured. Probably you have an entitlement not supported by your current provisioning profile, or your device is not part of the current provisioning profile. Please check the iOS Device Log for details (error: 0xe8008016)

[...]

Application could not be uploaded to the device.

我是xamarin的新手并且不知道该怎么做。 Apple开发人员帐户可用,并创建证书和配置文件。手机已添加到设备列表中,并且已创建标识符。

任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:11)

不是Xcode中的日志 - 这些是崩溃日志。这里需要的是Xamarin / View / Pad&#34; Device Log&#34; 安装应用时,消息将按滚动。

安装失败后,&#34;选择全部/复制/粘贴&#34;进入文本编辑器。搜索安装失败。在它应该是一些提供更多信息的线之前。具体来说,它将阐明这两种可能性中的哪一种是问题:1)权利或2)关于设备的内容。

我打赌它的权利。您需要隔离导致问题的权利。您使用推送通知吗? 的iCloud ?那些可能是罪魁祸首。或者可能是隐私相关权利之一 - 确保您遵循iOS 10的当前说明,其中的隐私设置比早期iOS版本更严格。

查看Entitlements.plist的源代码。保存一份远离项目的地方。以空白(空)Entitlements.plist开头。 [添加带有该名称的空文本文件,如果您没有在项目文件夹中找到它。]您是否可以部署到手机?

当然,您无法使用您需要的权利,而这是空白的,但您应该可以获得应用的第一个屏幕,或者至少有一些Apple对话框询问用户他们是否想要允许..你需要什么样的权利......

然后添加到Entitlements.plist,直到您无法部署。谷歌针对那个具体问题 - 希望有一个解决方案。

另一种可能性是您的配置文件缺少您要求的权利。返回Apple开发人员网站,其中列出了您的证书和配置文件。选择提供者。您正在使用的个人资料在&#34;启用服务&#34;下,确保它列出您正在使用的服务 (某些Apple功能不需要特定权利;如果有疑问,请创建新的配置文件,并仔细查看权利的所有选项,以及您正在使用的任何功能。)

答案 1 :(得分:8)

如果您的规定在添加并设置“ Entitlements.plist”(例如,Icloud)之前有效,则:

您需要从配置中删除“ Entitlements.plist”。

项目选项> IOS捆绑签名>自定义权利(保留空白)。

答案 2 :(得分:1)

这个修复程序对我来说:

  1. 右键单击IOS Project并单击Options
  2. 如果您在自定义权利:Info.plist下看到,则将其更改为Entitlements.plist
  3. 再次编译项目并进行测试

答案 3 :(得分:0)

当我尝试注册iOS的远程通知时遇到了这个问题。我在Xamarin.iOS项目的Entitlements.plist中设置了推送通知功能,但系统地出现此错误:

ApplicationVerificationFailed: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.vvvwk7/extracted/company.MyApp.Ios.app : 0xe8008016 (The executable was signed with invalid entitlements.)

我的权利设置正确,但是问题是我使用的是通配符dev设置配置文件,该配置文件在Apple开发人员门户中不具有推送通知功能。 我不得不更改为开发配置文件,在Apple开发人员门户中设置了推送通知功能,这解决了我的问题。