Gorilla-Player-Support icon indicating copy to clipboard operation
Gorilla-Player-Support copied to clipboard

Gorialla 1.5.2 - SDK configuration error while using syncfusion segmentedcontrol

Open npagare opened this issue 5 years ago • 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<SfSegmentItem>).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

npagare avatar May 26 '19 22:05 npagare

@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?

LeoHere avatar May 27 '19 12:05 LeoHere

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.

npagare avatar May 27 '19 14:05 npagare

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

npagare avatar May 30 '19 12:05 npagare

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

npagare avatar Jun 13 '19 06:06 npagare

@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.

LeoHere avatar Jun 13 '19 17:06 LeoHere

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

npagare avatar Jun 14 '19 16:06 npagare

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

https://github.com/UXDivers/Gorilla-Player-Support/issues/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.

mrhemalatha avatar Jun 25 '19 13:06 mrhemalatha

Hi Team,

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

mrhemalatha avatar Jul 03 '19 09:07 mrhemalatha

Hi Team,

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

mrhemalatha avatar Jul 08 '19 04:07 mrhemalatha

Hi Team,

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

mrhemalatha avatar Jul 15 '19 06:07 mrhemalatha

Hi Team,

Any solution for this?

MuneeshKumarG avatar Aug 08 '19 07:08 MuneeshKumarG