所以我不确定这是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/