UXDivers/Gorilla-Player-Support

Gorialla 1.5.2 - SDK configuration error while using syncfusion segmentedcontrol

Opened this issue · 11 comments

My environment -

  • OS Win 10 Professional 64 update 1809
  • VS 2019.1.1
  • Grial SDK 2.7.7
  • Gorilla SDK updated to 1.5.2

While previewing a content page that uses Syncfusion segmented control, Gorilla SDK -

  1. gets frozen for long time on the initial (Gorilla server is established) launch page

  2. after a long delay when it renders the page, it shows error - "Additional SDK configuration required"; and it keep flickering that message a lot frequently

  3. clicking on that message (right arrow) doesn't open up the page where ususally it shows what is missing

  4. The sample XAML code - https://help.syncfusion.com/xamarin/sfsegmentedcontrol/getting-started#adding-data-as-custom-view
    referes to xmlns:segmentCollection="clr-namespace:System.Collections.Generic;assembly=netstandard"

    In AppDelegate.cs,
    I have initialized SfSegmentedControl by calling
    SfSegmentedControlRenderer.Init();

    I have added referenece to the assembly (NETStandard library) supplying above type as below -
    //Register System Collections from .Net Standard Library
    .RegisterAssembly(typeof(System.Collections.Generic.List).Assembly)

  5. Removal of the reference to the xmlns:segmentCollection as shown above , results in the following error … where netstandard is not a page for providing data to it...
    image

Will you please help me in addressing this issue ?

Thank you

@IoTFier

Silly question, but did you redeployed the player app after doing the RegisterAssembly(typeof(System.Collections.Generic.List).Assembly)?

Regarding 3, you might try accessing what is missing through the Status Page.

Regarding 5. The message is wrong there. Where it says "The following Bindings need data:" it should say "The following assemblies are missing:". If you completely removed netstandard from the page and it keeps complaining probably it means that it is used elsewhere, App.xaml? Auxiliary view?

Hi @LeoHere ,

I didn't explicitly build the player app from the Extras folder for iOS Simulator. I thought the App bundle will have it packaged in it right? Do I need to ? More than happy to do it.

I haven't called out status page explicitly in my assembly.info.. will try that.

The NETStandrard assembly is in the shared standard project...
In my app, this is the only page that's referring to the NETStandard as referred by Syncfusion sample on the link above. So, that question wouldn't apply here. Rest of my pages are viewed fairly well.

Hi @LeoHere - any thoughts ? It still not working for me.
I have also build the player and deployed on both iOS simulator and on my android device.

BTW - XF version referred in that code is 3.2; is this the same player used for Grial v3 as well ? If so, will it be better if the Gorilla Player is compiled against at least 3.6 (4.0 is just out ) ?

Waiting ..

Thanks

@LeoHere , I am still waiting for your input..

@IoTFier doing the RegisterAssembly(typeof(System.Collections.Generic.List).Assembly) will not work since it end up registering mscorlib. So gorilla will keep complaining. I will log this as a bug.

Workarounds:

  1. stop referencing the netstandard from your XAML
  2. using the old knownAssemblies property of the Gorilla.json file to enumerate all the assemblies referenced within your XAML files.
{
  ...
  "knownAssemblies":[
	  { "name": "netstandard" },
	  { "name": "Assembly1" },
	  { "name": "Assembly2" },
	  { "name": "Assembly3" },
	  { "name": "Assembly4" }
  ]
  ...
}

Hope it helps.

Hi @LeoHere , It is not possible to define segmentCollection without referencing the type of objects it is going to have .
e.g. removing the namespace aliased - segmentCollection fails XAML compilation, as XAML processor doesn't know how infer List type.
xmlns:segmentCollection="clr-namespace:System.Collections.Generic;assembly=netstandard"
xmlns:sfButtons="clr-namespace:Syncfusion.XForms.Buttons;assembly=Syncfusion.Buttons.XForms"

        </sfButtons:SfSegmentedControl>
             <segmentCollection:List x:TypeArguments="x:String">
                <x:String>First</x:String>
                <x:String>Second</x:String>
            </segmentCollection:List>
        </sfButtons:SfSegmentedControl>

It throws following error even when Gorilla.json has the entry made like you suggested above -
image

To validate this issue, I created another ContentPage, removed access to netstandards library and removed reference to SfSegmentedControl ... but even for that I am getting following error with no information mentioned..

image

Hi Team,

We have checked the reported issue with Syncfusion control in Gorilla player. It rendered only the empty view regarding this we have already logged query

#282

Actually we have used the IEnumerable typed property to populated the items. Gorilla player breaks the binding with those property due the usage of Reflection. Related code examples and configuration has been added in the above mentioned query.

Please check and update to us.

Hi Team,

Any suggestion to resolve this issue? Any update, please?

Hi Team,

Is anyone looking on this? if it is, that will be more appreciated.

Hi Team,

It is really strange about getting no reply from our query. Is any solution?

Hi Team,

Any solution for this?