Completed
Last Updated: 13 Jul 2020 15:06 by ADMIN
Release 2020.1.313 (R1 2020 minor release)
Marc
Created on: 03 Mar 2020 15:35
Category: UI for Xamarin
Type: Feature Request
8
Xamarin.Forms 4.5 (or later) Required

April 2020 Deadline

Apple will no longer accept applications published with anything less than Xamarin.Forms 4.5 after April 2020.

This is due to the UIWebView flag that is in Xamarin.Forms 4.4 and earlier

ITMS-90809: Deprecated API Usage- Apple will stop accepting submissions of apps that use UIWebView APIs starting from April 2020 . 

 

Solution

Please visit this documentation for full explanation. Just to share the highlights, Telerik UI for Xamarin will need to:

  • Xamarin.Forms 4.5 or higher – Pre-release versions of Xamarin.Forms 4.5 can be used.
  • Xamarin.iOS 13.10.0.17 or higher – Check your Xamarin.iOS version in Visual Studio. This version of Xamarin.iOS is included with Visual Studio for Mac 8.4.1 and Visual Studio 16.4.3.
  • Remove references to UIWebView – Your code should not have any references to UIWebView or any classes that make use of UIWebView.
11 comments
ADMIN
Lance | Manager Technical Support
Posted on: 13 Jul 2020 15:06

Hello Folks,

I have spoken with the dev team and have some good news for you. The team is actually in the middle of working on this right now and are planning to have it in the next minor release.

You should be following the Provide Support for AndroidX Feature Request, that is where you will be alerted when the new release is available (this thread was for XF 4.5 support which was completed in R1 2020)

As I alluded to at the end of my last reply, you can target 29 but still have AndroidX and Xamarin.Android Support libraries, but this is not recommended. Instead, my guidance would be to keep developing as you are now (with 28 targeted). Then, when we release the updated assemblies, you can safely switch the target SDK to API 29 and migrate to AndroidX.

Regards,
Lance | Manager - Technical Support
Progress Telerik

ADMIN
Lance | Manager Technical Support
Posted on: 13 Jul 2020 13:42

Hi Francis and Marc,

Thank you for sharing, I have forwarded the article to the UI for Xamarin team. Either I, or someone from the team, will reply back to this thread once they've reviewed the situation.

 

In the meantime, to recap the issue, I believe it was only a problem with the AndroidX libraries, not that actual target SDK. In theory, I think you should be able to target 29, but keep using Xamarin.Android Support Library NuGet packages (instead of migrating to AndroidX libraries). However, I do not have solid proof on this yet and will need the dev team to weigh in.

Thank you for your patience while we work on making sure you will be able to publish by 8/3 (or update by 11/2).

Regards,
Lance | Manager - Technical Support
Progress Telerik

Marc
Posted on: 13 Jul 2020 13:10
Good catch Francis.   Lance, when will we be able to target API 29?
ADMIN
Lance | Manager Technical Support
Posted on: 20 Mar 2020 15:04

Hi Folks,

In the 2020.1.318 release (release notes), we implemented a change that will prevent an exception that was caused by a method missing in AndroidX.  This means you can now use Xamarin.Forms 4.5 for all the projects in the solution.

Target Android SDK Note

Although you can use XF 4.5, at this time we discourage targeting API 29. In your Android project setting, check the following values are set to Android 9 (API 28)

 

You can also use my attached project as a reference.

Regards,
Lance | Team Lead - US DevTools Support
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Attached Files:
ADMIN
Lance | Manager Technical Support
Posted on: 20 Mar 2020 00:03

Hello Marc,

Thank you for clarifying, that is indeed an important distinction. Just so that it's extra clear for anyone visiting this thread in the future, let me break it out visually

April 2020 Deadline

Any new app referencing UIWebView APIs will be declined.

December 2020 Deadline

Any app updates referencing UIWebView APIs will be declined.

Regards,
Lance | Team Lead - US DevTools Support
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Marc
Posted on: 19 Mar 2020 23:57

Hey Lance,

Just a clarification.   Apple will stop accepting new apps next month and updates in December.   

https://developer.apple.com/news/?id=12232019b

Thanks,

Marc

ADMIN
Lance | Manager Technical Support
Posted on: 19 Mar 2020 12:40

Hello Sadanan,

Telerik UI for Xamarin does not use UIWebView. It is actually a vestigial piece of code that was accidentally left in Xamarin.Forms. Microsoft removed it in XF 4.5.

Apple was going to stop accepting submissions in April 2020, but they moved that to December 2020. You can see this mentioned in an email screenshot here.

Regardless, we have been working hard to make sure everything works in our release so you can target Xamarin.Forms 4.5 and not be blocked by that issue. Make sure you're subscribed to this ticket to see when the status changes from In Development to Completed.

Regards,
Lance | Team Lead - US DevTools Support
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Sadanan
Posted on: 19 Mar 2020 06:37

Does Telerik controls uses UIWebView in their code directly? What about those having existing apps using telerik controls but their license is expired. Does it mean they can not submit any updates to their app. We can upgrade to XF 4.5 but how will we update Telerik controls to not use UIWebview. This is such a deal breaker and looks like no other option except to renew license or remove using telerik controls. 

ADMIN
Lance | Manager Technical Support
Posted on: 04 Mar 2020 15:32

Hi Ros,

That situation in unrelated to XamarinForms version or this feature request. I will provide an answer below. However, if you have any further questions, please open a new ticket so that we can better assist you.

Understanding Linker Behavior and LinkSkip

The reason you're seeing that problem is because when you set the linker to LinkAll, the compiler will strip out all the external code that you do not explicitly reference. This means any Telerik controls will also be stripped out, leading to what you see.

Full linking (LinkAll) is not supported in UI for Xamarin, as the compiler will remove all the external code that isn't directly referenced by your code. You can attempt to avoid this by instructing the linker to skip the external controls. See the Microsoft documentation here https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/linker?tabs=windows#skipping-assemblies

Specifically, add a --linkskip argument for every Telerik assembly that your project is using. For example, if you're only using RadBorder, then you would have the following assembly references that need to be skipped

--Telerik.Xamarin.iOS --Telerik.XamarinForms.Primitives

You will need to add a linkskip argument for every assembly separately. The Microsoft documentation I linked to above explains in more detail.

Regards,
Lance | Team Lead - US DevTools Support
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Ros Jason
Posted on: 04 Mar 2020 06:41
I also tried the linker behavior to link all and my UI got destroyed.