OK是怎麼做到這一點的整合與iOS 6,並得到我想要的東西從Facebook:
在AppDelegate中我這樣做:
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [FBSession.activeSession handleOpenURL:url];
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[FBSession.activeSession handleDidBecomeActive];
}
- (void)applicationWillTerminate:(UIApplication *)application
{
[FBSession.activeSession close];
}
,並在我的ViewController,我想檢索信息我自己或我的朋友,我這樣做(注:這是一個測試,所以這是一個很大的權限!):
NSArray *permissions =
[NSArray arrayWithObjects:@"email", @"user_location",
@"user_birthday",
@"user_likes", @"user_interests",@"friends_interests",@"friends_birthday",@"friends_location",@"friends_hometown",@"friends_photos",@"friends_status",
@"friends_about_me", @"friends_birthday", @"friends_hometown", @"friends_interests", @"friends_likes", @"friends_location", nil];
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
/* handle success + failure in block */
if (status) {
NSLog(@"Facebook Read Permission is successful!");
[self presentPostOptions];
// [self presentPostOptions];
}
}];
然後在「presentPostOptions」我這樣做(在這個例子中,我嘗試檢索從我的朋友的東西):
- (void)presentPostOptions
{
[[FBRequest requestForMyFriends] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error)
{
if (!error) {
NSArray *data = [user objectForKey:@"data"];
NSLog(@"%d", [data count]);
for (FBGraphObject<FBGraphUser> *friend in data) {
NSLog(@"%@", [friend first_name]);
NSLog(@"%@", [friend last_name]);
NSLog(@"%@", [friend id]);
//make sure you have FBProfilePictureView outlet in your view
//otherwise skip the profile picture!
self.fbProfilePic.profileID = @"you'r friend's profile.id";
}
}
else
{
NSLog(@"error");
// [self didFailWithError:error];
}
}];
我不知道你想做些什麼,因爲你的問題,你只是試圖做一個連接,但這樣一來,你可以做你想做什麼都當你是集成在iOS 6中。
還有一件事,確保你的應用程序設置通過Facebook和那裏的配置,如啓用你的應用程序的iOS和iPhone/iPad的ID。還有你的plist中的FacebookAppID。
讓我知道,如果它爲你,
編輯:順便說一句我的Facebook SDK 3.1.1是。
你得到的答案?由於iOS 6的發佈。 –