1

我是 Gimbal 框架的新手,我正在尝试在基本级别使用这个框架。这是我的代码:

- (void)viewDidLoad
{
....
self.contextCoreConnector = [[QLContextCoreConnector alloc] init];
self.contextCoreConnector.permissionsDelegate = self;

self.contextPlaceConnector = [[QLContextPlaceConnector alloc] init];
self.contextPlaceConnector.delegate = self;

self.contextInterestsConnector = [[PRContextInterestsConnector alloc] init];
self.contextInterestsConnector.delegate = self;

self.contentConnector = [[QLContentConnector alloc] init];
self.contentConnector.delegate = self;


[self.contextCoreConnector checkStatusAndOnEnabled:^(QLContextConnectorPermissions *contextConnectorPermissions) {
    if (contextConnectorPermissions.subscriptionPermission)
    {
        if (self.contextPlaceConnector.isPlacesEnabled)
        {
            [self displayLastKnownPlaceEvent];
        }
    }
}
disabled:^(NSError *error) {
    NSLog(@"%@", error);
    if (error.code == QLContextCoreNonCompatibleOSVersion)
    {
        NSLog(@"%@", @"SDK Requires iOS 5.0 or higher");
    }
    else
    {
        enableSDKButton.enabled = YES;
        placeNameLabel.text = nil;
        contentInfoLabel.text = nil;
    }
}];

}


#pragma mark - QLContextPlaceConnectorDelegate methods

- (void)didGetPlaceEvent:(QLPlaceEvent *)placeEvent
{
NSLog(@"Got place event");
[self savePlaceEvent:placeEvent];
[self displayLastKnownPlaceEvent];
}

- (void)didGetContentDescriptors:(NSArray *)contentDescriptors
{
contentInfoLabel.text = [[contentDescriptors lastObject] title];

NSLog(@"didGetContentDescriptors : %@",contentInfoLabel.text);

[self displaceLastKnownContentDescriptor];

for (QLContentDescriptor *contentDescriptor in contentDescriptors)
{
    [self postOneContentDescriptorLocalNotification:contentDescriptor];
}

}

但是方法

- (void)didGetContentDescriptors:(NSArray *)contentDescriptors

不叫。我不知道为什么会这样。在 SDK 提供的演示应用程序中,此方法被调用,但在我的应用程序中没有。我已经匹配了这两个应用程序的代码,但我无法在我的应用程序中找到问题。

如果有人可以提供帮助,我将非常感激。

4

1 回答 1

0

is your didGetPlaceEvent delegate method being called?

于 2014-08-06T10:12:19.313 回答