首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用OAuthConsumer框架编译MGTwitterEngine?

如何使用OAuthConsumer框架编译MGTwitterEngine?
EN

Stack Overflow用户
提问于 2011-04-20 18:12:32
回答 3查看 2.1K关注 0票数 0

我已经按照http://damienh.org/2009/06/20/setting-up-mgtwitterengine-with-yajl-106-for-iphone-development/上的说明尝试获取了一份用XCode进行的MGTwitterEngine编译。

我已经安装了YAJL作为一个框架和OAuthConsumer作为一个框架在项目中。当我尝试构建我的项目时,我得到了以下错误:

代码语言:javascript
复制
Ld build/Debug-iphonesimulator/UFrame.app/UFrame normal i386
cd /Users/twhume/Documents/Projects/UFrame
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/twhume/Documents/Projects/UFrame/build/Debug-iphonesimulator -L/Users/twhume/Documents/Projects/UFrame -F/Users/twhume/Documents/Projects/UFrame/build/Debug-iphonesimulator -F/Users/twhume/Documents/Projects/UFrame -F/Users/twhume/Documents/Projects/UFrame/../../../Desktop/tmp/obj-c/OAuthConsumer/build/Release -filelist /Users/twhume/Documents/Projects/UFrame/build/UFrame.build/Debug-iphonesimulator/UFrame.build/Objects-normal/i386/UFrame.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework CoreGraphics -framework YAJLiOS -lxml2 -framework OAuthConsumer -o /Users/twhume/Documents/Projects/UFrame/build/Debug-iphonesimulator/UFrame.app/UFrame

Undefined symbols:
  "_OBJC_CLASS_$_OAConsumer", referenced from:
      objc-class-ref-to-OAConsumer in MGTwitterEngine.o
  "_OBJC_CLASS_$_OAToken", referenced from:
      objc-class-ref-to-OAToken in MGTwitterEngine.o
  "_OBJC_CLASS_$_OAMutableURLRequest", referenced from:
      objc-class-ref-to-OAMutableURLRequest in MGTwitterEngine.o
  "_OBJC_CLASS_$_OARequestParameter", referenced from:
      objc-class-ref-to-OARequestParameter in MGTwitterEngine.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

我对Xcode比较陌生,但在我看来这像是一个链接错误: OAuth库没有以某种方式包含在内。但我不确定到底发生了什么,在谷歌上搜索答案也无济于事。我怀疑问题可能是我对Xcode的不熟悉,而不是其他任何东西。

我还尝试从头开始下载和构建OAuthConsumer框架,并将其包含在内(而不是包含与MGTwitterEngine源代码捆绑在一起的版本)。这没有什么不同。我清理过,重建过,等等。我还确保libxml2.dylib包含在我的项目目标下的"Link Binary With Libraries“组中。

对如何解决这个问题有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-21 04:51:34

尝试在code.google.com上使用jdg's iPhone-ready OAuthConsumer,而不是普通的支持Mac的版本

这是以一组文件而不是框架的形式提供的(由于XCode进行交叉编译,因此框架对于iPhone来说可能比较棘手)。

您应该能够使用最新的MGTwitterEngine,而无需对达米恩提议的MGTwitterYAJLParser.m进行更改--并使用他所指出的gabriel's YAJL,但是您可以再次将源代码包含在您的项目中。

祝好运!

亚当

票数 4
EN

Stack Overflow用户

发布于 2011-10-27 00:23:06

我听从了亚当的建议,为了最终让它正常工作,我必须做一个小的编辑,那就是将下面的源代码从requestParameterWithName改为requestParameter

代码语言:javascript
复制
    [request setParameters:[NSArray arrayWithObjects:
    [OARequestParameter requestParameterWithName:@"x_auth_mode" value:@"client_auth"],
    [OARequestParameter requestParameterWithName:@"x_auth_username" value:username],
    [OARequestParameter requestParameterWithName:@"x_auth_password" value:password],nil]];
票数 1
EN

Stack Overflow用户

发布于 2011-05-28 01:39:21

这解决了我的问题。我只想让人们提前知道谁打算使用这个库来修复OAAttachment.m/.h中的拼写错误(文件名是OAAtachment.m/.h),以及上述文件中的filename实例变量(变量名为filename)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5728705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档