标签: addressbookui

如何在Swift中选择与ABPeoplePickerNavigationController的联系?

我已将其添加ABPeoplePickerNavigationController到我的第一个视图控制器中.我希望当我选择一个联系人时显示要在其他视图控制器中显示的信息,但我正在尝试使用我的代码,这在我点击联系人时不会显示.这只会打开联系人到本机应用程序ABPeoplePickerNavigationController.

var people = ABPeoplePickerNavigationController()
var addressBook: ABAddressBookRef?

func extractABAddressBookRef(abRef: Unmanaged<ABAddressBookRef>!) -> ABAddressBookRef? {
    if let ab = abRef {
        self.view.addSubview(people.view)
        return Unmanaged<NSObject>.fromOpaque(ab.toOpaque()).takeUnretainedValue()
    }
    return nil
}
Run Code Online (Sandbox Code Playgroud)

我试过这个功能

func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController!,didSelectPerson person: ABRecordRef!) {

    var unmanagedEmails = ABRecordCopyValue(people, kABPersonEmailProperty)
    let emailObj: ABMultiValueRef = Unmanaged.fromOpaque(unmanagedEmails.toOpaque()).takeUnretainedValue() as NSObject as ABMultiValueRef

    var index = 0 as CFIndex

    var unmanagedEmail = ABMultiValueCopyValueAtIndex(emailObj, index)
    var emailAddress:String = Unmanaged.fromOpaque(unmanagedEmail.toOpaque()).takeUnretainedValue() as NSObject as String

    println(emailAddress)      
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

addressbook peoplepicker abaddressbook addressbookui swift

17
推荐指数
3
解决办法
2万
查看次数

为iphone中的联系人或联系人组分配铃声

我检查了文档但无法找到有关以编程方式为一组联系人分配铃声的任何地方.我想知道如果不使用私有API和应用程序商店安全吗?

我的问题是这个这个的重复,但我检查了这个应用程序,它做了我正在寻找的所以可能是我忽略了文档?

任何有关这方面的见解都会很棒.

iphone cocoa-touch abaddressbook addressbookui ios7

12
推荐指数
1
解决办法
5905
查看次数

whatsapp如何在iOS中更快地从地址簿获得更新的联系人?

我的发现

我正在设计一个与我的后端同步联系的逻辑.我经历了一些在IOS中做同样事情的应用程序.我将以WhatsApp为例,我发现当我更新Native Addressbook中的任何联系人时,它反映了对Whatsapp的更改.

我的顾虑

我只是想知道它是如何以更快的方式同步的.即使是新的联系人也会与其远程服务器同步并在联系时显示,并且如果该号码已注册,则能够启动Whatsapp聊天.

查询摘要

所以,简而言之,我的疑问是,

  1. Whatsapp如何同步联系人?
  2. whatsapp如何从Native Localbook获取更新的联系人列表(如果它正在这样做)?
  3. whatsapp如何只是在地址簿中添加新的联系人,是否有任何像时间戳或其他任何东西管理?

我知道有以下的东西,

ABAddressBookGetPersonCount
ABAddressBookGetPersonWithRecordID
ABAddressBookCopyArrayOfAllPeople
Run Code Online (Sandbox Code Playgroud)

使用ABAddressBookGetPersonCount我可以知道是否有任何新的联系人,但仍然如何能够知道其记录ID,而无需使用迭代每个联系人ABAddressBookCopyArrayOfAllPeople

所以我只想问一下获得更新列表的方法.

objective-c abaddressbook ios addressbookui whatsapp

10
推荐指数
1
解决办法
1377
查看次数

添加并保存新联系人到AddressBook

我有一个问题似乎无法解决,即使我已经使用了我在谷歌和这里找到的资源.我刚开始接受Swift教学以及一个月前如何使用Xcode,因此,我很新,我遇到的问题可能对其他人来说非常简单.

我要做的是添加并保存新的联系人到地址簿.我可以从应用程序到联系人应用程序没有问题,它只是我无法保存新的联系信息.

import AddressBookUI
import AddressBook

class ViewController: UIViewController {

    @IBOutlet weak var contactLink: UIButton!

    @IBAction func contactLink(sender: AnyObject) {
        var viewController: ABNewPersonViewController = ABNewPersonViewController()
        self.presentViewController(viewController, animated: true, completion: nil)
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的与我的问题有关的代码.任何帮助将不胜感激.

addressbook ios addressbookui swift

6
推荐指数
1
解决办法
2017
查看次数

地址簿UI框架已弃用的方法

我正在研究一个现有的目标c项目,在阅读iOS的地址簿UI框架参考时,发现以下类已在iOS 9中弃用.(ABUnknownPersonViewController,ABPersonViewController,ABPeoplePickerNavigationController,ABNewPersonViewController)什么是更换了这一点.?在哪里我可以找到一些相关的文件.任何帮助赞赏.提前致谢 .

objective-c ios addressbookui

6
推荐指数
1
解决办法
4010
查看次数

无法在iOS 8上选择联系人

我有一个子类ABPeoplePickerNavigationController来处理在我的应用程序中选择联系电话号码.iOS 7及更低版本的一切都很棒.

但是,在iOS 8上,我ABPeoplePickerNavigationControllerDelegate在选择电话号码时不会受到影响.相反,它只是拨打那个电话号码.

我注意到我在iOS 7中使用的用于处理联系人选择的peoplePickerNavigationController:shouldContinueAfterSelectingPerson:property:identifier:方法在iOS 8中已弃用.此方法已替换为peoplePickerNavigationController:didSelectPerson:property:identifier:.

我知道我的委托已设置,因为我成功收到peoplePickerNavigationControllerDidCancel:方法回调.

还有其他人遇到过这个问题吗?

这是我的ABPeoplePickerNavigationController子类的代码片段:

- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {

    [self peoplePickerNavigationController:peoplePicker shouldContinueAfterSelectingPerson:person property:property identifier:identifier];
}

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {

    ...do stuff...

    return NO;
}

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {

    return YES;
}

- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {

    [self dismissViewControllerAnimated:self.shouldAnimateDismiss completion:NULL];
}
Run Code Online (Sandbox Code Playgroud)

ios addressbookui ios8

5
推荐指数
1
解决办法
4155
查看次数

iOS:地址簿

当地址簿界面隐藏之前出现时,是否可以一次选择多个联系人?或者每次出现地址簿界面时,它应该只选择一个联系人吗?

xcode cocoa-touch objective-c ios addressbookui

1
推荐指数
1
解决办法
3137
查看次数

如何获取地址簿中所有联系人标签的所有电话号码?

对于存储在iPhone地址簿中的联系人,我想获取所有带有差异标签的电话号码,如"iPhone","家庭电话","手机号码","其他号码"等.

我怎么得到它?

请帮忙.

提前致谢.

我正在尝试:这是崩溃

ABAddressBookRef ab=ABAddressBookCreate();

    CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(ab);
    NSMutableArray *allNumbers = [[NSMutableArray alloc] initWithCapacity:CFArrayGetCount(people)];

    for (CFIndex i = 0; i < CFArrayGetCount(people); i++) {
        ABRecordRef person = CFArrayGetValueAtIndex(people, i);
        ABMultiValueRef numbers = ABRecordCopyValue(person, kABPersonPhoneProperty);

        for (CFIndex j=0; j < ABMultiValueGetCount(numbers); j++) {


            CFStringRef locLabel = ABMultiValueCopyLabelAtIndex(numbers, i);
            NSString *phoneLabel =(NSString*) ABAddressBookCopyLocalizedLabel(locLabel);

            CFStringRef phoneNumberRef = ABMultiValueCopyValueAtIndex(numbers, j);
            CFStringRef locLabel1 = ABMultiValueCopyLabelAtIndex(numbers, j);
            NSString *phoneLabel1 =(NSString*) ABAddressBookCopyLocalizedLabel(locLabel);

             NSLog(@" ####### phone no -> %@ , phone label -> %@  #######)", …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c abaddressbook ios addressbookui

1
推荐指数
1
解决办法
5133
查看次数