在iPad应用程序中使用CData XML Document

时间:2010-12-27 12:27:57

标签: iphone xml iad gdata

我正在尝试在我的ipad应用程序中使用GDataXML库。我接着是指示:

  • 下载gdata-objective-c客户端库。
  • 解压缩文件,导航到Source \ XMLSupport,然后将两个文件GDataXMLNode.h和GDataXMLNode.m拖到项目中
  • 在XCode中,单击Project \ Edit Project Settings并确保选中“All Configurations”。
  • 找到搜索路径\标题搜索路径设置,并将/ usr / include / libxml2添加到列表中。
  • 最后,找到Linking \ Other Linker Flags部分并将-lxml2添加到列表中。

如果在代码中我添加#import“GDataXMLNode.h”,一切都很好。但是当我尝试在我的应用程序中使用GDataXMLDocument类时

GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:xmlData options:0 error:nil];

我收到以下消息:

Ld build/Debug-iphonesimulator/DemoApp.app/DemoApp normal i386
cd /Users/svp/Projects/DemoApp
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/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk -L/Users/svp/Projects/DemoApp/build/Debug-iphonesimulator -F/Users/svp/Projects/DemoApp/build/Debug-iphonesimulator -filelist /Users/svp/Projects/DemoApp/build/DemoApp.build/Debug-iphonesimulator/DemoApp.build/Objects-normal/i386/DemoApp.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework CoreGraphics -framework MapKit -framework QuartzCore -lxml2.2 -o /Users/svp/Projects/DemoApp/build/Debug-iphonesimulator/DemoApp.app/DemoApp

Undefined symbols:
  "_OBJC_CLASS_$_GDataXMLDocument", referenced from:
      objc-class-ref-to-GDataXMLDocument in TwitterService.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

听起来GDataXMLNode.m代码没有被链接。这个源文件真的被添加到正在Xcode中构建的目标吗?

答案 1 :(得分:1)

检查以下内容:

  • 您是否已将文件复制到项目中,或者只是传递了文件的引用。
  • 如果您尚未将文件复制到项目中(只是通过拖放或其他方式传递对它的引用),请确保“标题搜索路径”中的路径已正确更新。

您似乎错过了更新引用文件的路径。

答案 2 :(得分:1)

最好的办法是保持源代码不变,并告诉您的项目不要将ARC机制应用于此文件。 为此: 1-选择项目的构建阶段 2-选择GDataXMLNode.m文件 3-将开关:-fno-objc-arc单独添加到此文件中(通过双击它)

宾果!

希望它有所帮助。