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

Iphone 如何使用OAuthConsumer框架编译MGTwitterEngine?,iphone,xcode,frameworks,oauth,ios-frameworks,Iphone,Xcode,Frameworks,Oauth,Ios Frameworks,我已经按照上的说明尝试在XCode中编译MGTwitterEngine 我在项目中安装了YAJL作为一个框架,oauthcumer作为一个框架。当我尝试构建项目时,会出现以下错误: Ld build/Debug-iphonesimulator/UFrame.app/UFrame normal i386 cd /Users/twhume/Documents/Projects/UFrame setenv MACOSX_DEPLOYMENT_TARGET 10.6 setenv PATH "/Deve

我已经按照上的说明尝试在XCode中编译MGTwitterEngine

我在项目中安装了YAJL作为一个框架,oauthcumer作为一个框架。当我尝试构建项目时,会出现以下错误:

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包含在我的项目目标下的“linkbinary With Libraries”组中

关于如何解决这个问题,你有什么想法吗?

试着在code.google.com上使用Mac ready,而不是普通的Mac ready

这是作为一组文件而不是框架提供的(对于iPhone来说,框架可能很棘手,因为XCode需要交叉编译)

您应该能够使用最新的MGTwitterEngine,而无需对damien建议的
MGTwitterYAJLParser.m
进行更改——并如他所指出的那样使用,但您可以再次在项目中包含源代码

祝你好运

Adam

尝试在code.google.com上使用Mac ready,而不是普通的Mac ready

这是作为一组文件而不是框架提供的(对于iPhone来说,框架可能很棘手,因为XCode需要交叉编译)

您应该能够使用最新的MGTwitterEngine,而无需对damien建议的
MGTwitterYAJLParser.m
进行更改——并如他所指出的那样使用,但您可以再次在项目中包含源代码

祝你好运


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

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

我听从了Adam的建议,为了最终实现这一点,我必须做一个小小的编辑,将以下源代码从
requestParameterWithName
更改为
requestParameter

    [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]];

我听从了Adam的建议,为了最终实现这一点,我必须做一个小小的编辑,将以下源代码从
requestParameterWithName
更改为
requestParameter

    [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]];

检查适当的.m文件是否处于“编译源代码”目标阶段。检查适当的.m文件是否处于“编译源代码”目标阶段。感谢Adam-我开始使用支持iPhone的OAuthConsumer,在我修复了源代码中一些非常明显的打字错误(这并没有建立信心…)之后它编译得很好:)谢谢Adam-我开始使用支持iPhone的OAuthConsumer,在我修复了源代码中一些非常明显的拼写错误(这并没有建立信心…)之后,它编译得很好:)