FB.AppRequest崩溃

时间:2015-11-10 16:57:14

标签: ios facebook unity3d facebook-unity-sdk

所以我不确定这是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存在问题吗?或者我只是做错了什么?

1 个答案:

答案 0 :(得分:0)

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

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

显然,如果使用更新版本的SDK(或者可能是其他原因导致它,我并不完全确定)会导致NSMutableArray g_instances转换为NSString。所以当代码试图添加FBUnitySDKDelegate对象'实例'对于g_instances,它试图在NSString上调用addObject,传入FBUnitySDKDelegate,这显然不起作用。

所以是的,如果您遇到此问题,请检查文件上的Compiler Flags。