2

Facebook SDK を使用する iOS アプリを作成しました。残念ながら、クライアントからアプリのバックグラウンド処理を無効にするように依頼されました。これは、Facebook のシングル サインオン (SSO) スキームが機能しないことを意味します (ログイン/認証後にアプリを起動すると、アプリがゼロから開始されるため)。 Facebookアプリで)。

問題は、Facebook iOS SDK で SSO を無効にして、アプリ内の Web ビュー内で Facebook のログイン/認証が行われる古いバージョンの SDK のように動作するようにすることはできますか?

4

4 に答える 4

6

FBconnect ライブラリで Facebook.m ファイルを開き、以下を見つけます。

- (void)authorize:(NSArray *)permissions
         delegate:(id<FBSessionDelegate>)delegate {

設定:

   [self authorizeWithFBAppAuth:NO safariAuth:NO];

そして、FBconnect はポップアップ内でのみ認証します...

于 2011-06-23T08:56:57.297 に答える
2

sso を無効にできるかどうかはわかりませんが、これを行うための秘訣があります (毎回 Facebook にログインするための資格情報が必要です)。

これらの行を appDelegate の didFinishLaunchingWithOptionsメソッドに記述します

NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie* cookie in
[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
NSString *domainStr=(NSString *)[cookie domain];
NSLog(@"%@",domainStr);
if([domainStr isEqualToString:@".facebook.com" ])
{
[cookies deleteCookie:cookie];
}
于 2011-06-22T06:21:59.270 に答える
1

[self authorizeWithFBAppAuth:NO safariAuth:NO];

于 2012-09-11T21:26:18.593 に答える
-1

Facebook 認証プロセスを呼び出す前に、アプリの状態を保存できます。ただし、FB アプリがユーザーの電話にある場合、

[facebook authorize:permissions delegate:self]

にリダイレクトされます。

ただし、基本的なニーズしかない場合は、FB SDK の webview 部分を使用できます。使用:

[facebook authorize:permissions delegate:self]

FB SDK が認証プロセスを処理する webview を表示するようにします。

于 2011-06-23T08:47:47.040 に答える