[xcode12] Initial bump for Xcode 12 GM (#9644)
* [xcode12] Initial bump for Xcode 12 GM
* [tests][intro] We cannot load CoreNFC framework on iOS simulator anymore
* [tests][xtro] New Metal API are not abstract (before XAMCORE_4_0)
* [tests][intro] Fix crash when CSLocalizedString 'description' selector is called
* [tests][xtro] Add support for excluding platforms
Based on `Make.config` variables `INCLUDE_[IOS|TVOS|WATCH|MAC]`
This required moving some entries (common -> macOS) to keep the
sanitizer happy.
* [xtro] Ignore Intents watchOS differences since they will likely match iOS in the future
* Update to use Xcode 12 GMb instead of the old GM
* [tests][xtro] Remove OSLog for iOS and tvOS (changed in GM)
* [tests][msbuild] Disable FrameworkListTest based on the active/disabled platforms
* [tests][msbuild] Track new directory/file inside CoreML projects
* [mlaunch] Bump maccore and disable mlaunch if mac build is disabled
New commits in xamarin/maccore:
* xamarin/maccore@ba332d4d07 Disable mlaunch if Mac is not built (#2314)
Diff: 87a96d21c9..ba332d4d07
Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
This commit is contained in:
Родитель
a0797eb822
Коммит
bfc98f8059
|
@ -60,8 +60,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=12.0
|
||||
XCODE_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_12_beta_6.xip
|
||||
XCODE_DEVELOPER_ROOT=/Applications/Xcode_12.0.0-beta6.app/Contents/Developer
|
||||
XCODE_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_12_GM_seed.xip
|
||||
XCODE_DEVELOPER_ROOT=/Applications/Xcode_12.0.0-GMb.app/Contents/Developer
|
||||
XCODE_PRODUCT_BUILD_VERSION:=$(shell /usr/libexec/PlistBuddy -c 'Print :ProductBuildVersion' $(XCODE_DEVELOPER_ROOT)/../version.plist)
|
||||
|
||||
# Mono version embedded in XI/XM (NEEDED_MONO_VERSION/BRANCH) are specified in mk/mono.mk
|
||||
|
@ -100,7 +100,7 @@ MIN_OSX_VERSION_FOR_MAC=10.11
|
|||
# WARNING: Do **not** use versions higher than the available Xcode SDK or else we will have issues with mtouch (See https://github.com/xamarin/xamarin-macios/issues/7705)
|
||||
IOS_SDK_VERSION=14.0
|
||||
# When bumping OSX_SDK_VERSION also update the macOS version where we execute on bots in jenkins/Jenkinsfile (in the 'node' element)
|
||||
OSX_SDK_VERSION=11.0
|
||||
OSX_SDK_VERSION=10.15
|
||||
WATCH_SDK_VERSION=7.0
|
||||
TVOS_SDK_VERSION=14.0
|
||||
|
||||
|
@ -130,7 +130,7 @@ MIN_TVOS_SIMULATOR_VERSION=10.2
|
|||
EXTRA_SIMULATORS=com.apple.pkg.iPhoneSimulatorSDK10_3 com.apple.pkg.AppleTVSimulatorSDK10_2 com.apple.pkg.WatchSimulatorSDK3_2
|
||||
|
||||
INCLUDE_IOS=1
|
||||
INCLUDE_MAC=1
|
||||
#INCLUDE_MAC=1
|
||||
INCLUDE_WATCH=1
|
||||
INCLUDE_TVOS=1
|
||||
INCLUDE_DEVICE=1
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
<string>10.13</string>
|
||||
<string>10.14</string>
|
||||
<string>10.15</string>
|
||||
<string>10.16</string>
|
||||
<string>11.0</string>
|
||||
<!-- <string>10.16</string> --> <!-- Reverted by Xcode 12 GM -->
|
||||
<!-- <string>11.0</string> -->
|
||||
</array>
|
||||
</dict>
|
||||
<key>RecommendedXcodeVersion</key>
|
||||
|
|
|
@ -7,7 +7,7 @@ MONO_BRANCH := $(shell cd $(MONO_PATH) 2> /dev/null && git symbolic-ref --sho
|
|||
endif
|
||||
|
||||
ifdef ENABLE_XAMARIN
|
||||
NEEDED_MACCORE_VERSION := 87a96d21c9fd8e15fd157201e6836db97c8b6e67
|
||||
NEEDED_MACCORE_VERSION := ba332d4d072e9addaad1d7c66adb13dbf42a6c7c
|
||||
NEEDED_MACCORE_BRANCH := xcode12
|
||||
|
||||
MACCORE_DIRECTORY := maccore
|
||||
|
|
|
@ -22,6 +22,24 @@ namespace Xamarin.iOS.Tasks
|
|||
{
|
||||
var fameworkListFileParts = frameworkListFile.Split ('-');
|
||||
string frameworkName = fameworkListFileParts[0];
|
||||
switch (frameworkName) {
|
||||
case "Xamarin.iOS":
|
||||
if (!Configuration.include_ios)
|
||||
Assert.Inconclusive ("include_ios is disabled");
|
||||
break;
|
||||
case "Xamarin.TVOS":
|
||||
if (!Configuration.include_tvos)
|
||||
Assert.Inconclusive ("include_tvos is disabled");
|
||||
break;
|
||||
case "Xamarin.WatchOS":
|
||||
if (!Configuration.include_watchos)
|
||||
Assert.Inconclusive ("include_watchos is disabled");
|
||||
break;
|
||||
case "Xamarin.Mac":
|
||||
if (!Configuration.include_mac)
|
||||
Assert.Inconclusive ("include_mac is disabled");
|
||||
break;
|
||||
}
|
||||
var isMac = frameworkName == "Xamarin.Mac";
|
||||
var isFull = fameworkListFileParts[1] == "Full";
|
||||
var frameworkListAssemblies = ScanFrameworkListXml (frameworkListFile, isMac);
|
||||
|
|
|
@ -34,6 +34,8 @@ namespace Xamarin.iOS.Tasks
|
|||
if (Configuration.XcodeVersion.Major >= 12) {
|
||||
Assert.IsTrue (files.Contains (Path.Combine (mlmodelc, "metadata.json")), " metadata.json not found");
|
||||
expected_length++;
|
||||
Assert.IsTrue (files.Contains (Path.Combine (mlmodelc, "analytics", "coremldata.bin")), "analytics/coremldata.bin not found");
|
||||
expected_length++;
|
||||
}
|
||||
Assert.AreEqual (expected_length, files.Count, "File count");
|
||||
}
|
||||
|
|
|
@ -332,6 +332,12 @@ namespace AVFoundation {
|
|||
public enum AVAudioSessionPortOverride : ulong {
|
||||
None = 0,
|
||||
[NoTV]
|
||||
#if XAMCORE_4_0 // Removed in Xcode 12 GM
|
||||
[NoMac, NoWatch]
|
||||
#else
|
||||
[Obsoleted (PlatformName.WatchOS, 2,0, message : "Unavailable and will be removed in the future.")]
|
||||
[Obsoleted (PlatformName.MacOSX, 10,7, message : "Unavailable and will be removed in the future.")]
|
||||
#endif
|
||||
Speaker = 0x73706b72 // 'spkr'
|
||||
}
|
||||
|
||||
|
@ -354,15 +360,42 @@ namespace AVFoundation {
|
|||
public enum AVAudioSessionCategoryOptions : ulong {
|
||||
MixWithOthers = 1,
|
||||
DuckOthers = 2,
|
||||
#if XAMCORE_4_0 // Removed in Xcode 12 GM
|
||||
[NoMac, NoWatch]
|
||||
#else
|
||||
[Obsoleted (PlatformName.WatchOS, 2,0, message : "Unavailable and will be removed in the future.")]
|
||||
[Obsoleted (PlatformName.MacOSX, 10,7, message : "Unavailable and will be removed in the future.")]
|
||||
#endif
|
||||
[NoTV]
|
||||
AllowBluetooth = 4,
|
||||
#if XAMCORE_4_0 // Removed in Xcode 12 GM
|
||||
[NoMac, NoWatch]
|
||||
#else
|
||||
[Obsoleted (PlatformName.WatchOS, 2,0, message : "Unavailable and will be removed in the future.")]
|
||||
[Obsoleted (PlatformName.MacOSX, 10,7, message : "Unavailable and will be removed in the future.")]
|
||||
#endif
|
||||
[NoTV]
|
||||
DefaultToSpeaker = 8,
|
||||
|
||||
#if XAMCORE_4_0 // Removed in Xcode 12 GM
|
||||
[NoMac]
|
||||
#else
|
||||
[Obsoleted (PlatformName.MacOSX, 10,7, message : "Unavailable and will be removed in the future.")]
|
||||
#endif
|
||||
[iOS (9,0)]
|
||||
InterruptSpokenAudioAndMixWithOthers = 17,
|
||||
#if XAMCORE_4_0 // Removed in Xcode 12 GM
|
||||
[NoMac]
|
||||
#else
|
||||
[Obsoleted (PlatformName.MacOSX, 10,7, message : "Unavailable and will be removed in the future.")]
|
||||
#endif
|
||||
[NoWatch, iOS (10,0), TV (10,0)]
|
||||
AllowBluetoothA2DP = 32,
|
||||
#if XAMCORE_4_0 // Removed in Xcode 12 GM
|
||||
[NoMac]
|
||||
#else
|
||||
[Obsoleted (PlatformName.MacOSX, 10,7, message : "Unavailable and will be removed in the future.")]
|
||||
#endif
|
||||
[NoWatch, iOS (10,0), TV (10,0)]
|
||||
AllowAirPlay = 64,
|
||||
}
|
||||
|
@ -874,7 +907,9 @@ namespace AVFoundation {
|
|||
public enum AVAudioSessionRouteSharingPolicy : ulong {
|
||||
Default = 0,
|
||||
LongForm = 1,
|
||||
Independent = 2
|
||||
Independent = 2,
|
||||
[iOS (14,0), NoWatch, NoTV, NoMac]
|
||||
LongFormVideo = 3,
|
||||
}
|
||||
|
||||
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
|
|
|
@ -131,14 +131,13 @@ namespace Metal {
|
|||
[Native]
|
||||
public enum MTLSamplerAddressMode : ulong {
|
||||
ClampToEdge = 0,
|
||||
#if MONOMAC
|
||||
[iOS (14,0)]
|
||||
MirrorClampToEdge = 1,
|
||||
#endif
|
||||
Repeat = 2,
|
||||
MirrorRepeat = 3,
|
||||
ClampToZero = 4,
|
||||
|
||||
[Mac (10,12)]
|
||||
[Mac (10,12), iOS (14,0)]
|
||||
ClampToBorderColor = 5,
|
||||
}
|
||||
|
||||
|
@ -773,9 +772,9 @@ namespace Metal {
|
|||
}
|
||||
|
||||
#if XAMCORE_4_0
|
||||
[NoiOS][NoTV]
|
||||
[NoTV]
|
||||
#endif
|
||||
[Mac (10,12)]
|
||||
[Mac (10,12), iOS (14,0)]
|
||||
[Native]
|
||||
public enum MTLSamplerBorderColor : ulong {
|
||||
TransparentBlack = 0,
|
||||
|
@ -1044,6 +1043,10 @@ namespace Metal {
|
|||
Apple3 = 1003,
|
||||
Apple4 = 1004,
|
||||
Apple5 = 1005,
|
||||
[NoTV, NoMac, iOS (14,0)] // Yep just available in iOS
|
||||
Apple6 = 1006,
|
||||
[NoTV, NoMac, iOS (14,0)] // Yep just available in iOS
|
||||
Apple7 = 1007,
|
||||
Mac1 = 2001,
|
||||
Mac2 = 2002,
|
||||
Common1 = 3001,
|
||||
|
|
|
@ -50,6 +50,14 @@ namespace GameController {
|
|||
[NullAllowed, Export ("localizedName", ArgumentSemantic.Strong)]
|
||||
string LocalizedName { get; set; }
|
||||
|
||||
[NoTV, NoMac, iOS (14, 0)]
|
||||
[NullAllowed, Export ("unmappedSfSymbolsName", ArgumentSemantic.Strong)]
|
||||
string UnmappedSfSymbolsName { get; set; }
|
||||
|
||||
[NoTV, NoMac, iOS (14, 0)]
|
||||
[NullAllowed, Export ("unmappedLocalizedName", ArgumentSemantic.Strong)]
|
||||
string UnmappedLocalizedName { get; set; }
|
||||
|
||||
[TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
||||
[Export ("aliases")]
|
||||
NSSet<NSString> Aliases { get; }
|
||||
|
|
|
@ -607,7 +607,7 @@ namespace GameKit {
|
|||
[Field ("GKPlayerIDNoLongerAvailable")]
|
||||
NSString IdNoLongerAvailable { get; }
|
||||
|
||||
[TV (14, 0), Watch(7, 0), Mac (11, 0), iOS (14, 0)]
|
||||
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
||||
[Export ("isInvitable")]
|
||||
bool IsInvitable { get; }
|
||||
}
|
||||
|
|
|
@ -73,6 +73,13 @@ namespace HealthKit {
|
|||
Active,
|
||||
}
|
||||
|
||||
[Watch (7,0), iOS (14,0)]
|
||||
[Native]
|
||||
public enum HKActivityMoveMode : long {
|
||||
ActiveEnergy = 1,
|
||||
AppleMoveTime = 2,
|
||||
}
|
||||
|
||||
delegate void HKAnchoredObjectResultHandler2 (HKAnchoredObjectQuery query, HKSample[] results, nuint newAnchor, NSError error);
|
||||
|
||||
[Obsolete ("Use HKAnchoredObjectResultHandler2 instead")]
|
||||
|
@ -466,6 +473,11 @@ namespace HealthKit {
|
|||
[return: NullAllowed]
|
||||
HKWheelchairUseObject GetWheelchairUse (out NSError error);
|
||||
|
||||
[Watch (7,0), iOS (14,0)]
|
||||
[Export ("activityMoveModeWithError:")]
|
||||
[return: NullAllowed]
|
||||
HKActivityMoveModeObject GetActivityMoveMode ([NullAllowed] out NSError error);
|
||||
|
||||
// FIXME NS_EXTENSION_UNAVAILABLE("Not available to extensions") ;
|
||||
[Export ("stopQuery:")]
|
||||
void StopQuery (HKQuery query);
|
||||
|
@ -913,6 +925,10 @@ namespace HealthKit {
|
|||
[Field ("HKMetadataKeyDevicePlacementSide")]
|
||||
NSString DevicePlacementSide { get; }
|
||||
|
||||
[Watch (7, 0), iOS (14, 0)]
|
||||
[Field ("HKMetadataKeyBarometricPressure")]
|
||||
NSString BarometricPressure { get; }
|
||||
|
||||
[Watch (7, 0), iOS (14, 0)]
|
||||
[Field ("HKMetadataKeyAppleECGAlgorithmVersion")]
|
||||
NSString AppleEcgAlgorithmVersion { get; }
|
||||
|
@ -2129,10 +2145,9 @@ namespace HealthKit {
|
|||
[Field ("HKCharacteristicTypeIdentifierWheelchairUse")]
|
||||
WheelchairUse,
|
||||
|
||||
// API unavailable https://github.com/xamarin/maccore/issues/1899
|
||||
// [Watch (6, 0), iOS (13, 0)]
|
||||
// [Field ("HKCharacteristicTypeIdentifierActivityMoveMode")]
|
||||
// ActivityMoveMode,
|
||||
[Watch (7,0), iOS (14,0)]
|
||||
[Field ("HKCharacteristicTypeIdentifierActivityMoveMode")]
|
||||
ActivityMoveMode,
|
||||
}
|
||||
|
||||
[Watch (2,0)]
|
||||
|
@ -2879,9 +2894,17 @@ namespace HealthKit {
|
|||
[Export ("dateComponentsForCalendar:")]
|
||||
NSDateComponents DateComponentsForCalendar (NSCalendar calendar);
|
||||
|
||||
[Watch (7, 0), iOS (14, 0)]
|
||||
[Export ("activityMoveMode", ArgumentSemantic.Assign)]
|
||||
HKActivityMoveMode ActivityMoveMode { get; set; }
|
||||
|
||||
[Export ("activeEnergyBurned", ArgumentSemantic.Strong)]
|
||||
HKQuantity ActiveEnergyBurned { get; set; }
|
||||
|
||||
[Watch (7, 0), iOS (14, 0)]
|
||||
[Export ("appleMoveTime", ArgumentSemantic.Strong)]
|
||||
HKQuantity AppleMoveTime { get; set; }
|
||||
|
||||
[Export ("appleExerciseTime", ArgumentSemantic.Strong)]
|
||||
HKQuantity AppleExerciseTime { get; set; }
|
||||
|
||||
|
@ -2891,6 +2914,10 @@ namespace HealthKit {
|
|||
[Export ("activeEnergyBurnedGoal", ArgumentSemantic.Strong)]
|
||||
HKQuantity ActiveEnergyBurnedGoal { get; set; }
|
||||
|
||||
[Watch (7, 0), iOS (14, 0)]
|
||||
[Export ("appleMoveTimeGoal", ArgumentSemantic.Strong)]
|
||||
HKQuantity AppleMoveTimeGoal { get; set; }
|
||||
|
||||
[Export ("appleExerciseTimeGoal", ArgumentSemantic.Strong)]
|
||||
HKQuantity AppleExerciseTimeGoal { get; set; }
|
||||
|
||||
|
@ -3454,4 +3481,13 @@ namespace HealthKit {
|
|||
HKFhirVersion PrimaryR4Version { get; }
|
||||
}
|
||||
|
||||
[Watch (7,0), iOS (14,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface HKActivityMoveModeObject : NSCopying, NSSecureCoding {
|
||||
|
||||
[Export ("activityMoveMode")]
|
||||
HKActivityMoveMode ActivityMoveMode { get; }
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -2329,7 +2329,7 @@ namespace Intents {
|
|||
[iOS (14,0), NoMac, NoTV, Watch (7,0)]
|
||||
enum INCarChargingConnectorType {
|
||||
[DefaultEnumValue]
|
||||
[Field ("INCarChargingConnectorTypeNone")]
|
||||
[Field (null)]
|
||||
None,
|
||||
|
||||
[Field ("INCarChargingConnectorTypeJ1772")]
|
||||
|
@ -13739,7 +13739,7 @@ namespace Intents {
|
|||
|
||||
[Export ("initWithCarIdentifier:displayName:year:make:model:color:headUnit:supportedChargingConnectors:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (string carIdentifier, [NullAllowed] string displayName, [NullAllowed] string year, [NullAllowed] string make, [NullAllowed] string model, [NullAllowed] CGColor color, [NullAllowed] INCarHeadUnit headUnit, [NullAllowed] [BindAs (typeof (INCarChargingConnectorType []))] NSString [] supportedChargingConnectors);
|
||||
IntPtr Constructor (string carIdentifier, [NullAllowed] string displayName, [NullAllowed] string year, [NullAllowed] string make, [NullAllowed] string model, [NullAllowed] CGColor color, [NullAllowed] INCarHeadUnit headUnit, [BindAs (typeof (INCarChargingConnectorType []))] NSString [] supportedChargingConnectors);
|
||||
|
||||
[Export ("carIdentifier")]
|
||||
string CarIdentifier { get; }
|
||||
|
@ -13763,7 +13763,7 @@ namespace Intents {
|
|||
INCarHeadUnit HeadUnit { get; }
|
||||
|
||||
[BindAs (typeof (INCarChargingConnectorType []))]
|
||||
[NullAllowed, Export ("supportedChargingConnectors", ArgumentSemantic.Copy)]
|
||||
[Export ("supportedChargingConnectors", ArgumentSemantic.Copy)]
|
||||
NSString [] SupportedChargingConnectors { get; }
|
||||
|
||||
[Export ("setMaximumPower:forChargingConnectorType:")]
|
||||
|
@ -13790,25 +13790,6 @@ namespace Intents {
|
|||
string Iap2Identifier { get; }
|
||||
}
|
||||
|
||||
[Watch (7,0), NoTV, NoMac, iOS (14,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface INColor : NSCopying, NSSecureCoding {
|
||||
|
||||
[Export ("initWithRed:green:blue:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (double red, double green, double blue);
|
||||
|
||||
[Export ("red")]
|
||||
double Red { get; }
|
||||
|
||||
[Export ("green")]
|
||||
double Green { get; }
|
||||
|
||||
[Export ("blue")]
|
||||
double Blue { get; }
|
||||
}
|
||||
|
||||
[Watch (7,0), NoTV, NoMac, iOS (14,0)]
|
||||
[BaseType (typeof (INIntent))]
|
||||
[DesignatedDefaultCtor]
|
||||
|
|
10
src/metal.cs
10
src/metal.cs
|
@ -1421,14 +1421,14 @@ namespace Metal {
|
|||
#if XAMCORE_4_0
|
||||
[Abstract]
|
||||
#endif
|
||||
[NoiOS, NoTV, Mac (10, 15)]
|
||||
[iOS (14,0), NoTV, Mac (10, 15)]
|
||||
[Export ("barycentricCoordsSupported")]
|
||||
bool BarycentricCoordsSupported { [Bind ("areBarycentricCoordsSupported")] get; }
|
||||
|
||||
#if XAMCORE_4_0
|
||||
[Abstract]
|
||||
#endif
|
||||
[NoiOS, NoTV, Mac (10, 15)]
|
||||
[iOS (14,0), NoTV, Mac (10, 15)]
|
||||
[Export ("supportsShaderBarycentricCoordinates")]
|
||||
bool SupportsShaderBarycentricCoordinates { get; }
|
||||
|
||||
|
@ -1979,7 +1979,7 @@ namespace Metal {
|
|||
[Export ("lodAverage")]
|
||||
bool LodAverage { get; set; }
|
||||
|
||||
[NoiOS, NoTV, NoWatch, Mac (10,12)]
|
||||
[iOS (14,0), NoTV, NoWatch, Mac (10,12)]
|
||||
[Export ("borderColor", ArgumentSemantic.Assign)]
|
||||
MTLSamplerBorderColor BorderColor { get; set; }
|
||||
|
||||
|
@ -4822,7 +4822,7 @@ namespace Metal {
|
|||
[Mac (11,0), iOS (14,0), NoTV]
|
||||
[DisableDefaultCtor]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface MTLIntersectionFunctionTableDescriptor {
|
||||
interface MTLIntersectionFunctionTableDescriptor : NSCopying {
|
||||
[Static]
|
||||
[Export ("intersectionFunctionTableDescriptor")]
|
||||
MTLIntersectionFunctionTableDescriptor Create ();
|
||||
|
@ -4931,7 +4931,7 @@ namespace Metal {
|
|||
[Mac (11,0), iOS (14,0), NoTV]
|
||||
[DisableDefaultCtor]
|
||||
[BaseType (typeof (NSObject))]
|
||||
interface MTLVisibleFunctionTableDescriptor {
|
||||
interface MTLVisibleFunctionTableDescriptor : NSCopying {
|
||||
[Static]
|
||||
[Export ("visibleFunctionTableDescriptor")]
|
||||
MTLVisibleFunctionTableDescriptor Create ();
|
||||
|
|
|
@ -1625,6 +1625,7 @@ namespace WatchKit {
|
|||
SessionInProgress,
|
||||
Expired,
|
||||
ResignedFrontmost,
|
||||
SuppressedBySystem,
|
||||
Error = -1,
|
||||
}
|
||||
|
||||
|
|
|
@ -1041,9 +1041,14 @@ namespace Introspection
|
|||
default:
|
||||
if (fi.Name.EndsWith ("Library", StringComparison.Ordinal)) {
|
||||
#if __IOS__
|
||||
// NFC is currently not available on iPad
|
||||
if (fi.Name == "CoreNFCLibrary" && UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad)
|
||||
continue;
|
||||
if (fi.Name == "CoreNFCLibrary") {
|
||||
// NFC is currently not available on iPad
|
||||
if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad)
|
||||
continue;
|
||||
// Phone works unless Xcode 12 on simulator
|
||||
if ((Runtime.Arch == Arch.SIMULATOR) && TestRuntime.CheckXcodeVersion (12, 0))
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
#if __MACOS__
|
||||
// Only available in macOS 10.15.4+
|
||||
|
|
|
@ -374,6 +374,8 @@ namespace Introspection {
|
|||
case "AVMutableMediaSelection":
|
||||
// crash with xcode 12 beta 3
|
||||
case "GKTurnBasedMatch":
|
||||
// crash with xcode 12 GM
|
||||
case "CSLocalizedString":
|
||||
if (TestRuntime.CheckXcodeVersion (12, 0))
|
||||
return;
|
||||
break;
|
||||
|
|
|
@ -24,7 +24,7 @@ XIOS_ARCH = arm64
|
|||
XIOS_PCH = iphoneos$(IOS_SDK_VERSION)-$(XIOS_ARCH).pch
|
||||
|
||||
$(XIOS_PCH): .stamp-check-sharpie
|
||||
sharpie sdk-db --xcode $(XCODE) -s iphoneos$(IOS_SDK_VERSION) -a $(XIOS_ARCH)
|
||||
sharpie sdk-db --xcode $(XCODE) -s iphoneos$(IOS_SDK_VERSION) -a $(XIOS_ARCH) -exclude OSLog
|
||||
|
||||
|
||||
XWATCHOS ?= $(TOP)/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/32bits/Xamarin.WatchOS.dll
|
||||
|
@ -32,7 +32,7 @@ XWATCHOS_ARCH = armv7
|
|||
XWATCHOS_PCH = watchos$(WATCH_SDK_VERSION)-$(XWATCHOS_ARCH).pch
|
||||
|
||||
$(XWATCHOS_PCH): .stamp-check-sharpie
|
||||
sharpie sdk-db --xcode $(XCODE) -s watchos$(WATCH_SDK_VERSION) -a $(XWATCHOS_ARCH)
|
||||
sharpie sdk-db --xcode $(XCODE) -s watchos$(WATCH_SDK_VERSION) -a $(XWATCHOS_ARCH) -exclude OSLog
|
||||
|
||||
XTVOS ?= $(TOP)/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.TVOS/Xamarin.TVOS.dll
|
||||
XTVOS_GL ?= $(TOP)/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/lib/mono/Xamarin.TVOS/OpenTK-1.0.dll
|
||||
|
@ -40,7 +40,7 @@ XTVOS_ARCH = arm64
|
|||
XTVOS_PCH = appletvos$(TVOS_SDK_VERSION)-$(XTVOS_ARCH).pch
|
||||
|
||||
$(XTVOS_PCH): .stamp-check-sharpie
|
||||
sharpie sdk-db --xcode $(XCODE) -s appletvos$(TVOS_SDK_VERSION) -a $(XTVOS_ARCH)
|
||||
sharpie sdk-db --xcode $(XCODE) -s appletvos$(TVOS_SDK_VERSION) -a $(XTVOS_ARCH) -exclude OSLog
|
||||
|
||||
|
||||
XMAC ?= $(TOP)/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/git/lib/$(XMAC_ARCH)/mobile/Xamarin.Mac.dll
|
||||
|
@ -54,23 +54,39 @@ $(XMAC_PCH): .stamp-check-sharpie
|
|||
|
||||
ios-$(IOS_SDK_VERSION).g.cs: $(XIOS_PCH)
|
||||
|
||||
ifdef INCLUDE_IOS
|
||||
gen-ios: ios-$(IOS_SDK_VERSION).g.cs .stamp-check-sharpie
|
||||
sharpie query -bind $(XIOS_PCH) > ios-$(IOS_SDK_VERSION).g.cs
|
||||
else
|
||||
gen-ios: ; @true
|
||||
endif
|
||||
|
||||
tvos-$(TVOS_SDK_VERSION).g.cs: $(XTVOS_PCH)
|
||||
|
||||
ifdef INCLUDE_TVOS
|
||||
gen-tvos: tvos-$(TVOS_SDK_VERSION).g.cs .stamp-check-sharpie
|
||||
sharpie query -bind $(XTVOS_PCH) > tvos-$(TVOS_SDK_VERSION).g.cs
|
||||
else
|
||||
gen-tvos: ; @true
|
||||
endif
|
||||
|
||||
watchos-$(WATCH_SDK_VERSION).g.cs: $(XWATCHOS_PCH)
|
||||
|
||||
ifdef INCLUDE_WATCH
|
||||
gen-watchos: watchos-$(WATCH_SDK_VERSION).g.cs .stamp-check-sharpie
|
||||
sharpie query -bind $(XWATCHOS_PCH) > watchos-$(WATCH_SDK_VERSION).g.cs
|
||||
else
|
||||
gen-watchos: ; @true
|
||||
endif
|
||||
|
||||
macos-$(OSX_SDK_VERSION).g.cs: $(XMAC_PCH)
|
||||
|
||||
ifdef INCLUDE_MAC
|
||||
gen-macos: macos-$(OSX_SDK_VERSION).g.cs .stamp-check-sharpie
|
||||
sharpie query -bind $(XMAC_PCH) > macos-$(OSX_SDK_VERSION).g.cs
|
||||
else
|
||||
gen-macos: ; @true
|
||||
endif
|
||||
|
||||
gen-all: gen-ios gen-tvos gen-watchos gen-macos
|
||||
|
||||
|
@ -84,17 +100,33 @@ report: build
|
|||
report-short:
|
||||
JENKINS_SERVER_COOKIE=1 make report
|
||||
|
||||
ifdef INCLUDE_IOS
|
||||
classify-ios:
|
||||
$(MONO) bin/Debug/xtro-sharpie.exe $(XIOS_PCH) $(XIOS) $(XIOS_GL)
|
||||
else
|
||||
classify-ios: ; @true
|
||||
endif
|
||||
|
||||
ifdef INCLUDE_TVOS
|
||||
classify-tvos:
|
||||
$(MONO) bin/Debug/xtro-sharpie.exe $(XTVOS_PCH) $(XTVOS) $(XTVOS_GL)
|
||||
else
|
||||
classify-tvos: ; @true
|
||||
endif
|
||||
|
||||
ifdef INCLUDE_WATCH
|
||||
classify-watchos:
|
||||
$(MONO) bin/Debug/xtro-sharpie.exe $(XWATCHOS_PCH) $(XWATCHOS)
|
||||
else
|
||||
classify-watchos: ; @true
|
||||
endif
|
||||
|
||||
ifdef INCLUDE_MAC
|
||||
classify-macos:
|
||||
$(MONO) bin/Debug/xtro-sharpie.exe $(XMAC_PCH) $(XMAC)
|
||||
else
|
||||
classify-macos: ; @true
|
||||
endif
|
||||
|
||||
classify: build $(XIOS_PCH) $(XWATCHOS_PCH) $(XTVOS_PCH) $(XMAC_PCH)
|
||||
rm -f *.unclassified
|
||||
|
|
|
@ -423,7 +423,6 @@
|
|||
!missing-pinvoke! CFBitVectorSetBitAtIndex is not bound
|
||||
!missing-pinvoke! CFBitVectorSetBits is not bound
|
||||
!missing-pinvoke! CFBitVectorSetCount is not bound
|
||||
!missing-pinvoke! CFBundleCloseBundleResourceMap is not bound
|
||||
!missing-pinvoke! CFBundleCopyBundleLocalizations is not bound
|
||||
!missing-pinvoke! CFBundleCopyExecutableArchitecturesForURL is not bound
|
||||
!missing-pinvoke! CFBundleCopyInfoDictionaryInDirectory is not bound
|
||||
|
@ -437,8 +436,6 @@
|
|||
!missing-pinvoke! CFBundleGetValueForInfoDictionaryKey is not bound
|
||||
!missing-pinvoke! CFBundleGetVersionNumber is not bound
|
||||
!missing-pinvoke! CFBundleLoadExecutable is not bound
|
||||
!missing-pinvoke! CFBundleOpenBundleResourceFiles is not bound
|
||||
!missing-pinvoke! CFBundleOpenBundleResourceMap is not bound
|
||||
!missing-pinvoke! CFCalendarAddComponents is not bound
|
||||
!missing-pinvoke! CFCalendarComposeAbsoluteTime is not bound
|
||||
!missing-pinvoke! CFCalendarCopyCurrent is not bound
|
||||
|
|
|
@ -56,7 +56,6 @@
|
|||
!missing-pinvoke! MIDIDeviceCreate is not bound
|
||||
!missing-pinvoke! MIDIDeviceDispose is not bound
|
||||
!missing-pinvoke! MIDIDeviceRemoveEntity is not bound
|
||||
!missing-pinvoke! MIDIDriverEnableMonitoring is not bound
|
||||
!missing-pinvoke! MIDIEntityAddOrRemoveEndpoints is not bound
|
||||
!missing-pinvoke! MIDIExternalDeviceCreate is not bound
|
||||
!missing-pinvoke! MIDIGetDriverDeviceList is not bound
|
||||
|
|
|
@ -36,7 +36,6 @@
|
|||
!incorrect-protocol-member! MTLDevice::getDefaultSamplePositions:count: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLDevice::heapBufferSizeAndAlignWithLength:options: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLDevice::heapTextureSizeAndAlignWithDescriptor: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLDevice::isRemovable is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLDevice::maxThreadgroupMemoryLength is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLDevice::minimumLinearTextureAlignmentForPixelFormat: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLDevice::newArgumentEncoderWithArguments: is REQUIRED and should be abstract
|
||||
|
|
|
@ -1,41 +1,2 @@
|
|||
# Field used in an EventArg based structure that are in documentation but not in headers
|
||||
!unknown-field! PDFAnnotationHit bound
|
||||
|
||||
# Deprecated
|
||||
!missing-selector! PDFAnnotation::initWithDictionary:forPage: not bound
|
||||
!missing-field! kPDFAnnotationKey_Action not bound
|
||||
!missing-field! kPDFAnnotationKey_AdditionalActions not bound
|
||||
!missing-field! kPDFAnnotationKey_AppearanceDictionary not bound
|
||||
!missing-field! kPDFAnnotationKey_AppearanceState not bound
|
||||
!missing-field! kPDFAnnotationKey_Border not bound
|
||||
!missing-field! kPDFAnnotationKey_BorderStyle not bound
|
||||
!missing-field! kPDFAnnotationKey_Color not bound
|
||||
!missing-field! kPDFAnnotationKey_Contents not bound
|
||||
!missing-field! kPDFAnnotationKey_Date not bound
|
||||
!missing-field! kPDFAnnotationKey_DefaultAppearance not bound
|
||||
!missing-field! kPDFAnnotationKey_Destination not bound
|
||||
!missing-field! kPDFAnnotationKey_Flags not bound
|
||||
!missing-field! kPDFAnnotationKey_HighlightingMode not bound
|
||||
!missing-field! kPDFAnnotationKey_IconName not bound
|
||||
!missing-field! kPDFAnnotationKey_Inklist not bound
|
||||
!missing-field! kPDFAnnotationKey_InteriorColor not bound
|
||||
!missing-field! kPDFAnnotationKey_LineEndingStyles not bound
|
||||
!missing-field! kPDFAnnotationKey_LinePoints not bound
|
||||
!missing-field! kPDFAnnotationKey_Name not bound
|
||||
!missing-field! kPDFAnnotationKey_Open not bound
|
||||
!missing-field! kPDFAnnotationKey_Page not bound
|
||||
!missing-field! kPDFAnnotationKey_Parent not bound
|
||||
!missing-field! kPDFAnnotationKey_Popup not bound
|
||||
!missing-field! kPDFAnnotationKey_Quadding not bound
|
||||
!missing-field! kPDFAnnotationKey_QuadPoints not bound
|
||||
!missing-field! kPDFAnnotationKey_Rect not bound
|
||||
!missing-field! kPDFAnnotationKey_Subtype not bound
|
||||
!missing-field! kPDFAnnotationKey_TextLabel not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetAppearanceDictionary not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetDefaultValue not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetFieldFlags not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetFieldType not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetMaxLen not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetOptions not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetTextLabelUI not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetValue not bound
|
|
@ -1,7 +1,3 @@
|
|||
## only on macOS (but removing would be a breaking change)
|
||||
!unknown-native-enum! MTLSamplerBorderColor bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!incorrect-protocol-member! MTLComputeCommandEncoder::setImageblockWidth:height: is REQUIRED and should be abstract
|
||||
|
@ -174,3 +170,5 @@
|
|||
!incorrect-protocol-member! MTLFunction::options is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLRenderCommandEncoder::sampleCountersInBuffer:atSampleIndex:withBarrier: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLIndirectComputeCommand::setImageblockWidth:height: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLDevice::areBarycentricCoordsSupported is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLDevice::supportsShaderBarycentricCoordinates is REQUIRED and should be abstract
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
## Will save these bindings for later - https://github.com/xamarin/xamarin-macios/issues/9480
|
||||
|
||||
!missing-enum! OSLogEntryLogLevel not bound
|
||||
!missing-enum! OSLogEntrySignpostType not bound
|
||||
!missing-enum! OSLogEntryStoreCategory not bound
|
||||
!missing-enum! OSLogEnumeratorOptions not bound
|
||||
!missing-enum! OSLogMessageComponentArgumentCategory not bound
|
||||
!missing-enum! OSLogStoreScope not bound
|
||||
!missing-protocol! OSLogEntryFromProcess not bound
|
||||
!missing-protocol! OSLogEntryWithPayload not bound
|
||||
!missing-selector! +OSLogStore::storeWithScope:error: not bound
|
||||
!missing-selector! +OSLogStore::storeWithURL:error: not bound
|
||||
!missing-selector! OSLogEntry::composedMessage not bound
|
||||
!missing-selector! OSLogEntry::date not bound
|
||||
!missing-selector! OSLogEntry::storeCategory not bound
|
||||
!missing-selector! OSLogEntryActivity::parentActivityIdentifier not bound
|
||||
!missing-selector! OSLogEntryLog::level not bound
|
||||
!missing-selector! OSLogEntrySignpost::signpostIdentifier not bound
|
||||
!missing-selector! OSLogEntrySignpost::signpostName not bound
|
||||
!missing-selector! OSLogEntrySignpost::signpostType not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentCategory not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentDataValue not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentDoubleValue not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentInt64Value not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentNumberValue not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentStringValue not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentUInt64Value not bound
|
||||
!missing-selector! OSLogMessageComponent::formatSubstring not bound
|
||||
!missing-selector! OSLogMessageComponent::placeholder not bound
|
||||
!missing-selector! OSLogStore::entriesEnumeratorAndReturnError: not bound
|
||||
!missing-selector! OSLogStore::entriesEnumeratorWithOptions:position:predicate:error: not bound
|
||||
!missing-selector! OSLogStore::positionWithDate: not bound
|
||||
!missing-selector! OSLogStore::positionWithTimeIntervalSinceEnd: not bound
|
||||
!missing-selector! OSLogStore::positionWithTimeIntervalSinceLatestBoot: not bound
|
||||
!missing-type! OSLogEntry not bound
|
||||
!missing-type! OSLogEntryActivity not bound
|
||||
!missing-type! OSLogEntryBoundary not bound
|
||||
!missing-type! OSLogEntryLog not bound
|
||||
!missing-type! OSLogEntrySignpost not bound
|
||||
!missing-type! OSLogEnumerator not bound
|
||||
!missing-type! OSLogMessageComponent not bound
|
||||
!missing-type! OSLogPosition not bound
|
||||
!missing-type! OSLogStore not bound
|
|
@ -4,6 +4,10 @@
|
|||
## dlfcn.h
|
||||
!unknown-pinvoke! dladdr bound
|
||||
|
||||
## deprecated in macOS 10.15
|
||||
!missing-pinvoke! CFBundleCloseBundleResourceMap is not bound
|
||||
!missing-pinvoke! CFBundleOpenBundleResourceFiles is not bound
|
||||
!missing-pinvoke! CFBundleOpenBundleResourceMap is not bound
|
||||
|
||||
## unsorted
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
!missing-pinvoke! MIDISetSerialPortOwner is not bound
|
||||
!missing-pinvoke! MIDIGetSerialPortOwner is not bound
|
||||
!missing-pinvoke! MIDIGetSerialPortDrivers is not bound
|
||||
!missing-pinvoke! MIDIDriverEnableMonitoring is not bound
|
||||
|
||||
!missing-field! kMIDIDriverPropertyUsesSerial not bound
|
||||
!missing-field! kMIDIPropertyFactoryPatchNameFile not bound
|
||||
|
|
|
@ -192,3 +192,4 @@
|
|||
!incorrect-protocol-member! MTLRenderPipelineState::maxTotalThreadsPerThreadgroup is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLRenderPipelineState::threadgroupSizeMatchesTileSize is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLIndirectComputeCommand::setImageblockWidth:height: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLDevice::isRemovable is REQUIRED and should be abstract
|
||||
|
|
|
@ -1,3 +1,41 @@
|
|||
# Deprecated
|
||||
!missing-selector! PDFAnnotation::initWithDictionary:forPage: not bound
|
||||
!missing-field! kPDFAnnotationKey_Action not bound
|
||||
!missing-field! kPDFAnnotationKey_AdditionalActions not bound
|
||||
!missing-field! kPDFAnnotationKey_AppearanceDictionary not bound
|
||||
!missing-field! kPDFAnnotationKey_AppearanceState not bound
|
||||
!missing-field! kPDFAnnotationKey_Border not bound
|
||||
!missing-field! kPDFAnnotationKey_BorderStyle not bound
|
||||
!missing-field! kPDFAnnotationKey_Color not bound
|
||||
!missing-field! kPDFAnnotationKey_Contents not bound
|
||||
!missing-field! kPDFAnnotationKey_Date not bound
|
||||
!missing-field! kPDFAnnotationKey_DefaultAppearance not bound
|
||||
!missing-field! kPDFAnnotationKey_Destination not bound
|
||||
!missing-field! kPDFAnnotationKey_Flags not bound
|
||||
!missing-field! kPDFAnnotationKey_HighlightingMode not bound
|
||||
!missing-field! kPDFAnnotationKey_IconName not bound
|
||||
!missing-field! kPDFAnnotationKey_Inklist not bound
|
||||
!missing-field! kPDFAnnotationKey_InteriorColor not bound
|
||||
!missing-field! kPDFAnnotationKey_LineEndingStyles not bound
|
||||
!missing-field! kPDFAnnotationKey_LinePoints not bound
|
||||
!missing-field! kPDFAnnotationKey_Name not bound
|
||||
!missing-field! kPDFAnnotationKey_Open not bound
|
||||
!missing-field! kPDFAnnotationKey_Page not bound
|
||||
!missing-field! kPDFAnnotationKey_Parent not bound
|
||||
!missing-field! kPDFAnnotationKey_Popup not bound
|
||||
!missing-field! kPDFAnnotationKey_Quadding not bound
|
||||
!missing-field! kPDFAnnotationKey_QuadPoints not bound
|
||||
!missing-field! kPDFAnnotationKey_Rect not bound
|
||||
!missing-field! kPDFAnnotationKey_Subtype not bound
|
||||
!missing-field! kPDFAnnotationKey_TextLabel not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetAppearanceDictionary not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetDefaultValue not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetFieldFlags not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetFieldType not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetMaxLen not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetOptions not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetTextLabelUI not bound
|
||||
!missing-field! kPDFAnnotationKey_WidgetValue not bound
|
||||
|
||||
# Initial result from new rule missing-null-allowed
|
||||
!missing-null-allowed! 'AppKit.NSView PdfKit.PdfView::get_DocumentView()' is missing an [NullAllowed] on return type
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
## Will save these bindings for later - https://github.com/xamarin/xamarin-macios/issues/9480
|
||||
|
||||
!missing-enum! OSLogEntryLogLevel not bound
|
||||
!missing-enum! OSLogEntrySignpostType not bound
|
||||
!missing-enum! OSLogEntryStoreCategory not bound
|
||||
!missing-enum! OSLogEnumeratorOptions not bound
|
||||
!missing-enum! OSLogMessageComponentArgumentCategory not bound
|
||||
!missing-enum! OSLogStoreScope not bound
|
||||
!missing-protocol! OSLogEntryFromProcess not bound
|
||||
!missing-protocol! OSLogEntryWithPayload not bound
|
||||
!missing-selector! +OSLogStore::storeWithScope:error: not bound
|
||||
!missing-selector! +OSLogStore::storeWithURL:error: not bound
|
||||
!missing-selector! OSLogEntry::composedMessage not bound
|
||||
!missing-selector! OSLogEntry::date not bound
|
||||
!missing-selector! OSLogEntry::storeCategory not bound
|
||||
!missing-selector! OSLogEntryActivity::parentActivityIdentifier not bound
|
||||
!missing-selector! OSLogEntryLog::level not bound
|
||||
!missing-selector! OSLogEntrySignpost::signpostIdentifier not bound
|
||||
!missing-selector! OSLogEntrySignpost::signpostName not bound
|
||||
!missing-selector! OSLogEntrySignpost::signpostType not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentCategory not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentDataValue not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentDoubleValue not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentInt64Value not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentNumberValue not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentStringValue not bound
|
||||
!missing-selector! OSLogMessageComponent::argumentUInt64Value not bound
|
||||
!missing-selector! OSLogMessageComponent::formatSubstring not bound
|
||||
!missing-selector! OSLogMessageComponent::placeholder not bound
|
||||
!missing-selector! OSLogStore::entriesEnumeratorAndReturnError: not bound
|
||||
!missing-selector! OSLogStore::entriesEnumeratorWithOptions:position:predicate:error: not bound
|
||||
!missing-selector! OSLogStore::positionWithDate: not bound
|
||||
!missing-selector! OSLogStore::positionWithTimeIntervalSinceEnd: not bound
|
||||
!missing-selector! OSLogStore::positionWithTimeIntervalSinceLatestBoot: not bound
|
||||
!missing-type! OSLogEntry not bound
|
||||
!missing-type! OSLogEntryActivity not bound
|
||||
!missing-type! OSLogEntryBoundary not bound
|
||||
!missing-type! OSLogEntryLog not bound
|
||||
!missing-type! OSLogEntrySignpost not bound
|
||||
!missing-type! OSLogEnumerator not bound
|
||||
!missing-type! OSLogMessageComponent not bound
|
||||
!missing-type! OSLogPosition not bound
|
||||
!missing-type! OSLogStore not bound
|
|
@ -29,3 +29,13 @@
|
|||
!unknown-native-enum! INRelativeReference bound
|
||||
!unknown-native-enum! INRelativeSetting bound
|
||||
!unknown-type! INParameter bound
|
||||
|
||||
## Changes introduced in Xcode 12 GM for iOS but not reflected in WatchOS we can bring them in later if needed
|
||||
!missing-field! INCarChargingConnectorTypeNone not bound
|
||||
!missing-null-allowed! 'Intents.INCarChargingConnectorType[] Intents.INCar::get_SupportedChargingConnectors()' is missing an [NullAllowed] on return type
|
||||
!missing-null-allowed! 'System.Void Intents.INCar::.ctor(System.String,System.String,System.String,System.String,System.String,CoreGraphics.CGColor,Intents.INCarHeadUnit,Intents.INCarChargingConnectorType[])' is missing an [NullAllowed] on parameter #7
|
||||
!missing-selector! INColor::blue not bound
|
||||
!missing-selector! INColor::green not bound
|
||||
!missing-selector! INColor::initWithRed:green:blue: not bound
|
||||
!missing-selector! INColor::red not bound
|
||||
!missing-type! INColor not bound
|
||||
|
|
|
@ -5,7 +5,39 @@ using System.IO;
|
|||
namespace Extrospection {
|
||||
class Sanitizer {
|
||||
|
||||
static readonly string [] Platforms = new [] { "iOS", "tvOS", "watchOS", "macOS" };
|
||||
static List<string> platforms;
|
||||
|
||||
static List<string> Platforms {
|
||||
get {
|
||||
if (platforms != null)
|
||||
return platforms;
|
||||
|
||||
platforms = new List<string> (4);
|
||||
foreach (var line in File.ReadAllLines ("../../Make.config")) {
|
||||
var eq = line.IndexOf ('=');
|
||||
if (eq == -1)
|
||||
continue;
|
||||
if (!line.StartsWith ("INCLUDE_", StringComparison.Ordinal))
|
||||
continue;
|
||||
|
||||
switch (line.Substring (0, eq)) {
|
||||
case "INCLUDE_IOS":
|
||||
platforms.Add ("iOS");
|
||||
break;
|
||||
case "INCLUDE_TVOS":
|
||||
platforms.Add ("tvOS");
|
||||
break;
|
||||
case "INCLUDE_WATCH":
|
||||
platforms.Add ("watchOS");
|
||||
break;
|
||||
case "INCLUDE_MAC":
|
||||
platforms.Add ("macOS");
|
||||
break;
|
||||
}
|
||||
}
|
||||
return platforms;
|
||||
}
|
||||
}
|
||||
|
||||
static bool IsEntry (string line)
|
||||
{
|
||||
|
@ -71,6 +103,8 @@ namespace Extrospection {
|
|||
static void NoIgnoredTodo ()
|
||||
{
|
||||
foreach (var file in Directory.GetFiles (directory, "*.todo")) {
|
||||
if (!IsIncluded (file))
|
||||
continue;
|
||||
var last = file.LastIndexOf ('-');
|
||||
var fx = file.Substring (last + 1, file.Length - last - 6);
|
||||
// check if it's in common or in the same platform
|
||||
|
@ -95,9 +129,21 @@ namespace Extrospection {
|
|||
}
|
||||
}
|
||||
|
||||
static bool IsIncluded (string file)
|
||||
{
|
||||
var name = Path.GetFileName (file);
|
||||
foreach (var p in Platforms) {
|
||||
if (name.StartsWith (p, StringComparison.Ordinal))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static void NoFixedTodo ()
|
||||
{
|
||||
foreach (var file in Directory.GetFiles (directory, "*.todo")) {
|
||||
if (!IsIncluded (file))
|
||||
continue;
|
||||
var last = file.LastIndexOf ('-');
|
||||
var fx = file.Substring (last + 1, file.Length - last - 6);
|
||||
var raw = Path.ChangeExtension (file, ".raw");
|
||||
|
@ -133,6 +179,7 @@ namespace Extrospection {
|
|||
public static int Main (string [] args)
|
||||
{
|
||||
directory = args.Length == 0 ? "." : args [0];
|
||||
Environment.CurrentDirectory = directory;
|
||||
|
||||
// cache stuff
|
||||
foreach (var file in Directory.GetFiles (directory, "common-*.ignore")) {
|
||||
|
@ -151,6 +198,8 @@ namespace Extrospection {
|
|||
CorrectEntries (common, $"common-{fx}.ignore");
|
||||
}
|
||||
foreach (var file in Directory.GetFiles (directory, "*.ignore")) {
|
||||
if (!IsIncluded (file))
|
||||
continue;
|
||||
var filename = Path.GetFileName (file);
|
||||
// already processed from cache - don't reload them
|
||||
if (filename.StartsWith ("common-", StringComparison.Ordinal))
|
||||
|
@ -181,7 +230,7 @@ namespace Extrospection {
|
|||
var fx = kvp.Key;
|
||||
var common = kvp.Value;
|
||||
//ExistingCommonEntries (common, $"common-{fx}.ignore");
|
||||
List<string> [] raws = new List<string> [Platforms.Length];
|
||||
List<string> [] raws = new List<string> [Platforms.Count];
|
||||
for (int i=0; i < raws.Length; i++) {
|
||||
var fname = Path.Combine (directory, $"{Platforms[i]}-{fx}.raw");
|
||||
if (File.Exists (fname))
|
||||
|
@ -213,6 +262,8 @@ namespace Extrospection {
|
|||
}
|
||||
// * a platform ignore must existing in it's corresponding raw file
|
||||
foreach (var file in Directory.GetFiles (directory, "*.ignore")) {
|
||||
if (!IsIncluded (file))
|
||||
continue;
|
||||
var shortname = Path.GetFileName (file);
|
||||
if (shortname.StartsWith ("common-", StringComparison.Ordinal))
|
||||
continue;
|
||||
|
|
|
@ -547,7 +547,7 @@ public class Frameworks : Dictionary <string, Framework>
|
|||
// This checks if a framework is unavailable due to bugs in Xcode (such as Apple forgetting to ship a library or headers for a framework, which seems to happen at least once a year).
|
||||
public static bool IsFrameworkBroken (Application app, string framework)
|
||||
{
|
||||
if (app.IsSimulatorBuild && Driver.XcodeProductVersion == "12A8189n" /* Xcode 12 beta 6 */) {
|
||||
if (app.IsSimulatorBuild) {
|
||||
switch (framework) {
|
||||
// Apple seems to have forgotten to ship the several libraries for the simulator in Xcode 12 betas (it's still available for device builds).
|
||||
// https://github.com/xamarin/maccore/issues/2266
|
||||
|
@ -563,7 +563,7 @@ public class Frameworks : Dictionary <string, Framework>
|
|||
default:
|
||||
return false;
|
||||
}
|
||||
Driver.Log (1, $"Can't use '{framework}' in the simulator because Apple didn't ship it with Xcode 12 beta {Driver.XcodeProductVersion}");
|
||||
Driver.Log (1, $"Can't use '{framework}' in the simulator because Apple didn't ship it with Xcode 12 {Driver.XcodeProductVersion}");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -6,6 +6,12 @@ COLOR_GREEN:=$(shell tput setaf 120 2>/dev/null)
|
|||
COLOR_CLEAR:=$(shell tput sgr0 2>/dev/null)
|
||||
|
||||
ifdef ENABLE_XAMARIN
|
||||
ifdef INCLUDE_MAC
|
||||
ENABLE_MLAUNCH=1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef ENABLE_MLAUNCH
|
||||
all-local install-local clean-local::
|
||||
$(MAKE) -C $(MACCORE_PATH)/tools/mlaunch $@
|
||||
else
|
||||
|
@ -14,7 +20,7 @@ all-local install-local::
|
|||
$(Q) $(CP) -R $(MACIOS_BINARIES_PATH)/mlaunch/lib/mlaunch $(IOS_DESTDIR)/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib
|
||||
endif
|
||||
|
||||
ifdef ENABLE_XAMARIN
|
||||
ifdef ENABLE_MLAUNCH
|
||||
publish:
|
||||
$(Q) mkdir -p $(MACIOS_BINARIES_PATH)/mlaunch/bin
|
||||
$(Q) mkdir -p $(MACIOS_BINARIES_PATH)/mlaunch/lib
|
||||
|
|
Загрузка…
Ссылка в новой задаче