【问题标题】:Use ABPeoplePickerNavigationController's displayedProperties with ARC将 ABPeoplePickerNavigationController 的显示属性与 ARC 一起使用
【发布时间】:2012-08-31 14:25:18
【问题描述】:

我正在使用在支持 ARC 的 iOS 5+ 项目中截取的这段代码:

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
picker.displayedProperties = [NSArray arrayWithObject:[NSNumber numberWithInt:kABPersonAddressProperty]];

不幸的是,这不起作用,因为它会导致编译错误:

架构 armv7 的未定义符号: “_kABPersonAddressProperty”,引用自:……

kABPersonAddressProperty 返回一个 ABPropertyID,它基本上是一个 int,所以我认为 ARC 不应该关心它。

为什么这不起作用,我该如何解决?

【问题讨论】:

  • 我刚刚在测试项目(iOS5 + ARC)中复制并构建了您的代码,没有任何错误 -> 您确定您已将所有正确的框架添加到您的项目中吗? (你链接了哪些?)
  • 哎呀......我只做了一个#import <AddressBookUI/AddressBookUI.h>,但错过了#import <AddressBook/AddressBook.h>。现在它正在工作。感谢您推动我走上正确的道路。

标签: objective-c


【解决方案1】:

只需确保您已通过项目设置下的“构建阶段”选项卡添加了适当的框架。向下滚动到“Link Binary with Libraries”,然后点击 + 图标。

还要确保您在相应的类中也有 #imported 适当的 .h 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 2014-10-30
    • 2012-02-15
    • 2017-06-13
    相关资源
    最近更新 更多