【问题标题】:How to write Facebook/Twitter to address book in iOS?如何在 iOS 中将 Facebook/Twitter 写入地址簿?
【发布时间】:2014-04-06 16:50:44
【问题描述】:

在我的应用程序中,我将一些数据导出到地址簿,以便创建一些新的联系人条目。我可以毫无问题地导出我想要的所有内容,除了 Facebook 和 Twitter 地址。这两个我完全迷失了。

这是我用来导出有效的非 Facebook/Twitter 数据的一些代码:

ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiPhone, (__bridge CFTypeRef)(thePhoneMobile), kABPersonPhoneMobileLabel, NULL);
ABMultiValueAddValueAndLabel(multiPhone, (__bridge CFTypeRef)(thePhoneHome), kABHomeLabel, NULL);
ABRecordSetValue(newPerson, kABPersonPhoneProperty, multiPhone, NULL);
CFRelease(multiPhone);

这是我尝试导出不起作用的 Facbeook 的方法:

ABMutableMultiValueRef multiSocial = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiSocial, (__bridge CFTypeRef)(theFacebook), kABPersonSocialProfileServiceFacebook, NULL);
ABRecordSetValue(newPerson, kABPersonSocialProfileProperty, multiSocial, NULL);
CFRelease(multiSocial);

我哪里错了?

【问题讨论】:

  • 有什么建议吗?会不会和 kABPersonSocialProfileServiceFacebook 有关?

标签: ios export contacts social-networking abaddressbook


【解决方案1】:

出于某种原因,设置社交资料非常棘手,但这里是这样做所必需的代码:

ABMultiValueRef multiSocial = ABMultiValueCreateMutable(kABMultiDictionaryPropertyType);

ABMultiValueAddValueAndLabel(multiSocial, (__bridge CFTypeRef)([NSDictionary dictionaryWithObjectsAndKeys:(NSString *)kABPersonSocialProfileServiceFacebook, kABPersonSocialProfileServiceKey, theFacebook, kABPersonSocialProfileUsernameKey,nil]), kABPersonSocialProfileServiceFacebook, NULL);

ABRecordSetValue(newPerson, kABPersonSocialProfileProperty, multiSocial, NULL);

根据文档,社交资料是 kABMultiDictionaryPropertyType,而不是 kABMultiStringType。

这也意味着您需要将字典添加到multiSocial,而不是字符串。该格式对我来说对字典没有意义,所以只要你需要使用它,只需复制和粘贴即可。

然后,您按照以前的方式设置它。

【讨论】:

  • 非常感谢。今天晚些时候我会试试这个!
  • 通讯录看起来很复杂,然后他们把它扔进了擂台,这让你想放弃。
  • 绝对正确的答案。谢谢! (附注:在我的示例中,“ref”变为“newPerson”,“yourFacebookAccount”变为“theFacebook”,“social”变为“multiSocial”以匹配我的原始代码。)
  • 这很好用,我什至可以在 Twitter 上使用它,但是我如何扩展它以添加“自定义”服务呢?
  • 简短:是的。龙:再问一个问题:]
猜你喜欢
  • 1970-01-01
  • 2012-06-28
  • 2014-09-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-27
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多