只需包含Facebook.h即可。首先,将DeprecatedHeaders文件夹复制到您的框架项目中。 DeprecatedHeaders在~/Documents/FacebookSDK/FacebookSDK.frameworks/Versions/A/下找到。当您将其复制过去时,请勿将项目中的项目复制进去,以便它们保持作为引用复制。
接下来,在您的代码中,您有:
使用这个替换:
如果出现错误,请关闭并重新打开项目。
接下来,您需要声明一个Facebook对象,并在Session打开或关闭时设置会话或清除会话。
以示例为例:https://github.com/fbsamples/ios-3.1-howtos/tree/master/ShareNativeDialogsHowTo,该示例在此处记录:https://developers.facebook.com/docs/howtos/share-native-dialogs-ios-sdk/
您可以对该示例进行以下更改,以回退到Feed Dialog而不是回退到具有共享UI的视图控制器。在ViewController.m中,包含Facebook header后,您将进行以下更改:
....
@property (unsafe_unretained, nonatomic) IBOutlet UIButton *publishButton;
@property (nonatomic, retain) Facebook *facebook;
....
@synthesize authButton;
@synthesize facebook = _facebook;
....
- (void)sessionStateChanged:(NSNotification*)notification {
if (FBSession.activeSession.isOpen) {
self.publishButton.hidden = NO;
[self.authButton setTitle:@"Logout" forState:UIControlStateNormal];
if (nil == self.facebook) {
self.facebook = [[Facebook alloc]
initWithAppId:FBSession.activeSession.appID
andDelegate:nil];
self.facebook.accessToken = FBSession.activeSession.accessToken;
self.facebook.expirationDate = FBSession.activeSession.expirationDate;
}
} else {
self.publishButton.hidden = YES;
[self.authButton setTitle:@"Login" forState:UIControlStateNormal];
self.facebook = nil;
}
}
- (void) publishUsingFeedDialog {
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"Facebook SDK for iOS", @"name",
@"Build great social apps and get more installs.", @"caption",
@"The Facebook SDK for iOS makes it easier and faster to develop Facebook integrated iOS apps.", @"description",
@"https://developers.facebook.com/ios", @"link",
@"https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png", @"picture",
nil];
[self.facebook dialog:@"feed" andParams:params andDelegate:nil];
}
- (IBAction)publishButtonAction:(id)sender {
BOOL displayedNativeDialog =
[FBNativeDialogs
presentShareDialogModallyFrom:self
initialText:@""
....
if (!displayedNativeDialog) {
[self publishUsingFeedDialog];
}
}