最新の Facebook iOS SDK 3.0 を使用しています
ログインプロセスで助けが必要です:
まず、このプロパティを次のように宣言しますAppDelegate.h
。
@property (nonatomic, strong) FBSession *session;
ViewController クラスでは、これをコードで次のように使用します。
AppDelegate *delegate = [[UIApplication sharedApplication]delegate];
[delegate.session someproperty];
から呼び出される ViewController にもこのメソッドがありますviewDidLoad
。
-(void)login
{
AppDelegate *delegate = [[UIApplication sharedApplication]delegate];
[delegate.session accessToken];
NSLog(@"%d",delegate.session.isOpen);
if (!delegate.session.isOpen)
{
delegate.session = [[FBSession alloc] init];
if (delegate.session.state == FBSessionStateCreatedTokenLoaded)
{
[delegate.session openWithCompletionHandler:^(FBSession *session,
FBSessionState status,
NSError *error)
{
NSLog(@"%d", delegate.session.isOpen); // First Line //////////////////
}];
}
NSLog(@"%@", delegate.session.description); // Second Line //////////////////
}
}
Facebook アプリが承認された後、最初はNSLog
ゼロを出力し、2 番目は状態が?ではないNSLog
ことを示します。session
FBSessionStateCreated
FBSessionStateOpen
これは2番目の出力ですNSLog
:
2012-08-16 18:37:24.327 Facebook3[2418:f803] <FBSession: 0x6890ff0, state: FBSessionStateCreated, loginHandler: 0x0, appID: 193716877424306, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x6890f20>, expirationDate: (null), refreshDate: (null), attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:()>
私がここに欠けているもの。
注 : https://developers.facebook.comのアプリ設定で、次のようにアプリを構成します: 1- iOS SSO 用に構成: 有効 2- iOS ネイティブ ディープ リンク: 有効 3- iOS バンドル ID: com.mycompany.appname