我可以让用户在 Web 应用程序中从 iPhone 的联系人列表中选择联系人吗?

发布于 2024-08-20 06:05:15 字数 43 浏览 2 评论 0原文

这样,在用户明确许可的情况下,只有一个联系人会传递到 Web 应用程序。

So that only a single contact is passed to the web application with the explicit permission of the user..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

戏剧牡丹亭 2024-08-27 06:05:15

嗯,在“纯网络应用程序”(您从移动 safari 中的 URL 访问)中,我认为您不能。
但是,您可以:

  • 将 UIWebView(访问您的 web 应用程序 url)嵌入到本机应用程序中,
  • 当用户在您的 web 应用程序中单击 HTML 按钮“联系人”时,您将打开一个带有自定义协议的页面(假设 myapp://contacts )
  • 然后,在 UIWebView 的委托中,将调用回调函数 shouldStartLoadWithRequest 。检查 NSURLRequest 中的 URL 方案是否与 myapp://contacts 相对应,并基于该方案触发 ABPeoplePickerNavigationController 的打开以启用“本地”联系人的选择。
  • 一旦选择了联系人(前一个控制器的委托),您可以使用 [myWebView stringByEvaluatingJavascriptFromString:myJsFunctionToInjectContactInfo 将此选择重新注入到您的 UIWebView 中,

我正在使用这种方法,并且效果很好。

hum, in a "pure web app" (that you access from a URL in the mobile safari) I don't think you can.
However, you can :

  • embed a UIWebView (that accesses your webapp url) into a native app
  • when the user clicks in your webapp on a HTML button "contacts", you open a page with a custom protocol (let's say myapp://contacts)
  • then, in the delegate of the UIWebView, the callback shouldStartLoadWithRequest will be invoked. Check that the scheme of the URL from the NSURLRequest corresponds to myapp://contacts and based on that, trigger the opening of the ABPeoplePickerNavigationController to enable the selection of a "native" contact.
  • once the contact has been selected (delegate of the previous controller), you reinject this selection into your UIWebView using [myWebView stringByEvaluatingJavascriptFromString:myJsFunctionToInjectContactInfo

I'm using this approach and it works fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文