2011-06-22 9 views
2

Facebook SDKを使用するiOSアプリケーションを構築しました。残念ながら、私たちのクライアントは、アプリケーションのバックグラウンドを無効にするように要求しています。これは、Facebookのシングルサインオン(SSO)スキームが私たちのためには機能しないことを意味します(ログイン/認証後に起動すると、 Facebookアプリで)。Facebook IOS SDKのシングルサインオン(SSO)を無効にする

Facebook iOS SDKでSSOを無効にして、アプリ内ウェブビュー内でFacebookログイン/認証が行われている旧バージョンのSDKと同じように動作させることができますか?

答えて

6

オープンFacebook.mのFBconnectライブラリ内のファイルと見つける:

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

セット:

[self authorizeWithFBAppAuth:NO safariAuth:NO]; 

そしてFBconnectは内側のみポップアップを許可します...

+0

完璧に動作します - ありがとうございますkviksilver – Gehan

+2

私たちはFacebookSDK 3.1とIOS 6で同じことをすることはできますか? –

+0

私は@jattの同じ質問をしています.... 私たちはfacebook sdk 3.1でも同じことができますか? – Johnykutty

2

あなたはssoを無効にすることはできませんが、私はこれを行うにはトリックがあります(毎回Facebookのログインの資格情報が必要です)。

は、Facebookの真偽プロセスを呼び出す前にappDelegateのD idFinishLaunchingWithOptions方法

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]; 
} 
-1

アプリの状態を保存することができ、これらの行を書きます。 FBアプリは、ユーザーの携帯電話上にある場合 しかし、

[facebook authorize:permissions delegate:self] 

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

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

[facebook authorize:permissions delegate:self] 

FB SDKに承認プロセスを担当するWebビューが表示されます。

1

[自己authorizeWithFBAppAuth:いいえsafariAuth:いいえ];

関連する問題