Xamarin Facebook GraphRequest 死锁

Posted

技术标签:

【中文标题】Xamarin Facebook GraphRequest 死锁【英文标题】:Xamarin Facebook GraphRequest Deadlock 【发布时间】:2016-12-09 08:53:19 【问题描述】:

我试图从 Facebook 用户那里加载一些信息,但调用此代码时似乎遇到了死锁。有什么问题?

public Task<Page<T>> LoadGraphRequest<T>(User user, string edge, Dictionary<string, string> parameters)
    
        var tcs = new TaskCompletionSource<Page<T>>();
        //NSDictionary.FromObjectsAndKeys(parameters.Values.ToArray(), parameters.Keys.ToArray())
        var request = new GraphRequest($"user.FacebookID/edge", null);

        request.Start((connection, result, error) =>
        
            //Callback never called
            try
            
                if (error == null && result != null)
                
                    //load Page<T> from Result
                    //tcs.SetResult(page);
                
                else 
                    tcs.SetResult(null);
                
            
            catch (Exception ex)
            
                Console.WriteLine($"GraphRequest Error: ex.Message");
                tcs.SetResult(null);
            
        );

        return tcs.Task;

【问题讨论】:

【参考方案1】:

此代码有效。 我认为这是由于一些编译错误。 我删除了 Bin 和 Obj 文件夹。

【讨论】:

以上是关于Xamarin Facebook GraphRequest 死锁的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin 表单上的 Facebook URL 方案

使用 Facebook iOS 应用将 Xamarin 应用与 Facebook SSO 集成

Facebook OAuth Xamarin 表单重定向

Facebook Audience Network 的 Xamarin.Forms 实现

Xamarin Facebook GraphRequest 死锁

MonoTouch (Xamarin.iOS) Facebook 应用程序切换支持 iOS 5+