2

我下载了 Facebook SDK 3.0.8,并按照说明使用它(拖动框架和资源包)。

我尝试进行身份验证,它工作正常。然后我做:

        FBRequest *me = [FBRequest requestForMe];
        [me startWithCompletionHandler: ^(FBRequestConnection *connection,
                                          NSDictionary<FBGraphUser> *my,
                                          NSError *error) {

        }];

在完成处理程序中,我确实有我的用户对象,所以一切正常。(我知道这一点是因为我 NSLog'd out my.id)但是,在那之后,它通过这个堆栈跟踪得到一个无法识别的选择器异常:

objc_exception_throw ()
-[NSObject doesNotRecognizeSelector:] ()
___forwarding___ ()
_CF_forwarding_prep_0 ()
-[SBJSON objectWithString:allowScalar:error:]
-[SBJSON objectWithString:allowScalar:error:]
-[SBJSON objectWithString:error:]
-[FBRequestConnection parseJSONOrOtherwise:error:]
-[FBRequestConnection parseJSONResponse:error:statusCode:]
-[FBRequestConnection completeWithResponse:data:orError:]
__68-[FBRequestConnection startWithCacheIdentity:skipRoundtripIfCached:]_block_invoke_0
-[FBURLConnection invokeHandler:error:response:responseData:]
-[FBURLConnection connectionDidFinishLoading:]

这不会在模拟器中发生,只会在我的设备上发生。我在运行 5.1.1 的 iPhone4S 上。

4

1 回答 1

0

很难说,真的。请纠缠 Facebook 升级他们的 SBJson 版本 - 他们使用的版本是古老的。如果问题出在 JSON 解析部分,升级可能会很好地解决您的问题。

于 2012-08-24T14:14:57.733 回答