iOS本机版本的Unity Unet Multiplayer问题

最大功率89

我创建了我的配对配对班。一切在PC上都可以正常运行,并且可以轻松地进行匹配而不会出现任何问题。当我尝试为iOS创建匹配项时出现了问题。

当我尝试创建新的匹配项时,我在Xcode上收到此错误:

ArgumentNullException: Argument cannot be null.

Parameter name: baseUri

at System.Uri.Merge (System.Uri baseUri, System.String relativeUri) [0x00000] in <filename unknown>:0 

at UnityEngine.Networking.Match.NetworkMatch.ListMatches (UnityEngine.Networking.Match.ListMatchRequest req, UnityEngine.Networking.Match.ResponseDelegate`1 callback) [0x00000] in <filename unknown>:0 


(Filename: currently not available on il2cpp Line: -1)

以下是用于创建匹配项的代码:

void Start()
    {
        networkMatch = gameObject.AddComponent<NetworkMatch>();
    }

private void OnMatchCreate(CreateMatchResponse matchResponse)
    {
        if (matchResponse.success)
        {           
            NetworkServer.ClearLocalObjects ();
            NetworkServer.ClearSpawners ();
            NetworkServer.SetAllClientsNotReady ();
            Debug.Log("Create match succeeded");
            matchCreated = true;
            Utility.SetAccessTokenForNetwork(matchResponse.networkId, new NetworkAccessToken(matchResponse.accessTokenString));
            NetworkServer.Listen(new MatchInfo(matchResponse), 9000);
            UnityEngine.Networking.NetworkManager.singleton.StartServer(new MatchInfo(matchResponse));
        }
        else
        {
            Debug.LogError ("Create match failed");
        }
    }

这里有什么问题?

最大功率89

经过一番调查,我找到了解决该问题的方法:

  • 确保网络的初始化发生在Start方法中
  • 设置要用于匹配的mach URI。

最终代码:

void Start()
    {

        networkMatch = gameObject.AddComponent<NetworkMatch>();
        networkMatch.baseUri = new System.Uri("https://mm.unet.unity3d.com/");          
    }

该URL是Unity提供的默认URL

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章