Duplicated
Last Updated: 10 Oct 2022 15:41 by ADMIN
Brett
Created on: 05 Aug 2022 00:34
Category: ComboBox
Type: Bug Report
4
Telerik_Maui_InputElement_RadTextField' does not implement methodSignatureForSelector

It appears that by the amount of problems that I have encountered so far that Telerik UI for .NET MAUI has not been tested at all on IOS.

Your own ControlSamples do not run for IOS.

Anyway..

Next problem.

IOS Specific only.

           <telerik:RadComboBox ItemsSource="{Binding Items}"
                                     Placeholder="Select Status"
                                     IsDropDownClosedOnSelection="True"/>

note that to use the Telerik Custom Controls it is necessary to either add an x:name to each control, or dummy instantiate each one.

This can be done in MauiProgram.cs.

Add line

  _ = new RadComboBox();

 

A runtime error occurs when using telerik:RadComboBox and the application will abort.

2022-08-05 10:24:05.765 Xamarin.PreBuilt.iOS[5889:422588] *** NSForwarding: warning: object 0x2837b0780 of class 'Telerik_Maui_InputElement_RadTextField' does not implement methodSignatureForSelector: -- trouble ahead
2022-08-05 10:24:05.765 Xamarin.PreBuilt.iOS[5889:422588] *** NSForwarding: warning: object 0x2837b0780 of class 'Telerik_Maui_InputElement_RadTextField' does not implement doesNotRecognizeSelector: -- abort

 

 

Duplicated
This item is a duplicate of an already existing item. You can find the original item here:
9 comments
ADMIN
Didi
Posted on: 08 Aug 2022 13:20

Hello Brett,

The images are from Hot Reload feature, not from Hot Restart feature.

You can use the hot reload feature. Hot Reload and Hot Restart are different features. When I disable the Hot Restart feature, I cannot use Local iOS device (the option disappear from Visual Studio build options).

 

When I enable the Hot Restart, then iOS Local device option is available:

 

Regarding to the usage of Checkbox, Button they do not use the native Telerik.iOS dll. As I explained the native dll does not work with Hot Restart as it is a static library. Limitations in the hot restart feature. 

RadComboBox uses internally for input control on iOS the native control RadTextField. This is the reason why the exception occurs. Exception is expected when deploying on a local iOS device from Visual Studio for Windows. 

I hope the provided explanation answers your question.

Regards,
Didi
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Brett
Posted on: 06 Aug 2022 01:30

Also if I put a  telerik:RadButton and a telerik:RadCheckBox  in my sample (and remove the telerik:RadComboBox), the app WILL deploy and run under IOS local device from Windows.  (see attached screenshot from the Ipad that the app is running on)

        <telerik:RadCheckBox x:Name="jdhy"/>

            <telerik:RadButton x:Name="fred"
                           Text="Connectaaabb"
                           Style="{StaticResource SubmitButtonStyle}"
                           Margin="10"/>

Attached Files:
Brett
Posted on: 06 Aug 2022 00:52

Hi Didi, I believe that you are incorrect re disabling hot restart will stop deploy to local IOS device. See both screen shots. I have Hot restart disabled and I still deploy to local IOS device. And the app will run if I have no telerik controls in it.

 

Further from this.

You claim that it is impossible to run to a local IOS device from Windows with Hot Reload disabled.

And at the same time you state that Telerik Maui controls will not run WITH Hot Reload enabled.

Can you therefore explain to me how to run an App that employs Telerik Maui Controls on a local IOS device from a Windows machine? From statement, it would seem to be impossible.

(a small aside.  <telerik:RadCheckBox/> will work running under IOS. ie. I remove the telerik:RadComboBox from my sample app and put in a <telerik:RadCheckBox/> then the app will deploy and run on IOS)

Brett

 

ADMIN
Didi
Posted on: 05 Aug 2022 13:56

Hello Brett,

I think you misunderstood my comment regarding the usage of hot restart. Here is a summary:

  • Hot Restart is a mandatory requirement to deploy to a local iOS device on Windows

  • Disabling Hot Restart will disable the option to deploy to a local iOS device

  • Note: you claim that you can still do this, but this is impossible. Please explain further about how you're deploying to a local iOS device with Hot restart disabled.
  • The Telerik iOS libraries will not work under any hot restart situation because they're static libraries and the exception is expected.

Static libraries are not supported in Hot Restart, this is a limitation of the hot restart feature. https://docs.microsoft.com/en-us/xamarin/xamarin-forms/deploy-test/hot-restart#limitations 

To address the x:Name problem, you can just add this assembly attribute instead of making new instances of every control you use:

[assembly: XamlCompilation(XamlCompilationOptions.Compile)]

namespace MyApp.Maui
{
    public static class MauiProgram

...

 

I look forward to your reply. 

Regards,
Didi
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Brett
Posted on: 05 Aug 2022 09:16

Hi Didi, no you did not understand correctly. As i stated "I have tried with and without Hot Restart".

So to clarify that statement.

I have encountered the problem when Hot Restart is DISABLED.

I also encountered the problem when Hot Restat is ENABLED.

The problem occurs with Hot Restat disabled.

The problem also occurs with hot restart enabled.

Brett

ADMIN
Didi
Posted on: 05 Aug 2022 08:50

Hello Brett,

If I understood correctly, you are using Hot Restart feature and the issue occurs when you run the app on a iOS real device from visual studio 2022 review for Windows? When using real device from Visual Studio for Windows, hot restart feature is used. You cannot use iOS local device option without the hot restart feature. 

Please elaborate how the issue happens on a local device without the usage of hot restart?

Regards,
Didi
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Brett
Posted on: 05 Aug 2022 06:17

Here is a stripped down project I am using. 

I am testing via Visual Studio on a IOS Local Devices.

And using the latest Telerik.UI.for.Maui.Trial 2.3.0.

Attached Files:
Brett
Posted on: 05 Aug 2022 05:58

Hi Didi,

re ControlSamples. I am referring to building them myself and running on IOS physical devices from Visual Studio 2022 Preview Windows 11. The splash screen display. Then the app crashes.

re x:name  This was just a FYI.   On the github issue https://github.com/dotnet/maui/issues/7503  there was a great solution. Rather than having to add an x:name to every control just instantiate every telerik control you will use in MauiProgram.cs. ie.  _ = new RadComboBox();

re A runtime error occurs when using telerik:RadComboBox and the application will abort.

I have tried with and without Hot Restart. Both result i same error. I wwas aware that there had been Hot Restart problems under IOS. I have also tried the app on Ipad and Iphone. Same result.

ADMIN
Didi
Posted on: 05 Aug 2022 05:39

Hi Brett,

Thank you for the provided details. We have not been reported such an exception before.

Let me get straight to the points: 

1) Your own ControlSamples do not run for IOS.

Our ControlSamples app runs on iOS. It is also available on the Apple App store. You can download the app from the store and test on your side. If the app does not run on iOS it won't be available on the Apple App store. 

I am not sure why it is not running on your side. Maybe some additional setup is required. On my side the app from the installation folder builds and runs as expected. 

2) x:Name issue

This issue is a general issue and it is related to every custom control. We have a bug report here: https://feedback.telerik.com/maui/1566733-controls-mac-ios-windows-app-cannot-be-build-if-some-radcontrols-don-t-have-x-name 

Note that the issue is an issue in the .NET MAUI framework, not related to Telerik .NET MAUI.
I am pasting my comment from the public feedback item here: 
We have researched the case in details and we have logged an issue in .NET MAUI GitHub repo. It seems the issue happens when creating a custom control in general. Here is the link to the issue: https://github.com/dotnet/maui/issues/7503  

There is an easy workaround, just add the x:Name to the control you want to use, until Microsoft provide a fix for this issue. 

3) A runtime error occurs when using telerik:RadComboBox and the application will abort.

Could you please elaborate whether the Hot Restart feature is used? I am asking as we have a similar exception in our Telerik UI for Xamarin suite when using Hot Restart feature and the exception occurs only on iOS. 

I look forward to your reply.

Regards,
Didi
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.