可执行文件仅在设备上使用无效权利错误签名

The executable was signed with invalid entitlements error only on device

我在 Xamarin 中创建了一个 iPhone 应用程序。我在 Entitlements.plist 中启用了 KeyChain 共享,这样我就可以在类似的应用程序之间共享一些数据。该应用程序在模拟器上运行和调试良好。但是,当我使用开发或分发配置文件对应用程序进行签名时,该应用程序不会部署在设备上。如果我禁用 KeyChain 共享,应用程序可以正常工作。

我收到这样的错误:-

Info (216) / streaming_zip_conduit: _dispatch_source_read_socket_block_invoke:312: Failed to install application at file:///var/mobile/Media/PublicStaging/appname.iOS.app/ : Error Domain=MIInstallerErrorDomain Code=13 "Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.VEgA0a/extracted/Poll365.iOS.app : 0xe8008016 (The executable was signed with invalid entitlements.)" UserInfo={LibMISErrorNumber=-402620394, LegacyErrorString=ApplicationVerificationFailed, SourceFileLine=147, FunctionName=+[MICodeSigningVerifier validateSignatureAndCopyInfoForURL:withOptions:error:], NSLocalizedDescription=Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.VEgA0a/extracted/appname.iOS.app : 0xe8008016 (The executable was signed with invalid entitlements.)} 

我之前在其他应用程序上实现了相同的功能。我认为这可能是由于 iOS 10 引起的问题,我不确定。我该如何解决这个问题?

感谢任何帮助。

参考sharing-keychain-in-ios

向下滚动阅读我的 App ID 前缀是什么?

我发现当您在 Entitlements 中启用钥匙串时,它会在 Xcode 中自动生成 App ID Prefix,但是在 Xamarin.ios 中它缺少 App ID Prefix,您必须完成钥匙串访问组名称。

好像是AB123CDE45.myKeychainGroup,App ID Prefix + App ID.