Skip to content

Export iOS - newtonsoft parse JSON - Unable to find default constructor for System.Collections.Generic.List #1295

Description

@BriBarthelemy

Hello,
I have an error from newtonsoft when exported to iOS.

[Ably DEBUG] Debug: 10:45:39.876 Transport State: Error. Error is Unable to find default constructor for System.Collections.Generic.List`1[[IO.Ably.Message, IO.Ably, Version=1.2.15.0, Culture=neutral, PublicKeyToken=70cfghg5c3dhfggb16]].    at Newtonsoft.Json.Utilities.LateBoundReflectionDelegateFactory.CreateDefaultConstructor[T](Type) + 0x124
   at Newtonsoft.Json.Serialization.JsonArrayContract.CreateTemporaryCollection() + 0xd0
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateNewList(JsonReader, JsonArrayContract, Boolean&) + 0xb0
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader, Type, JsonContract, JsonProperty, Object, String) + 0xa0
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader, Type, JsonContract, JsonProperty, JsonContainerContract, JsonProperty, Object) + 0xdc
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty, JsonConverter, JsonContainerContract, JsonProperty, JsonReader, Object) + 0x150
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object, JsonReader, JsonObjectContract, JsonProperty, String) + 0x748
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader, Type, JsonContract, JsonProperty, JsonContainerContract, JsonProperty, Object) + 0x2e4
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader, Type, JsonContract, JsonProperty, JsonContainerContract, JsonProperty, Object) + 0xb8
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader, Type, Boolean) + 0x288
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader, Type) + 0xf0
   at IO.Ably.JsonHelper.DeserializeObject(String value, Type type) + 0x88
   at IO.Ably.JsonHelper.Deserialize[T](String json) + 0x2c
   at IO.Ably.MessageEncoders.MessageHandler.ParseRealtimeData(RealtimeTransportData data) + 0x18
   at IO.Ably.Transport.ConnectionManager.IO.Ably.Transport.ITransportListener.OnTransportDataReceived(RealtimeTransportData data) + 0x2c
   at IO.Ably.Transport.MsWebSocketConnection.<Receive>d__25.MoveNext() + 0x35c

Ably version : 1.2.15

And here is my csproj :

<Project Sdk="Godot.NET.Sdk/4.4.0-beta.3">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <EnableDynamicLoading>true</EnableDynamicLoading>
    <RootNamespace>ProjectA</RootNamespace>
    <!-- use interpreter in ios release -->
    <UseInterpreter Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios' And '$(Configuration)' == 'Release'">true</UseInterpreter>

  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="ably.io" Version="1.2.15" />
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
    <PackageReference Include="System.Net.Http" Version="4.3.4" />
    
    <TrimmerRootAssembly Include="IO.Ably" />
  </ItemGroup>
  

</Project>

Should I change the Newtonsoft.Json version ?

Already checked on issue but I didn't find something relevant.

Thank you!

┆Issue is synchronized with this Jira Task by Unito

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions