Facebook developer iOS

前期准备:去facebook官网注册facebook帐号、创建app应用、下载SDK,在工程中导入Xcode中、配置xcode工程(参考developers.facebook.com官网)

注:在appDelegate中要连接应用委托,对于需要切换到原生Facebook应用或Safari的操作

- (BOOL)application:(UIApplication *)application 

    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [[FBSDKApplicationDelegate sharedInstance] application:application

    didFinishLaunchingWithOptions:launchOptions];

  return YES;

}

- (BOOL)application:(UIApplication *)application 

            openURL:(NSURL *)url 

            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {

  BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application

    openURL:url

    sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]

    annotation:options[UIApplicationOpenURLOptionsAnnotationKey]

  ];

  return handled;

}

记录应用激活

- (void)applicationDidBecomeActive:(UIApplication *)application {

  [FBSDKAppEvents activateApp];

}


1.facebook 登录 

   facebook的登录按钮可使用facebook自带的登录按钮,也可使用自定义的按钮。

   (1)facebook再带的登录按钮

      FBSDKLoginButton只需展示在view上,点击事件也不用写即可实现正常的登录和退出

      如果想对登录成功或失败的结果进行处理,遵循代理FBSDKLoginButtonDelegate

      在回调方法中进行处理

    (void)loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result error:(NSError *)error 

   (2)facebook自定义的登录按钮

      按钮响应方法

      FBSDKLogin *manager=[[FBSDKLogin alloc] init];

      [manager logInWithReadPermissions:@[@"public_profile", @"email", @"user_friends"] fromViewController:[IAWindowManager shareInterface].loginViewController handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {

}];

如果应用需要请求除 public_profileemail user_friends 以外的权限,则必须先通过 Facebook 的审核才能发布。详细了解审核流程以及通过审核的必要条件。

    

    登录成功之后在登录结果result中都会包含token,需要发给服务器去facebook平台进行登录验证。

 2.facebook  分享

     

    FBSDKShareLinkContent *content=[[FBSDKShareLinkContent alloc]init];

    content.contentTitle=@"";

    content.contentURL = @"";

    content.contentDescription=@"";

    content.imageURL=@"";

    FBSDKShareDialog *ddd=[[FBSDKShareDialog alloc]init];

    ddd.mode=FBSDKShareDialogModeFeedBrowser;

    ddd.shareContent=content;

    ddd.delegate=self;

    [ddd show];

     遵守代理以后会有成功失败取消的回调方法

- (void)sharer:(id<FBSDKSharing>)sharer didCompleteWithResults:(NSDictionary *)results

- (void)sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error

- (void)sharerDidCancel:(id<FBSDKSharing>)sharer


 3.facebook 邀请好友

    FBSDKAppInviteContent *content = [[FBSDKAppInviteContent alloc] init];

    content.appLinkURL = 应用链接网址,接受人点击应用邀请页面的install/play按钮时,所打开的应用链接(必填)

    content.appInvitePreviewImageURL= 预览图片网址,邀请中所使用图片的网址(不是必填)

    [FBSDKAppInviteDialog showFromViewController:nil withContent:content delegate:self];

    影响方法

    - (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didCompleteWithResults:(NSDictionary *)results

    - (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didFailWithError:(NSError *)error


更多功能开发参考facebook开发文档




   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值