Recently, I can't publish my new app to App Store due to the following error:
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no
longer accepted. Instead, use WKWebView for improved security and
reliability. Learn more
(https://developer.apple.com/documentation/uikit/uiwebview).
Question 1, what is UIWebView and WkWebView? I can't even find a single word "UIWebView" in my project, how Apple knows I'm using it? The pages that I used are all xamarin based and Content Page only. You may refer to the code below in my xaml file.
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" >
<StackLayout>
</StackLayout>
</ContentPage>
That's it, no keyword "UIWebView".
Question 2, how to I set my entire project to WkWebView? I can't find any option in the settings page.
I've tried adding "--optimize=experimental-xforms-product-type" to Additional mtouch arguments in the iOS Build but no effect at all. Is there any other way? I just want to publish my app...
This seems an existing issue of Xamarin.forms on iOS .
Make sure that the version Xamarin.Forms is 4.7 or higher and Xamarin.iOS is 13.10.0.17 or higher.
Change the Linker Behavior to SDK Only or Link All and then add the
additional arguments: --optimize=experimental-xforms-product-type
Please check all of these have been set under the release
configuration and iPhone platform.
For more details you could refer
https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/
Related
I use facebook_audience_network plugin to implement native ad in my app. The problem is the layout the plugin provide doesnt go well with my UI as you can see in the picture.
I also tried modifying xml file in plugin's 'layout' folder but it doesn't change the Native ad Layout.
How can I modify the plugin so that the native ad match the other contents?
A snippet of code would be highly appreciated.
My app UI
We identified one or more issues with a recent delivery for your app, "Kill Corona stress-relief game" 1.0 (1.0). Please correct the following issues, then upload again.
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).
I have searched in the code for the UIWebView but there is no single instance of this still apple rejecting app.
I found this section "UIWebView Deprecation and App Store Rejection (ITMS-90809)" here:
https://learn.microsoft.com/ru-ru/xamarin/xamarin-forms/user-interface/webview?tabs=macos
"Starting in April 2020, Apple will reject apps that still use the deprecated UIWebView API"
So you should have:
"Xamarin.Forms 4.5 or higher"
"Xamarin.iOS 13.10.0.17 or higher"
"Remove references to UIWebView"
Also check this out: https://learn.microsoft.com/ru-ru/xamarin/ios/user-interface/controls/webview#uiwebview-deprecation
Here is my suggestion if you are generating build from unity.
Please update of plugins if possible. and use below versions of unity. and also check URL.
Use this unity version: 2017.4, 2018.4, 2019.1, 2019.2, 2019.3
enter image description here
https://issuetracker.unity3d.com/issues/ios-unitywebrequest-errors-large-packets-with-examples
https://issuetracker.unity3d.com/issues/ios-apple-throws-deprecated-api-usage-warning-for-using-uiwebview-when-submitting-builds-to-the-app-store-connect
https://forum.unity.com/threads/itms-90809-deprecated-api-usage-new-apps-that-use-uiwebview-are-no-longer-accepted.883510/
After upgrading to design support library 28.0.0-alpha1 as part of the Android P preview and updating my base app theme to extend from Theme.MaterialComponents.Light.DarkActionBar according to the documentation at https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md all my textfields now show the filled version as show below.
Is there a way to change to the outlined version using the design support library instead of having to refactor to android.x and switching to using the new material components?
Yes, you can do that using support design library in your gradle
Add this line:
implementation 'com.android.support:design:28.0.0-alpha1'
Note: You should not use the com.android.support and com.google.android.material dependencies in your app at the same time.
Use com.android.support or androidx
You may get render error then add this line in style AppTheme
<item name="cardViewStyle">#style/CardView.Light</item>
you can refer this link readme
The Application Insights extensions in Visual Studio and Azure appear to inject the javascript snippet for page view tracking automatically, even though the docs say you enable this with an Application Setting key "APPINSIGHTS_JAVASCRIPT_ENABLED" = true.
Other docs show how to add the same javascript in my layout view, which I did. As a result I'm now seeing the AI javascript twice, once from my view, once from the AI magic. I'd prefer to control this myself -- how can I prevent the tooling from modifying the pages to inject the script? Setting APPINSIGHTS_JAVASCRIPT_ENABLED to false doesn't seem to work.
I'm working in an ASP.NET Core 2.0 web application.
Try upgrading to the lastest version of Microsoft.ApplicationInsights.AspNetCore. They released a new version (2.2.0) today, which resolved the problem for me! The javascript part is not added automatically anymore!
I have read several articles on adding Azure Active Directory sign-in functionality to Xamarin PCL projects (e.g. https://blog.xamarin.com/put-adal-xamarin-forms/) but I am still not able to make it work.
Can someone please clarifiy the correct ADAL package to use for Azure B2C AD(for Xamarin PCL project)?
Is it:
Microsoft.IdentityModel.Clients.ActiveDirectory
OR
Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory
Thanks!
Thanks to #Kaush and #vibronet for pointing me in the right direction, saving a lot of time.
For anyone wanting to add B2C Sign-In & Sign-Up flows to a Xamarin Forms project - I was able to mash-up a solution for Android as follows:
At all times change any reference to Microsoft.IdentityModel.Clients.ActiveDirectory to Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory
Add the Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory package to all projects. If a compatibility error occurs in the PCL project then manually add a package reference using 'Add Reference' as described by #Kaush. I chose the 'portable-net45+win+wpa81' library.
Implement the flows as described here: https://blog.xamarin.com/put-adal-xamarin-forms/
Change the call to 'AcquireTokenAsync' to:
var result = await authContext.AcquireTokenAsync(new string[] { clientId }, null, clientId, new Uri(returnUri), platformParams, "{Policy_Name_Here}");
Notes:
Ensure the format of the authority is 'https://login.microsoftonline.com/{Tenant_Name_Here}.onmicrosoft.com'
This is experimental based on alpha code so expect it to change / break / evolve in the near future.
Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory is the right package for B2C, but the Xamarin scenario wasn't one targeted by this preview. We'll be adding new platforms as we refresh the preview going forward.
I would pay heed to what #vibronet says, but having said that (and to get you going), here's my screen shot of all the references that I use in the sample project you mentioned:
The ADAL package version I used was: 3.5.207081303-alpha (Prerelease), nuget did not add it to my PCL library, I ended up adding the reference explicitly via the 'Add Reference' and browsing to the package, maybe you could try the same.
Lastly, I had to add the extraQueryParameters as specified in here
Let me know how you go...