2012-03-29 8 views
1

私のアプリケーションには共有キットが実装されており、別のViewでfacebookでログインを実装するまでうまくいきました。SharekitとFacebookのログインの競合

sharekitアプリデリゲートに以下を追加するように私に尋ねる:

- (BOOL)handleOpenURL:(NSURL*)url 
{ 
    NSString* scheme = [url scheme]; 
    NSString* prefix = [NSString stringWithFormat:@"fb%@", SHKCONFIG(facebookAppId)]; 
    if ([scheme hasPrefix:prefix]) 
     return [SHKFacebook handleOpenURL:url]; 
    return YES; 
} 

事がFacebookのログインAPIを使用すると、appdelegateにも、次のコードを追加行う尋ねることです:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
{ 
    return [SHKFacebook handleOpenURL:url]; 
} 

今、私がFacebook上で何かを共有しようとすると、それは許可を求めて、それが第2の方法に入るので何も起こらない。

私は、このインスタンス変数 "application"、 "sourceApplication"、 "url"、 "annotation"を追跡しようとしましたが、ログインや共有から来たものかどうかを知る方法を教えてくれません。

これに手がかりはありますか?

+0

私はブール値のプロパティを操作することでそれを解決することができましたが、私はその素晴らしい解決策を考えません。とにかく働いていますが、私は私よりも優れた解決策を待つでしょう。 –

答えて

0

sharekitの使用中にfacebookLocalAppIdを追加すると問題が発生します。私は主にFacebookのSDKの問題を推測します。

localAppIdが空の文字列であることを確認し、info.plistのURLスキームにfb [AppId]を追加します。

これはうまくいくはずです。私のために働いた!

https://developers.facebook.com/bugs/314394491907164?browse=search_4efdea61cc7cd8f83499042

は、この情報がお役に立てば幸い!

1

私は同じ問題に遭遇してきたし、これはそれを修正する方法です:見つけるあなたSHKFacebook.mファイル

  • を探す次の関数


    (Facebook*)facebook 
    { 
        static Facebook *facebook=nil; 
        @synchronized([SHKFacebook class]) { 
        if (! facebook) 
         facebook = [[Facebook alloc] initWithAppId:SHKCONFIG(facebookAppId)   urlSchemeSuffix:SHKCONFIG(facebookLocalAppId) andDelegate:nil]; 
    
        } 
        return facebook; 
    } 
    

    このコードは、このようなfacebookのインスタンスを取得する必要があります(thこれはあなたの問題のすべてを解決する必要があります

    + (Facebook*)facebook 
    { 
        static Facebook *facebook=nil; 
        @synchronized([SHKFacebook class]) { 
        if (! facebook) 
    
        //Used for overwriting the SHKFacebook instance 
         facebook = [[FacebookManager sharedManager]facebook]; 
        } 
        return facebook; 
    } 
    

    、ユーザーが再度ログインする必要がありませんようにもSharekitのパフォーマンスを向上:ある)私はそれをやった方法です。がんばろう!

  • +0

    改善のおかげでジョナス;) – Nygashi

    関連する問題