Skip to content

Commit

Permalink
Merge pull request #7009 from xamarin/d16-3-xcode11-v2
Browse files Browse the repository at this point in the history
Merge xcode11 into d16-3 (updated).
  • Loading branch information
rolfbjarne authored Sep 17, 2019
2 parents 97f1aa4 + 80bcb02 commit 5e8a208
Show file tree
Hide file tree
Showing 55 changed files with 1,532 additions and 636 deletions.
4 changes: 2 additions & 2 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ IOS_PACKAGE_UPDATE_ID=$(shell printf "2%02d%02d%02d%03d" $(IOS_PACKAGE_VERSION_M

# Xcode version should have both a major and a minor version (even if the minor version is 0)
XCODE_VERSION=11.0
XCODE_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_11_GM_Seed.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode11-GM.app/Contents/Developer
XCODE_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_11_GM_Seed_2.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode11-GM2.app/Contents/Developer

XCODE94_VERSION=9.4
XCODE94_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_9.4.xip
Expand Down
8 changes: 8 additions & 0 deletions docs/website/generator-errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,14 @@ This usually indicates a bug in Xamarin.iOS/Xamarin.Mac; please [file a bug repo

### <a name='BI1066'/>BI1066: Unsupported return type '{type}' in {method}.

### <a name='BI1067'/>BI1067: The type '{type}' is trying to inline the property '{property}' from the protocols '{readonly.DeclaringType.FullName}' and '{writeonly.DeclaringType.FullName}', but the inlined properties don't share the same accessors ('{readonly}' is read-only, while '${writeonly}' is write-only).

### <a name='BI1068'/>BI1068: The type '{type}' is trying to inline the property '{property}' from the protocols '{protocol1}' and '{protocol2}', and the inlined properties use different selectors ({protocol1} uses '{selector1}', and {protocol2} uses '{selector2}.

### <a name='BI1069'/>BI1069: The type '{type}' is trying to inline the methods binding the selector '{selector}' from the protocols '{protocol1}' and '{protocol2}', using methods with different signatures ('{signature}' vs '{signature2}').

### <a name='BI1070'/>BI1070: The type '{type}' is trying to inline the property '{property}' from the protocols '{protocol1}' and '{protocol2}', but the inlined properties are of different types ('{property1}' is int, while '{property2}' is int).

# BI11xx: warnings

<!-- 11xx: warnings -->
Expand Down
36 changes: 36 additions & 0 deletions runtime/bindings-generator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1499,6 +1499,30 @@ static IEnumerable<FunctionData> GetFunctionData ()
}
);

data.Add (
new FunctionData {
Comment = " // void func (Quaternion, double)",
Prefix = "simd__",
Variants = Variants.NonStret,
Parameters = new ParameterData [] {
new ParameterData { TypeData = Types.QuatF },
new ParameterData { TypeData = Types.Double },
},
}
);

data.Add (
new FunctionData {
Comment = " // void func (Quaterniond, double)",
Prefix = "simd__",
Variants = Variants.NonStret,
Parameters = new ParameterData [] {
new ParameterData { TypeData = Types.QuatD },
new ParameterData { TypeData = Types.Double },
},
}
);

data.Add (
new FunctionData {
Comment = " // void func (Quaternion)",
Expand All @@ -1522,6 +1546,18 @@ static IEnumerable<FunctionData> GetFunctionData ()
}
);

data.Add (
new FunctionData {
Comment = " // Quaternion func (double)",
Prefix = "simd__",
Variants = Variants.All,
ReturnType = Types.QuatF,
Parameters = new ParameterData [] {
new ParameterData { TypeData = Types.Double },
},
}
);

// Required for ModelIO
data.Add (
new FunctionData {
Expand Down
8 changes: 8 additions & 0 deletions src/AudioToolbox/AudioType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -391,11 +391,15 @@ public enum AudioChannelLabel : int { // UInt32 AudioChannelLabel
CenterSurroundDirect = 44,
Haptic = 45,

#if false
// with xcode11 GM the tvOS and macOS headers drifted from the iOS ones
// https://github.com/xamarin/maccore/issues/1960
LeftTopFront = 46,
CenterTopFront = 47,
RightTopFront = 48,
LeftTopMiddle = 49,
CenterTopMiddle = 50,
#endif
RightTopMiddle = 51,
LeftTopRear = 52,
CenterTopRear = 53,
Expand Down Expand Up @@ -503,11 +507,15 @@ public enum AudioChannelBit : uint // UInt32 mChannelBitmap in AudioChannelLayou
TopBackLeft = 1<<15,
TopBackCenter = 1<<16,
TopBackRight = 1<<17,
#if false
// with xcode11 GM the tvOS and macOS headers drifted from the iOS ones
// https://github.com/xamarin/maccore/issues/1960
LeftTopFront = 1<<18,
CenterTopFront = 1<<19,
RightTopFront = 1<<20,
LeftTopMiddle = 1<<21,
CenterTopMiddle = 1<<22,
#endif
RightTopMiddle = 1<<23,
LeftTopRear = 1<<24,
CenterTopRear = 1<<25,
Expand Down
7 changes: 4 additions & 3 deletions src/Constants.iOS.cs.in
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,13 @@ namespace MonoTouch {
public const string IdentityLookupUILibrary = "/System/Library/Frameworks/IdentityLookupUI.framework/IdentityLookupUI";
public const string NaturalLanguageLibrary = "/System/Library/Frameworks/NaturalLanguage.framework/NaturalLanguage";
// iOS 13.0
public const string SoundAnalysisLibrary = "/System/Library/Frameworks/SoundAnalysis.framework/SoundAnalysis";
public const string BackgroundTasksLibrary = "/System/Library/Frameworks/BackgroundTasks.framework/BackgroundTasks";
public const string CoreHapticsLibrary = "/System/Library/Frameworks/CoreHaptics.framework/CoreHaptics";
public const string LinkPresentationLibrary = "/System/Library/Frameworks/LinkPresentation.framework/LinkPresentation";
public const string MetricKitLibrary = "/System/Library/Frameworks/MetricKit.framework/MetricKit";
public const string PencilKitLibrary = "/System/Library/Frameworks/PencilKit.framework/PencilKit";
public const string QuickLookThumbnailingLibrary = "/System/Library/Frameworks/QuickLookThumbnailing.framework/QuickLookThumbnailing";
public const string LinkPresentationLibrary = "/System/Library/Frameworks/LinkPresentation.framework/LinkPresentation";
public const string VisionKitLibrary = "/System/Library/Frameworks/VisionKit.framework/VisionKit";
public const string CoreHapticsLibrary = "/System/Library/Frameworks/CoreHaptics.framework/CoreHaptics";
public const string SoundAnalysisLibrary = "/System/Library/Frameworks/SoundAnalysis.framework/SoundAnalysis";
}
}
3 changes: 2 additions & 1 deletion src/Constants.mac.cs.in
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ namespace MonoMac {
public const string PencilKitLibrary = "/System/Library/Frameworks/PencilKit.framework/PencilKit";
public const string SpeechLibrary = "/System/Library/Frameworks/Speech.framework/Speech";
public const string LinkPresentationLibrary = "/System/Library/Frameworks/LinkPresentation.framework/LinkPresentation";
public const string CoreHapticsLibrary = "/System/Library/Frameworks/CoreHaptics.framework/CoreHaptics";
// not clear if the api is available, issue: https://github.com/xamarin/maccore/issues/1951
//public const string CoreHapticsLibrary = "/System/Library/Frameworks/CoreHaptics.framework/CoreHaptics";
}
}
26 changes: 26 additions & 0 deletions src/CoreBluetooth/CBManager.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#if IOS || WATCH
using System;
using ObjCRuntime;

namespace CoreBluetooth {
public partial class CBManager {

[iOS (13,0), Watch (6,0)]
public static CBManagerAuthorization Authorization {
get {
// in iOS 13.1 / Watch 6.1 this is a static property, like other [tv|mac]OS
#if IOS
if (UIKit.UIDevice.CurrentDevice.CheckSystemVersion (13, 1)) {
#elif WATCH
if (WatchKit.WKInterfaceDevice.CurrentDevice.CheckSystemVersion (6, 1)) {
#endif
return _SAuthorization;
} else {
// in iOS 13.0 this was, shortly (deprecated in 13.1), an instance property
return new CBCentralManager ()._IAuthorization;
}
}
}
}
}
#endif
149 changes: 149 additions & 0 deletions src/MapKit/MKEnums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@ public enum MKUserTrackingMode : ulong {

[TV (9,2)][NoWatch][iOS (9,3)]
[Native]
[Deprecated (PlatformName.iOS, 13, 0, message: "Use 'MKLocalSearchCompleterResultType' instead.")]
[Deprecated (PlatformName.MacOSX, 10, 15, message: "Use 'MKLocalSearchCompleterResultType' instead.")]
[Deprecated (PlatformName.TvOS, 13, 0, message: "Use 'MKLocalSearchCompleterResultType' instead.")]
public enum MKSearchCompletionFilterType : long {
AndQueries = 0,
Only
Expand All @@ -140,6 +143,152 @@ public enum MKFeatureVisibility : long {
Hidden,
Visible,
}

[Flags]
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
[Native]
public enum MKLocalSearchCompleterResultType : ulong
{
Address = 1 << 0,
PointOfInterest = 1 << 1,
Query = 1 << 2,
}

[Flags]
[TV (13,0), NoWatch, Mac (10,15), iOS (13,0)]
[Native]
public enum MKLocalSearchResultType : ulong
{
Address = 1 << 0,
PointOfInterest = 1 << 1,
}

#if !WATCH
[TV (13, 0), NoWatch, Mac (10, 15), iOS (13, 0)]
public enum MKPointOfInterestCategory {

[Field ("MKPointOfInterestCategoryAirport")]
Airport,

[Field ("MKPointOfInterestCategoryAmusementPark")]
AmusementPark,

[Field ("MKPointOfInterestCategoryAquarium")]
Aquarium,

[Field ("MKPointOfInterestCategoryATM")]
Atm,

[Field ("MKPointOfInterestCategoryBakery")]
Bakery,

[Field ("MKPointOfInterestCategoryBank")]
Bank,

[Field ("MKPointOfInterestCategoryBeach")]
Beach,

[Field ("MKPointOfInterestCategoryBrewery")]
Brewery,

[Field ("MKPointOfInterestCategoryCafe")]
Cafe,

[Field ("MKPointOfInterestCategoryCampground")]
Campground,

[Field ("MKPointOfInterestCategoryCarRental")]
CarRental,

[Field ("MKPointOfInterestCategoryEVCharger")]
EVCharger,

[Field ("MKPointOfInterestCategoryFireStation")]
FireStation,

[Field ("MKPointOfInterestCategoryFitnessCenter")]
FitnessCenter,

[Field ("MKPointOfInterestCategoryFoodMarket")]
FoodMarket,

[Field ("MKPointOfInterestCategoryGasStation")]
GasStation,

[Field ("MKPointOfInterestCategoryHospital")]
Hospital,

[Field ("MKPointOfInterestCategoryHotel")]
Hotel,

[Field ("MKPointOfInterestCategoryLaundry")]
Laundry,

[Field ("MKPointOfInterestCategoryLibrary")]
Library,

[Field ("MKPointOfInterestCategoryMarina")]
Marina,

[Field ("MKPointOfInterestCategoryMovieTheater")]
MovieTheater,

[Field ("MKPointOfInterestCategoryMuseum")]
Museum,

[Field ("MKPointOfInterestCategoryNationalPark")]
NationalPark,

[Field ("MKPointOfInterestCategoryNightlife")]
Nightlife,

[Field ("MKPointOfInterestCategoryPark")]
Park,

[Field ("MKPointOfInterestCategoryParking")]
Parking,

[Field ("MKPointOfInterestCategoryPharmacy")]
Pharmacy,

[Field ("MKPointOfInterestCategoryPolice")]
Police,

[Field ("MKPointOfInterestCategoryPostOffice")]
PostOffice,

[Field ("MKPointOfInterestCategoryPublicTransport")]
PublicTransport,

[Field ("MKPointOfInterestCategoryRestaurant")]
Restaurant,

[Field ("MKPointOfInterestCategoryRestroom")]
Restroom,

[Field ("MKPointOfInterestCategorySchool")]
School,

[Field ("MKPointOfInterestCategoryStadium")]
Stadium,

[Field ("MKPointOfInterestCategoryStore")]
Store,

[Field ("MKPointOfInterestCategoryTheater")]
Theater,

[Field ("MKPointOfInterestCategoryUniversity")]
University,

[Field ("MKPointOfInterestCategoryWinery")]
Winery,

[Field ("MKPointOfInterestCategoryZoo")]
Zoo,
}

#endif
}

#endif
35 changes: 35 additions & 0 deletions src/MapKit/MKMapCameraZoomRange.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#if !WATCH // doesn't show up in watch headers
#if !MONOMAC
using System;
using ObjCRuntime;

namespace MapKit {

public enum MKMapCameraZoomRangeType {
Min,
Max,
}

public partial class MKMapCameraZoomRange {
public MKMapCameraZoomRange (double distance) : this (distance, MKMapCameraZoomRangeType.Min)
{
}

public MKMapCameraZoomRange (double distance, MKMapCameraZoomRangeType type)
{
// two different `init*` would share the same C# signature
switch (type) {
case MKMapCameraZoomRangeType.Min:
InitializeHandle (InitWithMinCenterCoordinateDistance (distance));
break;
case MKMapCameraZoomRangeType.Max:
InitializeHandle (InitWithMaxCenterCoordinateDistance (distance));
break;
default:
throw new ArgumentException (nameof (type));
}
}
}
}
#endif
#endif // !WATCH
35 changes: 35 additions & 0 deletions src/MapKit/MKPointOfInterestFilter.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#if !WATCH // doesn't show up in watch headers
#if !MONOMAC
using System;
using ObjCRuntime;

namespace MapKit {

public enum MKPointOfInterestFilterType {
Including,
Excluding,
}

public partial class MKPointOfInterestFilter {
public MKPointOfInterestFilter (MKPointOfInterestCategory[] categories) : this (categories, MKPointOfInterestFilterType.Including)
{
}

public MKPointOfInterestFilter (MKPointOfInterestCategory[] categories, MKPointOfInterestFilterType type)
{
// two different `init*` would share the same C# signature
switch (type) {
case MKPointOfInterestFilterType.Including:
InitializeHandle (InitIncludingCategories (categories));
break;
case MKPointOfInterestFilterType.Excluding:
InitializeHandle (InitExcludingCategories (categories));
break;
default:
throw new ArgumentException (nameof (type));
}
}
}
}
#endif
#endif // !WATCH
Loading

5 comments on commit 5e8a208

@xamarin-release-manager
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Device tests passed on iOS on Azure DevOps(iOS): Html Report

Test results

All 70 tests passed

@xamarin-release-manager
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥 Device tests completed (Failed) on TvOS on Azure DevOps(TvOS): Html Report 🔥

Test results

2 tests failed, 68 tests passed.

Failed tests

  • monotouch-test/tvOS - device/AssemblyBuildTarget: SDK framework (debug, profiling): Failed
  • monotouch-test/tvOS - device/Debug (interpreter): Failed

@xamarin-release-manager
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Build was (probably) aborted

🔥 Jenkins job (on internal Jenkins) failed in stage(s) 'Test run, Test run' 🔥

Build succeeded
✅ Packages:

API Diff (from stable)
⚠️ API Diff (from PR only) (🔥 breaking changes 🔥)
ℹ️ Generator Diff (please review changes)
🔥 Test run failed 🔥

Test results

386 tests' device not found, 163 tests passed.

@mandel-macaque
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting state to success where context is continuous-integration/jenkins/branch.

Two known issues in the tvOS device tests: https://github.com/xamarin/maccore/issues/1614 https://github.com/xamarin/maccore/issues/1909. xHarness reports successes as failures due to missing devices, which is wrong.

@mandel-macaque
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting state to success where context is VSTS: device tests (TvOS).

Two known issues in the tvOS device tests: https://github.com/xamarin/maccore/issues/1614 https://github.com/xamarin/maccore/issues/1909.

Please sign in to comment.