1

私のコードは Android で NullPointer 例外でクラッシュするようです。しかし、iOSシミュレーターで動作します。

private void CallFBInit()
{
    if(!FB.IsLoggedIn){
        FB.Init(OnInitComplete, OnHideUnity);
    }else{
        shareDialog();
    }
}
private void OnInitComplete()
{
    FB.Login("email,publish_actions",fbLoginCallBack);
}
private void fbLoginCallBack(FBResult result){
    shareDialog();  
}
   #region FB.Feed() example   
    public bool IncludeFeedProperties = false;
    private Dictionary<string, string[]> FeedProperties = new Dictionary<string, string[]>();
    private void CallFBFeed(FBResult result)
    {       
        shareDialog();

    }
    private void shareDialog(){
        Dictionary<string, string[]> feedProperties = null;
        if (IncludeFeedProperties)
        {
            feedProperties = FeedProperties;
        }
        FB.Feed(
            toId: FB.UserId,
            link: ConfigCS.FeedLink,
            linkName: ConfigCS.FeedLinkName,
            linkCaption: ConfigCS.FeedLinkCaption,
            linkDescription: ConfigCS.FeedLinkDescription,
            picture:ConfigCS.FeedPicture,
            mediaSource: ConfigCS.FeedMediaSource,
            actionName: ConfigCS.FeedActionName,
            actionLink: ConfigCS.FeedActionLink,
            reference: ConfigCS.FeedReference,
            properties: feedProperties,
            callback: CallbackForFeed
        );              
    }
    #endregion  
    void CallbackForFeed(FBResult result)
    {       
        if(result.Error!=null){
            errorMessage=ConfigCS.fbError+result.Text;
            showError=true;
            return;
        }else{
            Debug.Log ("FB Feed error");
    }
        return;
    }   
    private void OnHideUnity(bool isGameShown)
    {
        Debug.Log("Is game showing? " + isGameShown);
    }
    #endregion 

理由がわかりませんでした。ログイン ダイアログが表示され、アプリに戻ると、アプリがクラッシュします。しかし、再試行すると(ユーザーはログインしていると見なされるため)、問題なく動作します。誰かが私のコードのエラーを見ることができますか?

編集:より正確に言うと、1.ユーザーが共有をクリックすると、fbログインダイアログが開きます2.ユーザーが正常にログインしてアプリを返すと、アプリはnullpointer例外でクラッシュします

  1. アプリを再度開き、[共有] をクリックすると (この時点で、ユーザーはクラッシュする前に既にログインしています)、機能します。

adbログにはfacebook.loginActivityでNullPointExceptionとしか表示されないため、エラーを特定できませんでした。私の開始関数は CallFBInit(); です。

ここに画像の説明を入力

編集:もう1つ気づいたことは、facebook SDK 4.3.3をインストールしましたが、コンソールに4.2.5が表示されることです ここに画像の説明を入力

そしてエディタで ここに画像の説明を入力

4

1 に答える 1

0

これは、4.2.4 にダウングレードした新しい 4.3.3 SDK の問題のようで、正常に動作します。

これは既知の問題ですか?

于 2013-10-22T09:09:06.130 に答える