1

我已将 Google Plus iOS SDK v1.2.1 集成到我的 iOS 应用程序中。身份验证后,我试图获取用户的活动提要。我的代码如下:

 GTLServicePlus* plusService = [[GTLServicePlus alloc] init];
    [plusService setAuthorizer:[GPPSignIn sharedInstance].authentication];
    plusService.retryEnabled = YES;

    GTLQueryPlus *query = [GTLQueryPlus queryForActivitiesListWithUserId:@"me" collection:kGTLPlusCollectionPublic];

    [plusService executeQuery:query
            completionHandler:^(GTLServiceTicket *ticket,
                                GTLPlusActivityFeed *data,
                                NSError *error) {

                for (GTLPlusActivity *activity in data.items) {

                    // ITERATE THROUGH THE ACTIVITIES

                    NSString *publishedDate = activity.published; <---- ERROR

                    // "PROPERTY 'published' CANNOT BE FOUND 
                    // IN FORWARD CLASS OBJECT "GTLPLusActivity""
                    // WHY ARE THE VARIABLES SUCH AS published, placeName, 
                    // title, actor etc NOT ACCESSIBLE
                }

            }];

我能够成功检索用户的帖子。GTLPlusActivity 类有许多属性,如图所示:

在此处输入图像描述

每当我尝试使用“。”访问属性时。运算符,例如 for 循环中的“activity.actor”,它给出了错误"Property 'actor' cannot be found in forward class object 'GTLPlusActivity'"。为什么我无法访问属性?我需要在 UITableView 中显示它们。

编辑:代码快照。错误以红色清晰显示。

在此处输入图像描述

4

1 回答 1

3

首先,检查错误情况并确保错误代码为零。我已经尝试了您的代码,并且它在我的最终工作正常,所以很可能您得到的响应存在问题。通常 activity.actor 会返回一个 GTLPlusActivityActor。

尝试类似:

if (error) { NSLog(@"Status: Error: %@", error); } else <Do stuff>

编辑:此外,我们的 iOS 快速入门是了解我们如何处理代码的某些部分的绝佳资源。ListMoments 位与处理活动非常相似。 https://developers.google.com/+/quickstart/ios

编辑2:另外,请确保您拥有所有正确的进口。尝试

#import "GTLPlusActivity.h"

或者

#import "GTLPlus.h" 
于 2013-05-04T00:44:53.323 回答