0

現在、ユーザーが Facebook 経由でサインアップできるソーシャル メディア アプリを作成しています。サインアップ プロセスは正常に機能していますが、ユーザーの市区町村と州を要求し、それらを別のキーとしてデータベースに保存したいと考えています。このようにして、ユーザーがアプリ内の都市または州でユーザーを検索できるようにします。

私はすでに FBRequestConnection メソッドをセットアップしており、ユーザーの場所全体を取得しています。

市と州を照会して別々に保存することはできますか? もしそうなら、何か提案はありますか?

前もって感謝します!

4

1 に答える 1

1

あなたが今これをしているコメントから:

[FBRequestrequestForMe]

その後:

if ([result objectForKey:@"location"]) {
    NSString *facebookLocation = [[result objectForKey:@"location"] objectForKey:@"name"];
    [[PFUser currentUser] setObject:facebookLocation forKey:@"location"];
}

はオブジェクトであり、アクセスしているプロパティはresultオブジェクトです:FBGraphUserlocationFBGraphPlace

https://developers.facebook.com/docs/reference/ios/current/protocol/FBGraphPlace

現在、場所の NSString 表現を提供nameしている のプロパティにアクセスしています。FBGraphPlace代わりにやりたいことは、であるlocationプロパティにアクセスすることFBGraphLocationです。このオブジェクトには、必要なさまざまなコンポーネントのプロパティがあります。

https://developers.facebook.com/docs/reference/ios/current/protocol/FBGraphLocation

(私は現在 Mac を使用していないため、このコードにはおそらくいくつかのエラーがあります) 次のようなことができるはずです。

id<FBGraphUser> fbUser = (id<FBGraphUser>)result;
id<FBGraphPlace> fbPlace = [fbUser location];
id<FBGraphLocation> fbLocation = [fbPlace location];
NSString * userCity = [fbLocation city];
NSString * userCountry = [fbLocation country];
NSString * userZip = [fbLocation zip];
//etc

この情報は、Parse ユーザーで好きなように使用できます。

[[PFUser currentUser] setObject:userCity forKey:@"city"];
[[PFUser currentUser] setObject:userZip forKey:@"zip"];
于 2013-11-14T19:00:02.873 に答える