我是IOS的菜鸟,我正试图将所有联系人从iphone(模拟器)传递到桌面.我已经按照一些教程,但我收到了一个错误.
你能帮帮我吗?
我试过了:
#import <AddressBookUI/AddressBookUI.h>
.
.
.
ABAddressBookRef addressBook = ABAddressBookCreate( );
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople( addressBook );
CFIndex nPeople = ABAddressBookGetPersonCount( addressBook );
for ( int i = 0; i < nPeople; i++ )
{
ABRecordRef ref = CFArrayGetValueAtIndex( allPeople, i );
NSLog(@"%@",ref);
}
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
Undefined symbols for architecture i386:
"_ABAddressBookCreate", referenced from:
-[younifyTableViewController viewDidLoad] in younifyTableViewController.o
"_ABAddressBookCopyArrayOfAllPeople", referenced from:
-[younifyTableViewController viewDidLoad] in younifyTableViewController.o
"_ABAddressBookGetPersonCount", referenced from:
-[younifyTableViewController viewDidLoad] in younifyTableViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
您需要将项目与AddressBook框架链接.在Xcode中,导航到项目设置(文件浏览器中的顶级项目),转到"Build Phases"选项卡,展开"Link Binary With Libraries"部分,单击"+"图标,选择" AddressBook.framework,"然后单击确定.这应该可以解决您的问题.
您看到的错误消息告诉您,在编译应用程序时,它无法找到列出的符号.这些符号在您导入的AddressBook标头中声明,但它们是在框架中实现的,这就是您需要链接到它的原因.链接过程填写这些符号.
| 归档时间: |
|
| 查看次数: |
1300 次 |
| 最近记录: |