【发布时间】:2013-12-30 02:54:14
【问题描述】:
我将系统从 10.5 更新到 10.8,更新了 Xcode。然后我导入了项目,随后 Xcode 更改了项目的设置。然后由于构建阶段设置不正确,尝试构建 iPhone 应用程序失败。我不得不重新添加一堆框架。
然后它编译了,但我得到了 200 多个 Apple Mach-O 链接器错误。与此处非常相似的问题:After update to Xcode 5 - ld: symbol(s) not found for architecture armv7 or armv7s linker error 唯一不同的是,在遵循所有建议后,我仍然无法构建应用程序。
架构 i386 的未定义符号:
“_ABAddressBookAddRecord”,引用自:
___20-[CDVContacts save:]_block_invoke_2 in libCordova.a(CDVContacts.o)“_ABAddressBookCopyArrayOfAllPeople”,引用自:
___22-[CDVContacts search:]_block_invoke_2 in libCordova.a(CDVContacts.o)“_ABAAddressBookCreate”,引用自:
-[CDVContacts peoplePickerNavigationControllerDidCancel:] in libCordova.a(CDVContacts.o) -[CDVAddressBookHelper createAddressBook:] in libCordova.a(CDVContacts.o)“_ABAAddressBookCreateWithOptions”,引用自:
-[CDVContacts peoplePickerNavigationControllerDidCancel:] in libCordova.a(CDVContacts.o) -[CDVAddressBookHelper createAddressBook:] in libCordova.a(CDVContacts.o) -[CDVContacts peoplePickerNavigationControllerDidCancel:] in libCordova.a(CDVContacts.o) -[CDVAddressBookHelper createAddressBook:] in libCordova.a(CDVContacts.o)“_ABAddressBookGetPersonWithRecordID”,引用自:
___30-[CDVContacts displayContact:]_block_invoke in libCordova.a(CDVContacts.o) -[CDVContacts peoplePickerNavigationControllerDidCancel:] in libCordova.a(CDVContacts.o)
任何帮助表示赞赏
【问题讨论】:
-
似乎 libCordova 没有为 i386 架构编译。
-
libCordova 应该在每次构建时重新编译,并且应该可以使用 i386。您是否仅将框架重新添加到您的项目或 CordovaLib 项目中?我的 2.2 CordovaLib 需要 AddressBook、CoreMedia、AudioToolbox、AVFoundation、CoreLocation、MobileCoreServices、SystemConfiguration、AddressBookUI、UIKit、Foundation 和 CoreGraphics。这些应该添加到 CordovaLib.xcodeproj 内的 Frameworks 文件夹中。