所以我不确定这是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存在问题吗?或者我只是做错了什么?
答案 0 :(得分:0)
嗯,我最终找到了解决方案。
我将-fno-objc-arc设置为FBUnitySDKDelegate.m上的编译器标志
显然,如果使用更新版本的SDK(或者可能是其他原因导致它,我并不完全确定)会导致NSMutableArray g_instances转换为NSString。所以当代码试图添加FBUnitySDKDelegate对象'实例'对于g_instances,它试图在NSString上调用addObject,传入FBUnitySDKDelegate,这显然不起作用。
所以是的,如果您遇到此问题,请检查文件上的Compiler Flags。