InternalCompilerError, когда я импортирую новый SDK Facebook 5.1 в свой существующий проект

Если я импортирую этот пакет в новый проект, у меня вообще не возникнет проблем.

Но когда я пытаюсь импортировать его в свой существующий проект (с версией SDK 5.0.4), после завершения импорта я получаю следующее сообщение об ошибке:

Unhandled Exception: Mono.CSharp.InternalErrorException: Internal error

  at Mono.CSharp.MethodGroupExpr.IsApplicable (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& arguments, Int32 arg_count, System.Reflection.MethodBase& method, System.Boolean& params_expanded_form) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.MethodGroupExpr.OverloadResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& Arguments, Boolean may_fail, Location loc) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Invocation.DoResolveOverload (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, ResolveFlags flags) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.ExpressionStatement.ResolveStatement (Mono.CSharp.BlockContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.BlockContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Block.Resolve (Mono.CSharp.BlockContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.ToplevelBlock.Resolve (Mono.CSharp.FlowBranching parent, Mono.CSharp.BlockContext rc, Mono.CSharp.ParametersCompiled ip, IMethodData md) [0x00000] in <filename unknown>:0 

Кто-нибудь знает, почему это происходит?

(В качестве дополнительной информации, в моем проекте интегрированы Itween и EasyTouch)


person Gaston Claret    schedule 03.04.2014    source источник


Ответы (2)


Проблема заключалась в том, что в классе-оболочке Facebook, который у меня был для приглашений, у меня был вызов FB.AppRequest, который имел сигнатуру старого FacebookSDK. Это вызывало внутреннюю ошибку компилятора.

Надеюсь, это поможет вам, ребята, и не теряйте ни дня, как я.

person Gaston Claret    schedule 04.04.2014
comment
У меня та же проблема, но я ПОЛНОСТЬЮ не смог найти НИЧЕГО неправильного... Я не использую никаких вызовов FB.AppRequest ВЕЗДЕ... У меня есть вызов FB.API... Я понятия не имею, как узнать, есть ли старая подпись FacebookSDK или что это такое... Я предполагал, что просто импортирую новый пакет и начинаю его использовать... Это КОШМАР! - person Nicolai Dutka; 09.04.2014
comment
@NicolaiDutka, у тебя завалялся старый Assets/Examples/InteractiveConsole.cs? Это все еще может иметь старую ссылку на FB.AppRequest - person Brian Jew; 11.04.2014
comment
@ Брайан, да, и даже после удаления этого файла и файла InteractiveConsole.unity я все равно получаю ту же ошибку ... - person Nicolai Dutka; 11.04.2014
comment
private void CallAppRequestAsFriendSelector() { int? максимальное число получателей = ноль; if (FriendSelectorMax != ) { try { maxRecipients = Int32.Parse(FriendSelectorMax); } catch (Exception e) { Debug.Log(e.Message); } } string[] excludeIds = (FriendSelectorExcludeIds == ) ? null : FriendSelectorExcludeIds.Split(','); FB.AppRequest(сообщение: FriendSelectorMessage, фильтры: FriendSelectorFilters, excludeIds: excludeIds, maxRecipients: maxRecipients, данные: FriendSelectorData, заголовок: FriendSelectorTitle, обратный вызов: appRequestCallback); - person Nicolai Dutka; 11.04.2014
comment
Как я могу переписать это, чтобы работать? Или... есть ли новый метод, который я должен использовать? - person Nicolai Dutka; 11.04.2014
comment
Новый называет это так FB.AppRequest( FriendSelectorMessage, null, FriendSelectorFilters, excludeIds, maxRecipients, FriendSelectorData, FriendSelectorTitle, Callback ); У Unity была проблема с перегруженными методами и вызовом их с именами параметров. Так что оставь их. - person Brian Jew; 11.04.2014
comment
не могли бы вы изучить мой вопрос здесь: stackoverflow.com/questions/23388069/ - person silentkratos; 30.04.2014
comment
Спасибо, @Gaston. Вы спасли мне много дней, но не смогли продержаться и 4 дня. Ищем это решение. Большое спасибо. - person MicroEyes; 04.06.2014
comment
Могу я спросить, где вы нашли подпись нового звонка? Потому что, когда я перехожу к developers.facebook.com/docs/unity/reference /current/, которая, как мне кажется, является последней версией документации, по-прежнему относится к старому вызову. (или, по крайней мере, попытка вызвать AppRequest так, как они объясняют, дает мне ту же ошибку) - person Geoffrey H; 21.09.2015

Unity не поддерживает именованные параметры. Поэтому всегда используйте функцию FB.AppRequest() следующим образом:

        FB.AppRequest("WHAT'S UP?" //message
            , null //to
            , "" //filters
            , null //excludeIds
            , null //maxRecipients
            , "" //data
            , "ASKING YOU" //title
            , myCallback //callback
            );
person Ethan    schedule 24.04.2014