facebook iOS Tutorial (分享到facebook)

本文提供了一步一步的指导,教你如何使用Facebook iOS SDK在iOS应用中集成Facebook平台,包括注册应用、安装SDK、实现单点登录、添加注销功能、使用Graph API和对话框,以及错误处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://developers.facebook.com/docs/guides/mobile/ios/


If you are an iOS developer then it's easy to get started with Facebook integration.

This tutorial walks you through the key steps to build your social iOS app.

We also have additional code samples to get you started in theSample Appssection.

Register your iOS App with Facebook

To begin integrating with the Facebook Platform,register your mobile website with Facebookand enter your app's basic information.


Note your App ID. You are going to need it when setting up your app in Xcode.


You application is now set up and you’re ready to begin integrating with Facebook!

Install the iOS SDK

Before you begin development with the Facebook iOS SDK, you will need to install the iOS dev tools, Git (the source control client we use for this SDK) and then clone the lastest version of the SDK fromGitHub:

Once you have everything installed you are now ready to set up your iOS app. First we will discuss Single Sign-On (SSO) which is a key implementation feature you should provide. After that section we will direct you to the SSO implementation where we walk you through the steps of setting up an iOS app.

Enable Single Sign-On for your App

In the initial release of the SDK, the authorize method always opened an inline dialog containing a UIWebView in which the authorization UI was shown to the user. Each iOS application has its own cookie jar, so this mechanism had a major disadvantage: it required users to enter their credentials separately for each app they authorized.

In the updated version of the SDK, we changed the authorization mechanism so that users no longer have to re-enter their credentials for every application on the device they want to authorize. The new mechanism relies on iOS's fast app switching. It works as follows:

If the app is running in a version of iOS that supports multitasking, and if the device has the Facebook app of version 3.2.3 or greater installed, the SDK attempts to open the authorization dialog withing the Facebook app. After the user grants or declines the authorization, the Facebook app redirects back to the calling app, passing the authorization token, expiration, and any other parameters the Facebook OAuth server may return.

If the device is running in a version of iOS that supports multitasking, but it doesn't have the Facebook app of version 3.2.3 or greater installed, the SDK will open the authorization dialog in Safari. After the user grants or revokes the authorization, Safari redirects back to the calling app. Similar to the Facebook app based authorization, this allows multiple applications to share the same Facebook user session through the Safari cookie.

If the app is running a version of iOS that does not support multitasking, the SDK uses the old mechanism of popping up an inline UIWebView, prompting the user to log in and grant access. TheFBSessionDelegateis a callback interface that your app should implement: The delegate's methods will be invoked when the app successful logs in or logs out. Read theiOS SDK documentationfor more details on this delegate.

Adding SSO support to your app is easy to do. Read theSingle Sign-Ondocument for a step-by-step guide on how to implement SSO.

Once you have set up a sample app with SSO support you can return to learn about some additional iOS SDK features.

Add Log Out to your App

When the user wants to stop using Facebook integration with your app, you can call thelogoutmethod to clear the app state and make a server request to invalidate the currentaccess_token.

[facebook logout:self];

Note that logging out will not revoke your application's permissions, but will simply clear your application'saccess_token. If a user that has previously logged out of your app returns, they will simply see a notification that they are logging into your app, not a notification to grant permissions. To modify or revoke an application's permissions, the user must visit the"Applications, Games, and Websites" tab of their Facebook privacy settings dashboard. You can also revoke an app's permissions programmatically using aGraph API call.

Use the Graph API

The FacebookGraph APIpresents a simple, consistent view of the Facebook social graph, uniformly representing objects in the graph (e.g., people, photos, events, and fan pages) and the connections between them (e.g., friend relationships, shared content, and photo tags).

You can access the Graph API by passing the Graph Path to the request method. For example, to access information about the logged in user, call:

// get information about the currently logged in user
[facebook requestWithGraphPath:@"me" andDelegate:self];

// get the posts made by the "platform" page
[facebook requestWithGraphPath:@"platform/posts" andDelegate:self];

// get the logged-in user's friends
[facebook requestWithGraphPath:@"me/friends" andDelegate:self];

Your delegate object should implement theFBRequestDelegateinterface to handle your request responses.

Note that the server response will be in JSON string format. The SDK uses an open source JSON libraryhttp://code.google.com/p/json-framework/to parse the result. If a parsing error occurs, the SDK will callbackrequest:didFailWithError:in your delegate.

A successful request will callbackrequest:didLoad:in your delegate. The result passed to your delegate can be anNSArray, if there are multiple results, or anNSDictionaryif there is only a single result.

Advanced applications may want to provide their own custom parsing and/or error handling, depending on their individual needs.

Read theiOS SDK documentationfor more details on theFBRequestDelegatedelegate.

Use the Facebook Dialogs

The iOS SDK provides a method for displaying aFacebook Platform dialog. The currently supported dialogs are:

  • OAuth Dialog- the login and permissions dialogs used in the authorization flow.

  • Feed Dialog- the dialog used for publishing posts to a user's feed.

To invoke a dialog:

[facebook dialog:@"feed" andDelegate:self];

This allows you to provide basic Facebook functionality in your app with a singe line of code -- no need to build native dialogs, make API calls, or handle responses.

Handle Errors

Errors are handled by theFBRequestDelegateandFBDialogDelegateinterfaces. Applications can implement these interfaces and specify delegates as necessary to handle any errors.

Read more about error handling in theiOS reference documentation.


Sample Apps

The Github repository contains a sample application that showcases the iOS SDK features.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值