9

对于我的生活,我无法弄清楚这一点。我按照此博客http://hoishing.wordpress.com/2011/08/23/gdata-objective-c-client-setup-in-xcode-4/上的说明帮助我在 youtube 上设置共享视频。但是,在我能够分享视频之前,我需要用户能够登录谷歌并获得许可。但是,只会弹出一个空白屏幕。我在错误中注意到我收到此错误“缺少 GTMOAuth2ViewTouch.nib”。

NSLog(@"PostVideoToYoutube");
    GTMOAuth2ViewControllerTouch *viewController;
    viewController = [[[GTMOAuth2ViewControllerTouch alloc] initWithScope:kMyscope
                                                                 clientID:kMyClientID
                                                             clientSecret:kMyClientSecret
                                                         keychainItemName:kKeychainItemName
                                                                 delegate:self
                                                         finishedSelector:@selector(viewController:finishedWithAuth:error:)] autorelease];

    [ITVC presentModalViewController:viewController animated:YES];

谁能指出我为什么没有显示谷歌登录页面的正确方向?谢谢!

4

3 回答 3

9

老问题,但这是任何卡住的人的答案:

虽然您的项目目录中可能有 GTMOAuth2ViewTouch.xib 文件,但您需要将其添加到“编译源”中。

单击您的项目设置>“构建阶段”选项卡,然后单击“编译源”下的“+”图标。在这里添加“GTMOAuth2ViewTouch.xib”。

构建,运行,快乐的日子。

于 2012-08-12T21:40:19.753 回答
2

以下是我用来让它工作的步骤。我在我的项目中引用 libGDataTouchStaticLib.a 和 GData 项目。

  1. 在 XCode 中,按住 Control 键单击您想要 .xib 的组
  2. 选择将文件添加到“我的项目”...
  3. 选择“GData Sources/Common/Optional/OAuth2/iOS/GTMOAuth2ViewTouch.xib”并单击添加。.xib 将被添加到您项目的 Copy Bundle Resources
  4. 清理、构建、运行、测试。

感谢@DexCurl 的回答,因为它让我朝着正确的方向前进。

于 2012-09-01T22:11:46.557 回答
1

正如您猜想的那样,听起来视图缺少它的 nib 文件。

您需要添加GTMOAuth2ViewTouch.xib(不是 xib,不是 nib 扩展名;虽然它们被称为“nib”文件,但它们很久以前已更改为 XML 格式,因此实际扩展名是 xib)。

您引用的博客文章似乎缺少该步骤。请参阅此处的 GTM 说明: http ://code.google.com/p/gtm-oauth2/wiki/Introduction#Adding_the_Controllers_to_Your_Project

于 2012-05-26T07:07:25.170 回答