0

我正在尝试使用 FBPlacePickerViewController,但它似乎没有加载任何数据。这是我的代码:

    FBPlacePickerViewController *picker = (FBPlacePickerViewController*)segue.destinationViewController;
    picker.navigationController.navigationBarHidden = YES;
    picker.delegate = self;
    picker.radiusInMeters = 1000;
    picker.resultsLimit = 30;
    if([TonerAppDelegate instance].lastLocation != nil){
        picker.locationCoordinate = [TonerAppDelegate instance].lastLocation.coordinate;
        [picker loadData];
    }
    [TonerAppDelegate instance].lastLocationUpdateFunction = ^{
        picker.locationCoordinate = [TonerAppDelegate instance].lastLocation.coordinate;
        [picker loadData];
    };

它是一个嵌入 segue (iOS 6)。我验证这picker是一个有效的对象。该[picker loadData]方法确实被调用,并且坐标数据完全有效。我没有收到任何异常或警告。我已允许我的应用访问我在 iOS 中的位置,并在“设置”中对其进行了双重验证。我的 iPod 已连接到 Internet,并且连接正常。所有其他应用程序都可以毫无问题地使用位置服务。所以,我的地点选择器的实现可能存在问题。我还实现了委托的-(void)placePickerViewControllerDataDidChange:(FBPlacePickerViewController *)placePickerand-(BOOL)placePickerViewController:(FBPlacePickerViewController *)placePicker shouldIncludePlace:(id<FBGraphPlace>)方法,它们也没有被调用。我究竟做错了什么?

谢谢,

能。

4

1 回答 1

2

找到答案:在显示地点选择器之前,我没有创建 Facebook 会话。我完全忘记了会议。很高兴看到 FacebookloadData为现有 Facebook 会话添加选择器的断言检查方法。我已经创建了会话,然后尝试了我的代码,现在它可以正常工作了。

于 2013-07-21T15:52:42.927 回答