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

埋め込みセグエ (iOS 6) です。pickerが有効なオブジェクトであることを確認します。メソッドは[picker loadData]呼び出され、座標データは完全に有効です。例外や警告は表示されません。アプリが iOS で自分の位置情報にアクセスすることを許可し、[設定] でそれを再確認しました。私の iPod はインターネットに接続されており、接続は完全に機能しています。他のすべてのアプリは、問題なく位置情報サービスを使用できます。したがって、私のプレース ピッカーの実装に問題がある可能性があります。デリゲートのメソッド-(void)placePickerViewControllerDataDidChange:(FBPlacePickerViewController *)placePickerとメソッドも実装しましたが、どちらも呼び出されていません。-(BOOL)placePickerViewController:(FBPlacePickerViewController *)placePicker shouldIncludePlace:(id<FBGraphPlace>)私は何を間違っていますか?

ありがとう、

できる。

4

1 に答える 1

2

答えが見つかりました: プレース ピッカーを表示する前に Facebook セッションを作成していませんでした。セッションのことをすっかり忘れていました。loadDataFacebookが、既存の Facebook セッションのピッカーのメソッドにアサーション チェックを追加するのを見るのは素晴らしいことです。セッションを作成し、コードを試してみたところ、完全に機能するようになりました。

于 2013-07-21T15:52:42.927 に答える