当我使用 __bridge_transfer 或 __bridge 时:
- (BOOL)peoplePickerNavigationControllerABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPersonABRecordRef)person
{
NSString* nameFirst = (__bridge_transfer NSString *)ABRecordCopyValue(person,
kABPersonFirstNameProperty);
NSString* nameLast = (__bridge_transfer NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);
_sight.contactName = [NSString stringWithFormat"%@ %@", nameFirst, nameLast];
[self dismissModalViewControllerAnimated:YES];
return NO;
}
上面的代码产生下面的错误:
Ld /Users/atencion/Library/Developer/Xcode/DerivedData/My_Guides-bgsawzdhvfxryifctnadtvdzotfx/Build/Products/Debug-iphonesimulator/Guides.app/Guides normal i386
cd "/Users/atencion/Documents/Applications Development/Xcode Projects/Guides"
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/atencion/Library/Developer/Xcode/DerivedData/My_Guides-bgsawzdhvfxryifctnadtvdzotfx/Build/Products/Debug-iphonesimulator -F/Users/atencion/Library/Developer/Xcode/DerivedData/My_Guides-bgsawzdhvfxryifctnadtvdzotfx/Build/Products/Debug-iphonesimulator -filelist "/Users/atencion/Library/Developer/Xcode/DerivedData/My_Guides-bgsawzdhvfxryifctnadtvdzotfx/Build/Intermediates/My Guides.build/Debug-iphonesimulator/Guides.build/Objects-normal/i386/Guides.LinkFileList" -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -framework AddressBookUI -framework MessageUI -framework Twitter -framework MediaPlayer -framework QuartzCore -framework CoreImage -framework MapKit -framework AudioToolbox -framework AVFoundation -framework MobileCoreServices -framework CoreLocation -framework UIKit -framework Foundation -framework CoreGraphics -framework CoreData -o /Users/atencion/Library/Developer/Xcode/DerivedData/My_Guides-bgsawzdhvfxryifctnadtvdzotfx/Build/Products/Debug-iphonesimulator/Guides.app/Guides
Undefined symbols for architecture i386:
"_ABRecordCopyValue", referenced from:
-[ContactInfoViewController peoplePickerNavigationController:shouldContinueAfterSelectingPerson:] in ContactInfoViewController.o
"_kABPersonFirstNameProperty", referenced from:
-[ContactInfoViewController peoplePickerNavigationController:shouldContinueAfterSelectingPerson:] in ContactInfoViewController.o
"_kABPersonLastNameProperty", referenced from:
-[ContactInfoViewController peoplePickerNavigationController:shouldContinueAfterSelectingPerson:] in ContactInfoViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Addressbook 和 AddressbookUI 框架添加...
Best Answer-推荐答案 strong>
好的,问题是地址簿框架在我的项目中,但从“项目”-“摘要选项卡”-“链接的框架和库”中消失了。
添加框架后,所有问题都消失了。
关于ios - 地址簿链接器错误 : Undefined symbols for architecture i386,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8536591/
|