所以我不确定这是Unity还是Facebook Unity SDK的问题,或者我可能正在做的事情?它只是在最近才开始出现,在我不得不更新Unity for iOS9字体问题之前,它的运行情况非常好。

它在Xcode中崩溃的点是:

+ (instancetype)instanceWithRequestID:(int)requestID
{
    FBUnitySDKDelegate *instance = [[FBUnitySDKDelegate alloc] init];
    instance->_requestID = requestID;
    [g_instances addObject:instance];  // Breaks on this line. instance is nil
    return instance;
}

我用于AppRequest的代码是
public void RequestLivesFromFriends(string[] friendIds)
{
    if(!FB.IsLoggedIn)
    {
        LoginToFacebook ();
        return;
    }
    FB.AppRequest(
        "Please send me a life!",
        Facebook.Unity.OGActionType.ASKFOR,
        livesIdValue,
        friendIds,
        "RequestLife",
        "Request a life from your friends",
        requestLifeCallback
        );
}

SDK的当前存在问题吗?还是我做错了什么?

最佳答案

好吧,我最终找到了解决方案。

我将-fno-objc-arc设置为FBUnitySDKDelegate.m上的编译器标志

显然,将其与更新版本的SDK配合使用(或者可能是其他原因导致的,我不确定),导致NSMutableArray g_instances转换为NSString。因此,当代码尝试将FBUnitySDKDelegate对象“实例”添加到g_instances时,它将尝试在NSString上调用addObject,并传入FBUnitySDKDelegate,这显然不起作用。

是的,如果您有此问题,请检查文件中的编译器标志。

关于ios - FB.AppRequest崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33635392/

10-09 12:55