如何写在Facebook / Twitter的地址簿在iOS?
在我的应用程序中,我将一些数据导出到地址簿中,以创build一些新的联系人条目。 我可以出口我想要的一切,没有问题,除了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);
我哪里错了?
设置社交档案由于某种原因是非常棘手的,但这是必要的代码:
ABMultiValueRef multiSocial = ABMultiValueCreateMutable(kABMultiDictionaryPropertyType); ABMultiValueAddValueAndLabel(multiSocial, (__bridge CFTypeRef)([NSDictionary dictionaryWithObjectsAndKeys:(NSString *)kABPersonSocialProfileServiceFacebook, kABPersonSocialProfileServiceKey, theFacebook, kABPersonSocialProfileUsernameKey,nil]), kABPersonSocialProfileServiceFacebook, NULL); ABRecordSetValue(newPerson, kABPersonSocialProfileProperty, multiSocial, NULL);
根据文档,社交configuration文件是一个kABMultiDictionaryPropertyType,而不是kABMultiStringType。
这也意味着您需要将字典添加到multiSocial
,而不是string。 这个格式对我来说没有意义,所以只要你需要使用它就复制和粘贴。
然后,你把它设定成你以前的样子。