如何在 xamarin 中添加适用于 iOS 12 的凭据提供程序应用扩展



我正在尝试利用新扩展程序与密码管理应用程序一起使用,但在设置它时遇到了障碍。这可能是我的谷歌搜索技能,但几乎没有关于如何使用 xamarin 执行此操作的文档。

到目前为止,我拥有的:

  1. 将com.apple.developer.authentication-services.autofill-credential-provider作为自定义属性添加到我的iOS项目Entitlements.plist
  2. 创建了一个 ActivionView 扩展,因为在创建 iOS 扩展项目时没有凭据提供程序选项。
  3. 将 ActionViewController 更改为 CredentialProviderViewController
  4. 更新了 MainInterface.storyboard 以使用 CredentialProviderViewController
  5. 添加了 com.apple.developer.authentication-services.autofill-credential-provider 作为自定义属性添加到自动填充 Entitlements.plist

我在"设置>密码和帐户"下看不到使用我的应用程序进行自动填充的选项。我一定错过了一些关键部分。有谁知道我应该做什么?

这是我的权利列表

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.orginization.appname</string>
</array>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.orginization.appname</string>
</array>
<key>com.apple.developer.authentication-services.autofill-credential-provider</key>
<true/>
</dict>
</plist>

我已经确认这是Xamarin.iOS的错误。 具体而言,存在已知扩展点列表的枚举和验证。 iOS 12 中引入的凭据提供程序点以及 iOS 10 之后的任何其他凭据提供程序点都不存在。

我已经分叉了 Xamarin.iOS 代码并制作了必要的补丁,并确认我现在能够成功部署显示在 iOS 设置的自动填充密码提供程序列表中的凭据提供程序。 我将尽快提交错误并提交拉取请求,但我可能会先检查并确保所有其他扩展点都存在。

编辑:我所有的拉取请求都已合并到主开发分支中,希望很快成为正式版本的一部分。

最新更新