зеркало из https://github.com/DeGsoft/maui-linux.git
Merge branch '4.8.0' into 5.0.0
# Conflicts: # Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems # build.cake # build/steps/build-osx.yml
This commit is contained in:
Коммит
8f081252d3
|
@ -0,0 +1,33 @@
|
|||
using Xamarin.Forms.CustomAttributes;
|
||||
using Xamarin.Forms.Internals;
|
||||
using Xamarin.Forms.PlatformConfiguration;
|
||||
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
|
||||
|
||||
#if UITEST
|
||||
using Xamarin.Forms.Core.UITests;
|
||||
using Xamarin.UITest;
|
||||
using NUnit.Framework;
|
||||
#endif
|
||||
|
||||
namespace Xamarin.Forms.Controls.Issues
|
||||
{
|
||||
#if UITEST
|
||||
[Category(UITestCategories.ManualReview)]
|
||||
#endif
|
||||
[Preserve(AllMembers = true)]
|
||||
[Issue(IssueTracker.Github, 11963, "Time Picker is broken in Xamarin.Forms as of iOS 14 Public Beta 6", PlatformAffected.iOS)]
|
||||
public class Issue11963 : TestContentPage
|
||||
{
|
||||
protected override void Init()
|
||||
{
|
||||
var timePicker = new TimePicker();
|
||||
|
||||
Content = new StackLayout
|
||||
{
|
||||
Spacing = 20,
|
||||
VerticalOptions = LayoutOptions.Center,
|
||||
Children = { timePicker }
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1587,6 +1587,11 @@
|
|||
</Compile>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Issue11869.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Issue11723.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Issue11737.xaml.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Issue11764.xaml.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Issue11573.xaml.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Issue11496.xaml.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Issue11963.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Issue11831.xaml.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Issue11496.xaml.cs" >
|
||||
<DependentUpon>Issue11496.xaml</DependentUpon>
|
||||
|
@ -1883,6 +1888,9 @@
|
|||
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Issue11875.xaml">
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Issue11653.xaml">
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Issue11737.xaml">
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
</EmbeddedResource>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
BindableProperty.Create(nameof(Stroke), typeof(Brush), typeof(Shape), null);
|
||||
|
||||
public static readonly BindableProperty StrokeThicknessProperty =
|
||||
BindableProperty.Create(nameof(StrokeThickness), typeof(double), typeof(Shape), 0.0);
|
||||
BindableProperty.Create(nameof(StrokeThickness), typeof(double), typeof(Shape), 1.0);
|
||||
|
||||
public static readonly BindableProperty StrokeDashArrayProperty =
|
||||
BindableProperty.Create(nameof(StrokeDashArray), typeof(DoubleCollection), typeof(Shape), null,
|
||||
|
|
|
@ -38,6 +38,7 @@ namespace Xamarin.Forms
|
|||
static bool? s_isiOS10OrNewer;
|
||||
static bool? s_isiOS11OrNewer;
|
||||
static bool? s_isiOS13OrNewer;
|
||||
static bool? s_isiOS14OrNewer;
|
||||
static bool? s_respondsTosetNeedsUpdateOfHomeIndicatorAutoHidden;
|
||||
|
||||
internal static bool IsiOS9OrNewer
|
||||
|
@ -81,6 +82,16 @@ namespace Xamarin.Forms
|
|||
}
|
||||
}
|
||||
|
||||
internal static bool IsiOS14OrNewer
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!s_isiOS14OrNewer.HasValue)
|
||||
s_isiOS14OrNewer = UIDevice.CurrentDevice.CheckSystemVersion(14, 0);
|
||||
return s_isiOS14OrNewer.Value;
|
||||
}
|
||||
}
|
||||
|
||||
internal static bool RespondsToSetNeedsUpdateOfHomeIndicatorAutoHidden
|
||||
{
|
||||
get
|
||||
|
|
|
@ -81,7 +81,12 @@ namespace Xamarin.Forms.Platform.iOS
|
|||
entry.EditingDidEnd += OnEnded;
|
||||
|
||||
_picker = new UIDatePicker { Mode = UIDatePickerMode.Time, TimeZone = new NSTimeZone("UTC") };
|
||||
|
||||
#if __XCODE11__
|
||||
if (Forms.IsiOS14OrNewer)
|
||||
{
|
||||
_picker.PreferredDatePickerStyle = UIKit.UIDatePickerStyle.Wheels;
|
||||
}
|
||||
#endif
|
||||
var width = UIScreen.MainScreen.Bounds.Width;
|
||||
var toolbar = new UIToolbar(new RectangleF(0, 0, width, 44)) { BarStyle = UIBarStyle.Default, Translucent = true };
|
||||
var spacer = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace);
|
||||
|
|
36
build.cake
36
build.cake
|
@ -181,19 +181,15 @@ string monoVersion = "";
|
|||
|
||||
if(releaseChannel == ReleaseChannel.Stable)
|
||||
{
|
||||
if(IsXcodeVersionOver("11.4"))
|
||||
if(IsXcodeVersionAtLeast("12.0"))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
// Xcode 11.3
|
||||
monoMajorVersion = "";
|
||||
monoPatchVersion = "";
|
||||
androidSDK_macos = "https://download.visualstudio.microsoft.com/download/pr/8f94ca38-039a-4c9f-a51a-a6cb33c76a8c/aa46188c5f7a2e0c6f2d4bd4dc261604/xamarin.android-10.2.0.100.pkg";
|
||||
iOSSDK_macos = $"https://download.visualstudio.microsoft.com/download/pr/8f94ca38-039a-4c9f-a51a-a6cb33c76a8c/21e09d8084eb7c15eaa07c970e0eccdc/xamarin.ios-13.14.1.39.pkg";
|
||||
macSDK_macos = $"https://download.visualstudio.microsoft.com/download/pr/8f94ca38-039a-4c9f-a51a-a6cb33c76a8c/979144aead55378df75482d35957cdc9/xamarin.mac-6.14.1.39.pkg";
|
||||
monoSDK_macos = "https://download.visualstudio.microsoft.com/download/pr/8f94ca38-039a-4c9f-a51a-a6cb33c76a8c/3a376d8c817ec4d720ecca2d95ceb4c1/monoframework-mdk-6.8.0.123.macos10.xamarin.universal.pkg";
|
||||
|
||||
iOSSDK_macos = $"https://bosstoragemirror.blob.core.windows.net/wrench/jenkins/d16-7-xcode11.7/3016ffe2b0ee27bf4a2d61e6161430d6bbd62f78/7/package/notarized/xamarin.ios-13.20.3.5.pkg";
|
||||
macSDK_macos = $"https://bosstoragemirror.blob.core.windows.net/wrench/jenkins/d16-7-xcode11.7/3016ffe2b0ee27bf4a2d61e6161430d6bbd62f78/7/package/notarized/xamarin.mac-6.20.3.5.pkg";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1089,11 +1085,19 @@ MSBuildSettings GetMSBuildSettings(PlatformTarget? platformTarget = PlatformTarg
|
|||
return buildSettings;
|
||||
}
|
||||
|
||||
bool IsXcodeVersionOver(string version)
|
||||
bool IsXcodeVersionAtLeast(string version)
|
||||
{
|
||||
if(IsRunningOnWindows())
|
||||
return true;
|
||||
|
||||
return XcodeVersion() >= Version.Parse(version);
|
||||
}
|
||||
|
||||
Version XcodeVersion()
|
||||
{
|
||||
if(IsRunningOnWindows())
|
||||
return null;
|
||||
|
||||
IEnumerable<string> redirectedStandardOutput;
|
||||
StartProcess("xcodebuild",
|
||||
new ProcessSettings {
|
||||
|
@ -1109,22 +1113,12 @@ bool IsXcodeVersionOver(string version)
|
|||
{
|
||||
var xcodeVersion = Version.Parse(item.Replace("Xcode", ""));
|
||||
Information($"Xcode: {xcodeVersion}");
|
||||
var xcodePath = xcodeVersion.ToString().Replace(".0", "");
|
||||
|
||||
if(isCIBuild)
|
||||
{
|
||||
StartProcess("xcode-select",
|
||||
new ProcessSettings {
|
||||
Arguments = new ProcessArgumentBuilder().Append($"-s /Applications/Xcode_{xcodePath}.app")
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
return Version.Parse(item.Replace("Xcode", "")) >= Version.Parse(version);
|
||||
return xcodeVersion;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return null;
|
||||
}
|
||||
|
||||
IReadOnlyList<AppleSimulator> iosSimulators = null;
|
||||
|
@ -1184,4 +1178,4 @@ public void SetEnvironmentVariable(string key, string value, ICakeContext contex
|
|||
{
|
||||
System.Environment.SetEnvironmentVariable(key, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ if (IsMac)
|
|||
}
|
||||
|
||||
ForceJavaCleanup();
|
||||
Item (XreItem.Java_OpenJDK_1_8_0_25);
|
||||
OpenJDK ("1.8.0-40");
|
||||
|
||||
string releaseChannel = Environment.GetEnvironmentVariable ("CHANNEL");
|
||||
Console.WriteLine ("ANDROID_SDK_MAC: {0}", Environment.GetEnvironmentVariable ("ANDROID_SDK_MAC"));
|
||||
|
|
Загрузка…
Ссылка в новой задаче