[intro] check for duplicate or inconsistent availability attributes (#9825)
This can easily happen when existing type(s) or framework are added to a platform. E.g. ```csharp [Watch (6,0)][iOS (9,0)] interface AVFoo { [Watch (6,0)][iOS (13,0)] void NewMember (); } ``` Here we have duplicate attributes and, while not confusing, it does mean extra (and non required) metadata into the platform assemblies. ```csharp [Watch (6,0)][iOS (9,0)] interface AVFoo { [Watch (5,0)][iOS (13,0)] void NewMember (); } ``` Here we declare a member as available when the type is not. I'm not sure how the IDE will react - but this should be audited since one of them is wrong (whatever the IDE behaviour is). Fix https://github.com/xamarin/xamarin-macios/issues/6856
This commit is contained in:
Родитель
86cb7468b9
Коммит
11aafadd86
|
@ -8,8 +8,6 @@ using ObjCRuntime;
|
|||
namespace AVFoundation {
|
||||
public partial class AVAssetDownloadStorageManagementPolicy {
|
||||
|
||||
[iOS (11,0)]
|
||||
[NoTV][NoMac][NoWatch]
|
||||
public virtual AVAssetDownloadedAssetEvictionPriority Priority {
|
||||
get { return AVAssetDownloadedAssetEvictionPriorityExtensions.GetValue (_Priority); }
|
||||
set { throw new NotImplementedException (); }
|
||||
|
@ -18,8 +16,6 @@ namespace AVFoundation {
|
|||
|
||||
public partial class AVMutableAssetDownloadStorageManagementPolicy {
|
||||
|
||||
[iOS (11,0)]
|
||||
[NoTV][NoMac][NoWatch]
|
||||
public override AVAssetDownloadedAssetEvictionPriority Priority {
|
||||
get { return AVAssetDownloadedAssetEvictionPriorityExtensions.GetValue (_Priority); }
|
||||
set { _Priority = value.GetConstant (); }
|
||||
|
|
|
@ -14,7 +14,7 @@ using ObjCRuntime;
|
|||
namespace AVFoundation {
|
||||
#if IOS
|
||||
public partial class AVCaptureDeviceDiscoverySession {
|
||||
[iOS (10,0)]
|
||||
|
||||
public static AVCaptureDeviceDiscoverySession Create (AVCaptureDeviceType [] deviceTypes, string mediaType, AVCaptureDevicePosition position)
|
||||
{
|
||||
var arr = new NSMutableArray ();
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace AVFoundation {
|
|||
|
||||
public static AVContentKeyResponse Create (NSData fairPlayStreamingKeyResponseData) => Create (fairPlayStreamingKeyResponseData, AVContentKeyResponseDataType.FairPlayStreamingKeyResponseData);
|
||||
|
||||
[TV (10,2), Mac (10,12,4), iOS (10,3), NoWatch]
|
||||
[NoWatch]
|
||||
public static AVContentKeyResponse Create (NSData data, AVContentKeyResponseDataType dataType = AVContentKeyResponseDataType.FairPlayStreamingKeyResponseData) {
|
||||
switch (dataType) {
|
||||
case AVContentKeyResponseDataType.AuthorizationTokenData:
|
||||
|
|
|
@ -16,7 +16,6 @@ namespace AVKit {
|
|||
// the resulting syntax does not look good in user code so we provide a better looking API
|
||||
// https://trello.com/c/iQpXOxCd/227-category-and-static-methods-selectors
|
||||
// note: we cannot reuse the same method name - as it would break compilation of existing apps
|
||||
[iOS (8,0)]
|
||||
static public void PrepareForPrerollAds ()
|
||||
{
|
||||
(null as AVPlayerViewController).PreparePrerollAds ();
|
||||
|
|
|
@ -16,7 +16,7 @@ namespace CloudKit {
|
|||
|
||||
#if !XAMCORE_4_0
|
||||
public partial class CKQueryNotification {
|
||||
[iOS (8, 0), Mac (10, 10)]
|
||||
|
||||
[Obsolete ("Empty stub (not public API). Use 'DatabaseScope' instead.")]
|
||||
public virtual bool IsPublicDatabase { get; }
|
||||
}
|
||||
|
@ -46,33 +46,27 @@ namespace CloudKit {
|
|||
|
||||
public partial class CKContainer {
|
||||
#if __IOS__ || MONOMAC
|
||||
[iOS (8, 0), Mac (10, 10)]
|
||||
[Obsolete ("Always throw a 'NotSupportedException' (not a public API). Use 'DiscoverAllIdentities' instead.")]
|
||||
public virtual void DiscoverAllContactUserInfos (Action<CKDiscoveredUserInfo[], NSError> completionHandler)
|
||||
=> throw new NotSupportedException ();
|
||||
|
||||
[iOS (8, 0), Mac (10, 10)]
|
||||
[Obsolete ("Always throw a 'NotSupportedException' (not a public API). Use 'DiscoverAllIdentities' instead.")]
|
||||
public virtual Task<CKDiscoveredUserInfo[]> DiscoverAllContactUserInfosAsync ()
|
||||
=> Task.FromException<CKDiscoveredUserInfo[]> (new NotSupportedException ());
|
||||
#endif
|
||||
|
||||
[iOS (8, 0), Mac (10, 10)]
|
||||
[Obsolete ("Always throw a 'NotSupportedException' (not a public API). Use 'DiscoverUserIdentityWithEmailAddress' instead.")]
|
||||
public virtual void DiscoverUserInfo (string email, Action<CKDiscoveredUserInfo, NSError> completionHandler)
|
||||
=> throw new NotSupportedException ();
|
||||
|
||||
[iOS (8, 0), Mac (10, 10)]
|
||||
[Obsolete ("Always throw a 'NotSupportedException' (not a public API). Use 'DiscoverUserIdentityWithEmailAddress' instead.")]
|
||||
public virtual Task<CKDiscoveredUserInfo> DiscoverUserInfoAsync (string email)
|
||||
=> Task.FromException<CKDiscoveredUserInfo> (new NotSupportedException ());
|
||||
|
||||
[iOS (8, 0), Mac (10, 10)]
|
||||
[Obsolete ("Always throw a 'NotSupportedException' (not a public API). Use 'DiscoverUserIdentity' instead.")]
|
||||
public virtual void DiscoverUserInfo (CKRecordID userRecordId, Action<CKDiscoveredUserInfo, NSError> completionHandler)
|
||||
=> throw new NotSupportedException ();
|
||||
|
||||
[iOS (8, 0), Mac (10, 10)]
|
||||
[Obsolete ("Always throw a 'NotSupportedException' (not a public API). Use 'DiscoverUserIdentity' instead.")]
|
||||
public virtual Task<CKDiscoveredUserInfo> DiscoverUserInfoAsync (CKRecordID userRecordId)
|
||||
=> Task.FromException<CKDiscoveredUserInfo> (new NotSupportedException ());
|
||||
|
|
|
@ -104,7 +104,7 @@ namespace CloudKit
|
|||
Query = 1,
|
||||
RecordZone = 2,
|
||||
ReadNotification = 3,
|
||||
[iOS (10,0), TV (10,0), Mac (10,12), Watch (3,0)] Database = 4,
|
||||
[iOS (10,0), TV (10,0), Mac (10,12)] Database = 4,
|
||||
}
|
||||
|
||||
// NSInteger -> CKNotification.h
|
||||
|
@ -127,7 +127,7 @@ namespace CloudKit
|
|||
public enum CKRecordZoneCapabilities : ulong {
|
||||
FetchChanges = 1 << 0,
|
||||
Atomic = 1 << 1,
|
||||
[iOS (10,0), Watch (3,0), TV (10,0), Mac (10,12)] Sharing = 1 << 2,
|
||||
[iOS (10,0), TV (10,0), Mac (10,12)] Sharing = 1 << 2,
|
||||
}
|
||||
|
||||
// NSUInteger -> CKReference.h
|
||||
|
|
|
@ -116,11 +116,9 @@ namespace CoreGraphics {
|
|||
throw new Exception ("Failed to create CGColorConverter");
|
||||
}
|
||||
|
||||
[iOS (10,0)][Mac (10,12)]
|
||||
[DllImport(Constants.CoreGraphicsLibrary)]
|
||||
extern static IntPtr CGColorConversionInfoCreate (/* cg_nullable CGColorSpaceRef */ IntPtr src, /* cg_nullable CGColorSpaceRef */ IntPtr dst);
|
||||
|
||||
[iOS (10,0)][Mac (10,12)]
|
||||
public CGColorConversionInfo (CGColorSpace source, CGColorSpace destination)
|
||||
{
|
||||
// API accept null arguments but returns null, which we can't use
|
||||
|
|
|
@ -14,7 +14,6 @@ using ObjCRuntime;
|
|||
namespace CoreML {
|
||||
public partial class MLDictionaryFeatureProvider {
|
||||
|
||||
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
public MLFeatureValue this [string featureName] {
|
||||
get { return GetFeatureValue (featureName); }
|
||||
}
|
||||
|
|
|
@ -27,58 +27,49 @@ namespace CoreML {
|
|||
return NSArray.ArrayFromHandle<nint> (handle, (v) => Messaging.nint_objc_msgSend (v, Selector.GetHandle ("integerValue")));
|
||||
}
|
||||
|
||||
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
public MLMultiArray (nint [] shape, MLMultiArrayDataType dataType, out NSError error)
|
||||
: this (ConvertArray (shape), dataType, out error)
|
||||
{
|
||||
}
|
||||
|
||||
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
public MLMultiArray (IntPtr dataPointer, nint [] shape, MLMultiArrayDataType dataType, nint [] strides, Action<IntPtr> deallocator, out NSError error)
|
||||
: this (dataPointer, ConvertArray (shape), dataType, ConvertArray (strides), deallocator, out error)
|
||||
{
|
||||
}
|
||||
|
||||
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
public NSNumber this [nint idx] {
|
||||
get { return GetObject (idx); }
|
||||
set { SetObject (value, idx); }
|
||||
}
|
||||
|
||||
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
public NSNumber this [params nint[] indices] {
|
||||
get { return GetObject (indices); }
|
||||
set { SetObject (value, indices); }
|
||||
}
|
||||
|
||||
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
public NSNumber this [NSNumber [] key] {
|
||||
get { return GetObject (key); }
|
||||
set { SetObject (value, key); }
|
||||
}
|
||||
|
||||
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
public NSNumber GetObject (params nint[] indices)
|
||||
{
|
||||
using (var arr = NSArray.FromNSObjects<nint> (NSNumber.FromNInt, indices))
|
||||
return GetObject (arr.GetHandle ());
|
||||
}
|
||||
|
||||
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
public void SetObject (NSNumber obj, params nint[] indices)
|
||||
{
|
||||
using (var arr = NSArray.FromNSObjects<nint> (NSNumber.FromNInt, indices))
|
||||
SetObject (obj, arr.GetHandle ());
|
||||
}
|
||||
|
||||
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
public nint[] Shape {
|
||||
get {
|
||||
return ConvertArray (_Shape);
|
||||
}
|
||||
}
|
||||
|
||||
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
public nint[] Strides {
|
||||
get {
|
||||
return ConvertArray (_Strides);
|
||||
|
|
|
@ -361,11 +361,11 @@ namespace CoreMedia {
|
|||
return CMTimebaseSetTimerToFireImmediately (Handle, timer.Handle);
|
||||
}
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport(Constants.CoreMediaLibrary)]
|
||||
extern static CMTimebaseError CMTimebaseSetMasterTimebase (/* CMTimebaseRef* */ IntPtr timebase, /* CMTimebaseRef* */ IntPtr newMasterTimebase);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public CMTimebaseError SetMasterTimebase (CMTimebase newMasterTimebase)
|
||||
{
|
||||
if (newMasterTimebase == null)
|
||||
|
@ -374,11 +374,11 @@ namespace CoreMedia {
|
|||
return CMTimebaseSetMasterTimebase (Handle, newMasterTimebase.Handle);
|
||||
}
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport(Constants.CoreMediaLibrary)]
|
||||
extern static CMTimebaseError CMTimebaseSetMasterClock (/* CMTimebaseRef* */ IntPtr timebase, /* CMClockRef* */ IntPtr newMasterClock);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public CMTimebaseError SetMasterClock (CMClock newMasterClock)
|
||||
{
|
||||
if (newMasterClock == null)
|
||||
|
|
|
@ -125,40 +125,40 @@ namespace CoreVideo {
|
|||
#endif
|
||||
|
||||
[DllImport (Constants.CoreVideoLibrary)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
extern static int CVYCbCrMatrixGetIntegerCodePointForString (IntPtr yCbCrMatrixString);
|
||||
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
public static int GetCodePoint (CVImageBufferYCbCrMatrix yCbCrMatrix)
|
||||
{
|
||||
return CVYCbCrMatrixGetIntegerCodePointForString (yCbCrMatrix.GetConstant ().Handle);
|
||||
}
|
||||
|
||||
[DllImport (Constants.CoreVideoLibrary)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
extern static int CVColorPrimariesGetIntegerCodePointForString (IntPtr colorPrimariesString);
|
||||
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
public static int GetCodePoint (CVImageBufferColorPrimaries color)
|
||||
{
|
||||
return CVColorPrimariesGetIntegerCodePointForString (color.GetConstant ().Handle);
|
||||
}
|
||||
|
||||
[DllImport (Constants.CoreVideoLibrary)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
extern static int CVTransferFunctionGetIntegerCodePointForString (IntPtr colorPrimariesString);
|
||||
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
public static int GetCodePoint (CVImageBufferTransferFunction function)
|
||||
{
|
||||
return CVTransferFunctionGetIntegerCodePointForString (function.GetConstant ().Handle);
|
||||
}
|
||||
|
||||
[DllImport (Constants.CoreVideoLibrary)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
extern static IntPtr CVYCbCrMatrixGetStringForIntegerCodePoint (int yCbCrMatrixCodePoint);
|
||||
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
public static CVImageBufferYCbCrMatrix GetYCbCrMatrixOption (int yCbCrMatrixCodePoint)
|
||||
{
|
||||
var ret = Runtime.GetNSObject<NSString> (CVYCbCrMatrixGetStringForIntegerCodePoint (yCbCrMatrixCodePoint));
|
||||
|
@ -166,10 +166,10 @@ namespace CoreVideo {
|
|||
}
|
||||
|
||||
[DllImport (Constants.CoreVideoLibrary)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
extern static IntPtr CVColorPrimariesGetStringForIntegerCodePoint (int colorPrimariesCodePoint);
|
||||
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
public static CVImageBufferColorPrimaries GetColorPrimariesOption (int colorPrimariesCodePoint)
|
||||
{
|
||||
var ret = Runtime.GetNSObject<NSString> (CVColorPrimariesGetStringForIntegerCodePoint (colorPrimariesCodePoint));
|
||||
|
@ -177,10 +177,10 @@ namespace CoreVideo {
|
|||
}
|
||||
|
||||
[DllImport (Constants.CoreVideoLibrary)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
extern static IntPtr CVTransferFunctionGetStringForIntegerCodePoint (int transferFunctionCodePoint);
|
||||
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0), Watch (4, 0)]
|
||||
[iOS (11, 0), Mac (10, 13), TV (11, 0)]
|
||||
public static CVImageBufferTransferFunction GetTransferFunctionOption (int transferFunctionCodePoint)
|
||||
{
|
||||
var ret = Runtime.GetNSObject<NSString> (CVTransferFunctionGetStringForIntegerCodePoint (transferFunctionCodePoint));
|
||||
|
|
|
@ -134,11 +134,9 @@ namespace GLKit {
|
|||
public bool Normalized;
|
||||
|
||||
#if !COREBUILD
|
||||
[iOS (9,0)][Mac (10,11)]
|
||||
[DllImport (Constants.GLKitLibrary, EntryPoint = "GLKVertexAttributeParametersFromModelIO")]
|
||||
extern static GLKVertexAttributeParameters FromVertexFormat_ (nuint vertexFormat);
|
||||
|
||||
[iOS (9,0)][Mac (10,11)]
|
||||
public static GLKVertexAttributeParameters FromVertexFormat (MDLVertexFormat vertexFormat)
|
||||
{
|
||||
return FromVertexFormat_ ((nuint) (ulong) vertexFormat);
|
||||
|
|
|
@ -7,7 +7,6 @@ namespace HomeKit {
|
|||
partial class HMActionSet {
|
||||
|
||||
[iOS (9,0)]
|
||||
[TV (10,0)]
|
||||
public HMActionSetType ActionSetType {
|
||||
get {
|
||||
var s = _ActionSetType;
|
||||
|
|
|
@ -4,8 +4,6 @@ using Foundation;
|
|||
|
||||
namespace HomeKit {
|
||||
|
||||
[iOS (8,0)]
|
||||
[TV (10,0)]
|
||||
partial class HMCharacteristic
|
||||
{
|
||||
public bool SupportsEventNotification {
|
||||
|
@ -39,7 +37,6 @@ namespace HomeKit {
|
|||
}
|
||||
|
||||
[iOS (9,3)][Watch (2,2)]
|
||||
[TV (10,0)]
|
||||
public bool Hidden {
|
||||
get {
|
||||
foreach (var p in Properties) {
|
||||
|
|
|
@ -574,7 +574,7 @@ namespace HomeKit {
|
|||
[Field ("HMCharacteristicTypeHumidifierThreshold")]
|
||||
HumidifierThreshold,
|
||||
|
||||
[iOS (9,0), Watch (2,0), TV (10,0)]
|
||||
[iOS (9,0)]
|
||||
[Field ("HMCharacteristicTypeSecuritySystemAlarmType")]
|
||||
SecuritySystemAlarmType,
|
||||
|
||||
|
|
|
@ -89,7 +89,6 @@ namespace HomeKit {
|
|||
#if (WATCH || TVOS)
|
||||
[Obsolete ("This API is not available on this platform.")]
|
||||
#endif
|
||||
[Introduced (PlatformName.iOS, 8,0, PlatformArchitecture.All, message: "This API in now prohibited on iOS. Use 'ManageUsers' instead.")]
|
||||
[Obsoleted (PlatformName.iOS, 9,0, PlatformArchitecture.All, message: "This API in now prohibited on iOS. Use 'ManageUsers' instead.")]
|
||||
public virtual void RemoveUser (HMUser user, Action<NSError> completion) {
|
||||
throw new NotSupportedException ();
|
||||
|
@ -100,7 +99,6 @@ namespace HomeKit {
|
|||
#if (WATCH || TVOS)
|
||||
[Obsolete ("This API is not available on this platform.")]
|
||||
#endif
|
||||
[Introduced (PlatformName.iOS, 8,0, PlatformArchitecture.All, message: "This API in now prohibited on iOS. Use 'ManageUsers' instead.")]
|
||||
[Obsoleted (PlatformName.iOS, 9,0, PlatformArchitecture.All, message: "This API in now prohibited on iOS. Use 'ManageUsers' instead.")]
|
||||
public virtual Task RemoveUserAsync (HMUser user) {
|
||||
throw new NotSupportedException ();
|
||||
|
|
|
@ -33,9 +33,6 @@ namespace IOSurface {
|
|||
|
||||
// kern_return_t
|
||||
// See bug #59201 [iOS (10,0)]
|
||||
[iOS (11, 0)]
|
||||
[Mac (10, 12)]
|
||||
[TV (11, 0)]
|
||||
public int Lock (IOSurfaceLockOptions options, ref int seed)
|
||||
{
|
||||
unsafe {
|
||||
|
@ -47,9 +44,6 @@ namespace IOSurface {
|
|||
|
||||
// kern_return_t
|
||||
// See bug #59201 [iOS (10,0)]
|
||||
[iOS (11, 0)]
|
||||
[Mac (10, 12)]
|
||||
[TV (11, 0)]
|
||||
public int Lock (IOSurfaceLockOptions options)
|
||||
{
|
||||
return _Lock (options, IntPtr.Zero);
|
||||
|
@ -57,9 +51,6 @@ namespace IOSurface {
|
|||
|
||||
// kern_return_t
|
||||
// See bug #59201 [iOS (10,0)]
|
||||
[iOS (11, 0)]
|
||||
[Mac (10, 12)]
|
||||
[TV (11, 0)]
|
||||
public int Unlock (IOSurfaceLockOptions options, ref int seed)
|
||||
{
|
||||
unsafe {
|
||||
|
@ -71,9 +62,6 @@ namespace IOSurface {
|
|||
|
||||
// kern_return_t
|
||||
// See bug #59201 [iOS (10,0)]
|
||||
[iOS (11, 0)]
|
||||
[Mac (10, 12)]
|
||||
[TV (11, 0)]
|
||||
public int Unlock (IOSurfaceLockOptions options)
|
||||
{
|
||||
return _Unlock (options, IntPtr.Zero);
|
||||
|
@ -81,8 +69,6 @@ namespace IOSurface {
|
|||
|
||||
#if !MONOMAC
|
||||
// kern_return_t
|
||||
[iOS (11, 0)]
|
||||
[TV (11, 0)]
|
||||
public int SetPurgeable (IOSurfacePurgeabilityState newState, ref IOSurfacePurgeabilityState oldState)
|
||||
{
|
||||
unsafe {
|
||||
|
@ -92,8 +78,6 @@ namespace IOSurface {
|
|||
}
|
||||
}
|
||||
|
||||
[iOS (11, 0)]
|
||||
[TV (11, 0)]
|
||||
public int SetPurgeable (IOSurfacePurgeabilityState newState)
|
||||
{
|
||||
return _SetPurgeable (newState, IntPtr.Zero);
|
||||
|
|
|
@ -9,8 +9,8 @@ using ObjCRuntime;
|
|||
namespace Metal {
|
||||
public partial class MTLRasterizationRateLayerDescriptor
|
||||
{
|
||||
/* Selectors reported as not working by instrospection: https://github.com/xamarin/maccore/issues/1976
|
||||
[NoMac, NoTV, iOS (13,0)]
|
||||
/* Selectors reported as not working by introspection: https://github.com/xamarin/maccore/issues/1976
|
||||
[NoMac]
|
||||
public double[] HorizontalSampleStorage {
|
||||
get {
|
||||
var width = (int)SampleCount.Width;
|
||||
|
@ -20,7 +20,7 @@ namespace Metal {
|
|||
}
|
||||
}
|
||||
|
||||
[NoMac, NoTV, iOS (13,0)]
|
||||
[NoMac]
|
||||
public double[] VerticalSampleStorage {
|
||||
get {
|
||||
var height = (int)SampleCount.Height;
|
||||
|
@ -30,7 +30,7 @@ namespace Metal {
|
|||
}
|
||||
}
|
||||
*/
|
||||
[NoMac, NoTV, iOS (13,0)]
|
||||
[NoMac]
|
||||
static public MTLRasterizationRateLayerDescriptor Create (MTLSize sampleCount, float[] horizontal, float[] vertical)
|
||||
{
|
||||
if (horizontal == null)
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace ModelIO {
|
|||
}
|
||||
|
||||
public partial class MDLNoiseTexture {
|
||||
[iOS (9,0), Mac (10,11)]
|
||||
|
||||
public MDLNoiseTexture (float input, string name, Vector2i textureDimensions, MDLTextureChannelEncoding channelEncoding) : this (input, name, textureDimensions, channelEncoding, MDLNoiseTextureType.Vector)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -65,15 +65,15 @@ namespace Network {
|
|||
get => nw_advertise_descriptor_get_no_auto_rename (GetCheckedHandle ());
|
||||
}
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern OS_nw_txt_record nw_advertise_descriptor_copy_txt_record_object (OS_nw_advertise_descriptor advertise_descriptor);
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_advertise_descriptor_set_txt_record_object (OS_nw_advertise_descriptor advertise_descriptor, OS_nw_txt_record txt_record);
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public NWTxtRecord TxtRecord {
|
||||
get => new NWTxtRecord (nw_advertise_descriptor_copy_txt_record_object (GetCheckedHandle ()), owns: true);
|
||||
set => nw_advertise_descriptor_set_txt_record_object (GetCheckedHandle (), value.GetHandle ());
|
||||
|
|
|
@ -574,7 +574,7 @@ namespace Network {
|
|||
BlockLiteral.SimpleCall (method, (arg)=> nw_connection_batch (GetCheckedHandle (), arg));
|
||||
}
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
unsafe static extern void nw_connection_access_establishment_report (IntPtr connection, IntPtr queue, ref BlockLiteral access_block);
|
||||
|
||||
|
@ -592,7 +592,7 @@ namespace Network {
|
|||
}
|
||||
}
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public void GetEstablishmentReport (DispatchQueue queue, Action<NWEstablishmentReport> handler)
|
||||
{
|
||||
|
|
|
@ -116,11 +116,11 @@ namespace Network {
|
|||
|
||||
public string? BonjourServiceDomain => Marshal.PtrToStringAnsi (nw_endpoint_get_bonjour_service_domain (GetCheckedHandle ()));
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern OS_nw_endpoint nw_endpoint_create_url (string url);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public static NWEndpoint? Create (string url)
|
||||
{
|
||||
if (url == null)
|
||||
|
@ -131,11 +131,11 @@ namespace Network {
|
|||
return new NWEndpoint (handle, owns: true);
|
||||
}
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern IntPtr nw_endpoint_get_url (OS_nw_endpoint endpoint);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public string? Url => Marshal.PtrToStringAnsi (nw_endpoint_get_url (GetCheckedHandle ()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -243,15 +243,15 @@ namespace Network {
|
|||
nw_listener_set_advertise_descriptor (GetCheckedHandle (), descriptor.GetHandle ());
|
||||
}
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern uint nw_listener_get_new_connection_limit (IntPtr listener);
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_listener_set_new_connection_limit (IntPtr listener, uint new_connection_limit);
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public uint ConnectionLimit {
|
||||
get => nw_listener_get_new_connection_limit (GetCheckedHandle ());
|
||||
set => nw_listener_set_new_connection_limit (GetCheckedHandle (), value);
|
||||
|
|
|
@ -484,16 +484,16 @@ namespace Network {
|
|||
set => nw_parameters_set_include_peer_to_peer (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
static extern bool nw_parameters_get_prohibit_constrained (IntPtr parameters);
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_set_prohibit_constrained (IntPtr parameters, bool prohibit_constrained);
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public bool ProhibitConstrained {
|
||||
get => nw_parameters_get_prohibit_constrained (GetCheckedHandle ());
|
||||
set => nw_parameters_set_prohibit_constrained (GetCheckedHandle (), value);
|
||||
|
|
|
@ -134,14 +134,14 @@ namespace Network {
|
|||
}
|
||||
}
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern bool nw_path_is_constrained (IntPtr path);
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public bool IsConstrained => nw_path_is_constrained (GetCheckedHandle ());
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_path_enumerate_gateways (IntPtr path, ref BlockLiteral enumerate_block);
|
||||
|
||||
|
@ -158,7 +158,7 @@ namespace Network {
|
|||
}
|
||||
}
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public void EnumerateGateways (Action<NWEndpoint> callback)
|
||||
{
|
||||
|
|
|
@ -78,20 +78,20 @@ namespace Network {
|
|||
|
||||
public static NWProtocolDefinition CreateTlsDefinition () => new NWProtocolDefinition (nw_protocol_copy_tls_definition (), owns: true);
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern OS_nw_protocol_definition nw_protocol_copy_ws_definition ();
|
||||
|
||||
#if !XAMCORE_4_0
|
||||
[Obsolete ("Use 'CreateWebSocketDefinition' method instead.")]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public static NWProtocolDefinition WebSocketDefinition => new NWProtocolDefinition (nw_protocol_copy_ws_definition (), owns: true);
|
||||
#endif
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public static NWProtocolDefinition CreateWebSocketDefinition () => new NWProtocolDefinition (nw_protocol_copy_ws_definition (), owns: true);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Watch (6,0), TV (13,0), Mac (10,15)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern unsafe OS_nw_protocol_definition nw_framer_create_definition (string identifier, NWFramerCreateFlags flags, ref BlockLiteral start_handler);
|
||||
delegate NWFramerStartResult nw_framer_create_definition_t (IntPtr block, IntPtr framer);
|
||||
|
@ -109,7 +109,7 @@ namespace Network {
|
|||
return NWFramerStartResult.Unknown;
|
||||
}
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public static NWProtocolDefinition CreateFramerDefinition (string identifier, NWFramerCreateFlags flags, Func<NWFramer, NWFramerStartResult> startCallback)
|
||||
{
|
||||
|
|
|
@ -54,7 +54,6 @@ namespace Network {
|
|||
public void SetCalculateReceiveTime (bool shouldCalculateReceiveTime)
|
||||
=> nw_ip_options_set_calculate_receive_time (GetCheckedHandle (), shouldCalculateReceiveTime);
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public void SetIPLocalAddressPreference (NWIPLocalAddressPreference localAddressPreference)
|
||||
=> nw_ip_options_set_local_address_preference (GetCheckedHandle (), localAddressPreference);
|
||||
}
|
||||
|
|
|
@ -212,18 +212,18 @@ namespace Network {
|
|||
}
|
||||
#endif
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
internal static extern bool nw_protocol_metadata_is_framer_message (OS_nw_protocol_metadata metadata);
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public bool IsFramerMessage => nw_protocol_metadata_is_framer_message (GetCheckedHandle ());
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
internal static extern bool nw_protocol_metadata_is_ws (OS_nw_protocol_metadata metadata);
|
||||
|
||||
[TV (13,0), Mac (10,15), iOS (13,0), Watch (6,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public bool IsWebSocket => nw_protocol_metadata_is_ws (GetCheckedHandle ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -107,12 +107,12 @@ namespace Network {
|
|||
}
|
||||
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
internal static extern void nw_ip_options_set_local_address_preference (IntPtr options, NWIPLocalAddressPreference preference);
|
||||
|
||||
[Obsolete ("Use the 'NWProtocolIPOptions' class instead.")]
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
public NWIPLocalAddressPreference IPLocalAddressPreference {
|
||||
set => nw_ip_options_set_local_address_preference (GetCheckedHandle (), value);
|
||||
}
|
||||
|
|
|
@ -51,13 +51,11 @@ namespace SceneKit {
|
|||
}
|
||||
|
||||
[Mac (10, 10)]
|
||||
[iOS (8, 0)]
|
||||
public SCNMatrix4 [] BoneInverseBindTransforms {
|
||||
get { return FromNSArray (_BoneInverseBindTransforms); }
|
||||
}
|
||||
|
||||
[Mac (10, 10)]
|
||||
[iOS (8, 0)]
|
||||
public static SCNSkinner Create (SCNGeometry baseGeometry,
|
||||
SCNNode [] bones, SCNMatrix4 [] boneInverseBindTransforms,
|
||||
SCNGeometrySource boneWeights, SCNGeometrySource boneIndices)
|
||||
|
|
|
@ -12,9 +12,6 @@ namespace Security {
|
|||
|
||||
public static partial class SecSharedCredential {
|
||||
|
||||
[iOS (8,0)]
|
||||
[Mac (11,0)]
|
||||
[Introduced (PlatformName.MacCatalyst, 14,0)]
|
||||
[DllImport (Constants.SecurityLibrary)]
|
||||
extern static void SecAddSharedWebCredential (IntPtr /* CFStringRef */ fqdn, IntPtr /* CFStringRef */ account, IntPtr /* CFStringRef */ password,
|
||||
IntPtr /* void (^completionHandler)( CFErrorRef error) ) */ completionHandler);
|
||||
|
@ -36,7 +33,6 @@ namespace Security {
|
|||
}
|
||||
}
|
||||
|
||||
[iOS (8,0)]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public static void AddSharedWebCredential (string domainName, string account, string password, Action<NSError> handler)
|
||||
{
|
||||
|
@ -67,8 +63,6 @@ namespace Security {
|
|||
}
|
||||
}
|
||||
|
||||
[iOS (8,0)]
|
||||
[Mac (11,0)]
|
||||
[Deprecated (PlatformName.iOS, 14,0)]
|
||||
[Deprecated (PlatformName.MacOSX, 11,0)]
|
||||
[DllImport (Constants.SecurityLibrary)]
|
||||
|
@ -102,8 +96,6 @@ namespace Security {
|
|||
}
|
||||
#endif
|
||||
|
||||
[iOS (8,0)]
|
||||
[Mac (11,0)]
|
||||
[Deprecated (PlatformName.iOS, 14,0, message: "Use 'ASAuthorizationPasswordRequest' instead.")]
|
||||
[Deprecated (PlatformName.MacOSX, 11,0, message: "Use 'ASAuthorizationPasswordRequest' instead.")]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
|
@ -143,14 +135,9 @@ namespace Security {
|
|||
}
|
||||
}
|
||||
|
||||
[iOS (8,0)]
|
||||
[Mac (11,0)]
|
||||
[DllImport (Constants.SecurityLibrary)]
|
||||
extern static IntPtr /* CFStringRef */ SecCreateSharedWebCredentialPassword ();
|
||||
|
||||
[iOS (8,0)]
|
||||
[Mac (11,0)]
|
||||
[Introduced (PlatformName.MacCatalyst, 14,0)]
|
||||
public static string CreateSharedWebCredentialPassword ()
|
||||
{
|
||||
var handle = SecCreateSharedWebCredentialPassword ();
|
||||
|
|
|
@ -8,8 +8,6 @@ namespace SensorKit {
|
|||
|
||||
public partial class SRSensorExtensions {
|
||||
|
||||
[NoWatch, NoTV, NoMac]
|
||||
[iOS (14,0)]
|
||||
public static SRSensor GetSensorForDeletionRecords (this SRSensor self)
|
||||
{
|
||||
var constant = self.GetConstant ();
|
||||
|
|
|
@ -5,7 +5,7 @@ using ObjCRuntime;
|
|||
namespace StoreKit {
|
||||
|
||||
partial class SKReceiptRefreshRequest {
|
||||
[Watch (6, 2), iOS (7,1), Mac (10,14)]
|
||||
[iOS (7,1), Mac (10,14)]
|
||||
[DllImport (Constants.StoreKitLibrary, EntryPoint = "SKTerminateForInvalidReceipt")]
|
||||
static extern public void TerminateForInvalidReceipt ();
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ namespace StoreKit {
|
|||
|
||||
partial class SKCloudServiceSetupOptions {
|
||||
|
||||
[iOS (10,1)]
|
||||
public virtual SKCloudServiceSetupAction? Action {
|
||||
get {
|
||||
return (SKCloudServiceSetupAction?) (SKCloudServiceSetupActionExtensions.GetValue (_Action));
|
||||
|
|
|
@ -19,11 +19,9 @@ namespace UIKit {
|
|||
|
||||
public partial class UICellAccessory {
|
||||
|
||||
[TV (14,0), iOS (14,0)]
|
||||
[DllImport (Constants.UIKitLibrary)]
|
||||
static extern IntPtr UICellAccessoryPositionBeforeAccessoryOfClass (IntPtr accessoryCls);
|
||||
|
||||
[TV (14,0), iOS (14,0)]
|
||||
[return: DelegateProxy (typeof (SDUICellAccessoryPosition))]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public static UICellAccessoryPosition GetPositionBeforeAccessory (Class accessoryClass)
|
||||
|
@ -34,16 +32,13 @@ namespace UIKit {
|
|||
return NIDUICellAccessoryPosition.Create (ret)!;
|
||||
}
|
||||
|
||||
[TV (14,0), iOS (14,0)]
|
||||
[return: DelegateProxy (typeof (SDUICellAccessoryPosition))]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public static UICellAccessoryPosition GetPositionBeforeAccessory (Type accessoryType) => GetPositionBeforeAccessory (new Class (accessoryType));
|
||||
|
||||
[TV (14,0), iOS (14,0)]
|
||||
[DllImport (Constants.UIKitLibrary)]
|
||||
static extern IntPtr UICellAccessoryPositionAfterAccessoryOfClass (IntPtr accessoryCls);
|
||||
|
||||
[TV (14,0), iOS (14,0)]
|
||||
[return: DelegateProxy (typeof (SDUICellAccessoryPosition))]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public static UICellAccessoryPosition GetPositionAfterAccessory (Class accessoryClass)
|
||||
|
@ -54,7 +49,6 @@ namespace UIKit {
|
|||
return NIDUICellAccessoryPosition.Create (ret)!;
|
||||
}
|
||||
|
||||
[TV (14,0), iOS (14,0)]
|
||||
[return: DelegateProxy (typeof (SDUICellAccessoryPosition))]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public static UICellAccessoryPosition GetPositionAfterAccessory (Type accessoryType) => GetPositionAfterAccessory (new Class (accessoryType));
|
||||
|
|
|
@ -2462,7 +2462,7 @@ namespace UIKit {
|
|||
[Field ("UIWindowSceneSessionRoleExternalDisplay")]
|
||||
ExternalDisplay,
|
||||
|
||||
[iOS (13,0)][NoTV][NoWatch]
|
||||
[NoTV][NoWatch]
|
||||
[Field ("CPTemplateApplicationSceneSessionRoleApplication", "CarPlay")]
|
||||
CarTemplateApplication,
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ namespace UIKit {
|
|||
// the resulting syntax does not look good in user code so we provide a better looking API
|
||||
// https://trello.com/c/iQpXOxCd/227-category-and-static-methods-selectors
|
||||
// note: we cannot reuse the same method name - as it would break compilation of existing apps
|
||||
[iOS (8,0)]
|
||||
[Deprecated (PlatformName.iOS, 10,0, message: "Use 'CreatePrimaryVibrancyEffectForNotificationCenter' instead.")]
|
||||
static public UIVibrancyEffect CreateForNotificationCenter ()
|
||||
{
|
||||
|
|
|
@ -198,11 +198,11 @@ namespace VideoToolbox {
|
|||
return null;
|
||||
}
|
||||
|
||||
[Mac (10,9), iOS (8,0)]
|
||||
[Mac (10,9)]
|
||||
[DllImport (Constants.VideoToolboxLibrary)]
|
||||
extern static VTStatus VTCompressionSessionPrepareToEncodeFrames (IntPtr handle);
|
||||
|
||||
[Mac (10,9), iOS (8,0)]
|
||||
[Mac (10,9)]
|
||||
public VTStatus PrepareToEncodeFrames ()
|
||||
{
|
||||
if (Handle == IntPtr.Zero)
|
||||
|
@ -300,11 +300,11 @@ namespace VideoToolbox {
|
|||
return VTCompressionSessionCompleteFrames (Handle, completeUntilPresentationTimeStamp);
|
||||
}
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[DllImport (Constants.VideoToolboxLibrary)]
|
||||
extern static VTStatus VTCompressionSessionBeginPass (IntPtr session, VTCompressionSessionOptionFlags flags, IntPtr reserved);
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
public VTStatus BeginPass (VTCompressionSessionOptionFlags flags)
|
||||
{
|
||||
if (Handle == IntPtr.Zero)
|
||||
|
@ -312,15 +312,15 @@ namespace VideoToolbox {
|
|||
return VTCompressionSessionBeginPass (Handle, flags, IntPtr.Zero);
|
||||
}
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[DllImport (Constants.VideoToolboxLibrary)]
|
||||
extern static VTStatus VTCompressionSessionEndPass (IntPtr session, out byte furtherPassesRequestedOut, IntPtr reserved);
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[DllImport (Constants.VideoToolboxLibrary)]
|
||||
extern static VTStatus VTCompressionSessionEndPass (IntPtr session, IntPtr ptrByte, IntPtr reserved);
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
public VTStatus EndPass (out bool furtherPassesRequested)
|
||||
{
|
||||
if (Handle == IntPtr.Zero)
|
||||
|
@ -341,14 +341,14 @@ namespace VideoToolbox {
|
|||
return VTCompressionSessionEndPass (Handle, IntPtr.Zero, IntPtr.Zero);
|
||||
}
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[DllImport (Constants.VideoToolboxLibrary)]
|
||||
extern static VTStatus VTCompressionSessionGetTimeRangesForNextPass (
|
||||
/* VTCompressionSessionRef */ IntPtr session,
|
||||
/* CMItemCount* */ out int itemCount,
|
||||
/* const CMTimeRange** */ out IntPtr target);
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
public VTStatus GetTimeRangesForNextPass (out CMTimeRange [] timeRanges)
|
||||
{
|
||||
if (Handle == IntPtr.Zero)
|
||||
|
|
|
@ -1612,7 +1612,6 @@ namespace ARKit {
|
|||
[DisableDefaultCtor]
|
||||
interface AREnvironmentProbeAnchor {
|
||||
// Inlined from 'ARAnchorCopying' protocol (we can't have constructors in interfaces)
|
||||
[iOS (12,0)]
|
||||
[Export ("initWithAnchor:")]
|
||||
IntPtr Constructor (ARAnchor anchor);
|
||||
|
||||
|
@ -1686,7 +1685,6 @@ namespace ARKit {
|
|||
[return: NullAllowed]
|
||||
ARReferenceObject Merge (ARReferenceObject @object, [NullAllowed] out NSError error);
|
||||
|
||||
[iOS (12,0)]
|
||||
[Field ("ARReferenceObjectArchiveExtension")]
|
||||
NSString ArchiveExtension { get; }
|
||||
}
|
||||
|
@ -1697,7 +1695,6 @@ namespace ARKit {
|
|||
[DisableDefaultCtor]
|
||||
interface ARObjectAnchor {
|
||||
// Inlined from 'ARAnchorCopying' protocol (we can't have constructors in interfaces)
|
||||
[iOS (12,0)]
|
||||
[Export ("initWithAnchor:")]
|
||||
IntPtr Constructor (ARAnchor anchor);
|
||||
|
||||
|
@ -2240,7 +2237,6 @@ namespace ARKit {
|
|||
[BaseType (typeof (ARAnchor))]
|
||||
interface ARGeoAnchor : ARTrackable {
|
||||
// Inlined from 'ARAnchorCopying' protocol (we can't have constructors in interfaces)
|
||||
[iOS (14,0)]
|
||||
[Export ("initWithAnchor:")]
|
||||
IntPtr Constructor (ARAnchor anchor);
|
||||
|
||||
|
|
|
@ -248,11 +248,9 @@ namespace AudioUnit {
|
|||
[Export ("shouldChangeToFormat:forBus:")]
|
||||
bool ShouldChangeToFormat (AVAudioFormat format, AUAudioUnitBus bus);
|
||||
|
||||
[Mac (10,11)][iOS (7,0)]
|
||||
[Notification, Field ("kAudioComponentRegistrationsChangedNotification")]
|
||||
NSString AudioComponentRegistrationsChangedNotification { get; }
|
||||
|
||||
[Mac (10,11)][iOS (7,0)]
|
||||
[Notification, Field ("kAudioComponentInstanceInvalidationNotification")]
|
||||
NSString AudioComponentInstanceInvalidationNotification { get; }
|
||||
|
||||
|
|
|
@ -1232,7 +1232,7 @@ namespace AVFoundation {
|
|||
[Export ("isEqual:"), Internal]
|
||||
bool IsEqual (NSObject obj);
|
||||
|
||||
[iOS (10,0), TV (10,0), Watch (3,0), Mac (10,12)]
|
||||
[iOS (10,0), TV (10,0), Mac (10,12)]
|
||||
[NullAllowed, Export ("magicCookie", ArgumentSemantic.Retain)]
|
||||
NSData MagicCookie { get; set; }
|
||||
}
|
||||
|
@ -1985,7 +1985,7 @@ namespace AVFoundation {
|
|||
bool SetCategory (string category, AVAudioSessionCategoryOptions options, out NSError outError);
|
||||
|
||||
[NoMac]
|
||||
[iOS (10,0), TV (10,0), Watch (3,0)]
|
||||
[iOS (10,0), TV (10,0)]
|
||||
[Export ("setCategory:mode:options:error:")]
|
||||
bool SetCategory (string category, string mode, AVAudioSessionCategoryOptions options, out NSError outError);
|
||||
|
||||
|
@ -2471,7 +2471,7 @@ namespace AVFoundation {
|
|||
[Export ("UID")]
|
||||
string UID { get; }
|
||||
|
||||
[iOS (10, 0), TV (10,0), Watch (3,0)]
|
||||
[iOS (10, 0), TV (10,0)]
|
||||
[Export ("hasHardwareVoiceCallProcessing")]
|
||||
bool HasHardwareVoiceCallProcessing { get; }
|
||||
|
||||
|
@ -3077,11 +3077,11 @@ namespace AVFoundation {
|
|||
[Export ("overallDurationHint")]
|
||||
CMTime OverallDurationHint { get; }
|
||||
|
||||
[iOS (11, 0), TV (11, 0), Mac (10, 13), Watch (6,0)]
|
||||
[iOS (11, 0), TV (11, 0), Mac (10, 13)]
|
||||
[Export ("allMediaSelections")]
|
||||
AVMediaSelection[] AllMediaSelections { get; }
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Export ("minimumTimeOffsetFromLive")]
|
||||
CMTime MinimumTimeOffsetFromLive { get; }
|
||||
}
|
||||
|
@ -3365,7 +3365,6 @@ namespace AVFoundation {
|
|||
[Export ("flushFromSourceTime:completionHandler:")]
|
||||
void Flush (CMTime time, Action<bool> completionHandler);
|
||||
|
||||
[TV (11,0), Mac (10,13), iOS (11,0)]
|
||||
[Notification (typeof (AudioRendererWasFlushedAutomaticallyEventArgs))]
|
||||
[Field ("AVSampleBufferAudioRendererWasFlushedAutomaticallyNotification")]
|
||||
NSString AudioRendererWasFlushedAutomaticallyNotification { get; }
|
||||
|
@ -7382,7 +7381,7 @@ namespace AVFoundation {
|
|||
[Export ("insertMediaTimeRange:intoTimeRange:")]
|
||||
bool InsertMediaTimeRange (CMTimeRange mediaTimeRange, CMTimeRange trackTimeRange);
|
||||
|
||||
[Watch (6,0), NoTV, iOS (13,0), Mac (10,13)]
|
||||
[Mac (10,13)]
|
||||
[Export ("replaceFormatDescription:withFormatDescription:")]
|
||||
void ReplaceFormatDescription (CMFormatDescription formatDescription, CMFormatDescription newFormatDescription);
|
||||
}
|
||||
|
@ -10065,7 +10064,7 @@ namespace AVFoundation {
|
|||
[Field ("AVCaptureDeviceTypeBuiltInTelephotoCamera")]
|
||||
BuiltInTelephotoCamera,
|
||||
|
||||
[iOS (10, 0), NoMac]
|
||||
[NoMac]
|
||||
[Deprecated (PlatformName.iOS, 10, 2, message: "Use 'BuiltInDualCamera' instead.")]
|
||||
[Field ("AVCaptureDeviceTypeBuiltInDuoCamera")]
|
||||
BuiltInDuoCamera,
|
||||
|
@ -10579,7 +10578,7 @@ namespace AVFoundation {
|
|||
[Field ("AVCaptureISOCurrent")]
|
||||
float ISOCurrent { get; } /* float, not CGFloat */
|
||||
|
||||
[iOS (8,0), Watch (6,0), NoMac]
|
||||
[iOS (8,0), NoMac]
|
||||
[Field ("AVCaptureLensPositionCurrent")]
|
||||
float LensPositionCurrent { get; } /* float, not CGFloat */
|
||||
|
||||
|
@ -11060,12 +11059,12 @@ namespace AVFoundation {
|
|||
[Export ("initWithPreferredLanguages:preferredMediaCharacteristics:")]
|
||||
IntPtr Constructor ([NullAllowed] string [] preferredLanguages, [NullAllowed] NSString [] preferredMediaCharacteristics);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Export ("initWithPrincipalMediaCharacteristics:preferredLanguages:preferredMediaCharacteristics:")]
|
||||
IntPtr Constructor ([NullAllowed] [BindAs (typeof (AVMediaCharacteristics []))]NSString[] principalMediaCharacteristics, [NullAllowed] [BindAs (typeof (AVMediaCharacteristics []))] NSString[] preferredLanguages, [NullAllowed] string[] preferredMediaCharacteristics);
|
||||
|
||||
[BindAs (typeof (AVMediaCharacteristics []))]
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[NullAllowed, Export ("principalMediaCharacteristics")]
|
||||
NSString[] PrincipalMediaCharacteristics { get; }
|
||||
}
|
||||
|
@ -11479,24 +11478,24 @@ namespace AVFoundation {
|
|||
NSString _VideoApertureMode { get; set; }
|
||||
|
||||
[Notification]
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Field ("AVPlayerItemRecommendedTimeOffsetFromLiveDidChangeNotification")]
|
||||
NSString RecommendedTimeOffsetFromLiveDidChangeNotification { get; }
|
||||
|
||||
[Notification]
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Field ("AVPlayerItemMediaSelectionDidChangeNotification")]
|
||||
NSString MediaSelectionDidChangeNotification { get; }
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Export ("configuredTimeOffsetFromLive", ArgumentSemantic.Assign)]
|
||||
CMTime ConfiguredTimeOffsetFromLive { get; set; }
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Export ("recommendedTimeOffsetFromLive")]
|
||||
CMTime RecommendedTimeOffsetFromLive { get; }
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Export ("automaticallyPreservesTimeOffsetFromLive")]
|
||||
bool AutomaticallyPreservesTimeOffsetFromLive { get; set; }
|
||||
|
||||
|
@ -11988,11 +11987,11 @@ namespace AVFoundation {
|
|||
[Export ("observedBitrate")]
|
||||
double ObservedBitrate { get; }
|
||||
|
||||
[iOS (8,0), TV (9,0), Watch (6,0), Mac (10,10)]
|
||||
[iOS (8,0), TV (9,0), Mac (10,10)]
|
||||
[Export ("indicatedBitrate")]
|
||||
double IndicatedBitrate { get; }
|
||||
|
||||
[iOS (10, 0), TV (10,0), Watch (6,0), Mac (10, 12)]
|
||||
[iOS (10, 0), TV (10,0), Mac (10, 12)]
|
||||
[Export ("indicatedAverageBitrate")]
|
||||
double IndicatedAverageBitrate { get; }
|
||||
|
||||
|
@ -12327,7 +12326,7 @@ namespace AVFoundation {
|
|||
[Field ("AVSampleRateConverterAlgorithm_Mastering"), Internal]
|
||||
NSString AVSampleRateConverterAlgorithm_Mastering { get; }
|
||||
|
||||
[iOS (10, 0), TV (10,0), Watch (3,0), Mac (10,12)]
|
||||
[iOS (10, 0), TV (10,0), Mac (10,12)]
|
||||
[Field ("AVSampleRateConverterAlgorithm_MinimumPhase")]
|
||||
NSString AVSampleRateConverterAlgorithm_MinimumPhase { get; }
|
||||
|
||||
|
@ -12389,12 +12388,12 @@ namespace AVFoundation {
|
|||
[Export ("timebase", ArgumentSemantic.Retain)]
|
||||
CMTimebase Timebase { get; }
|
||||
|
||||
[iOS (8, 0), Mac (10,10)]
|
||||
[Mac (10,10)]
|
||||
[Field ("AVSampleBufferDisplayLayerFailedToDecodeNotification")]
|
||||
[Notification]
|
||||
NSString FailedToDecodeNotification { get; }
|
||||
|
||||
[iOS (8, 0), Mac (10,10)]
|
||||
[Mac (10,10)]
|
||||
[Field ("AVSampleBufferDisplayLayerFailedToDecodeNotificationErrorKey")]
|
||||
NSString FailedToDecodeNotificationErrorKey { get; }
|
||||
|
||||
|
@ -12470,7 +12469,7 @@ namespace AVFoundation {
|
|||
[Field ("AVSpeechSynthesisVoiceIdentifierAlex")]
|
||||
NSString IdentifierAlex { get; }
|
||||
|
||||
[iOS (10, 0), TV (10,0), Watch (3,0), Mac (10,15)]
|
||||
[iOS (10, 0), TV (10,0), Mac (10,15)]
|
||||
[Field ("AVSpeechSynthesisIPANotationAttribute")]
|
||||
NSString IpaNotationAttribute { get; }
|
||||
|
||||
|
@ -12680,7 +12679,7 @@ namespace AVFoundation {
|
|||
[Export ("URLAsset")]
|
||||
AVUrlAsset UrlAsset { get; }
|
||||
|
||||
[Availability (Introduced = Platform.iOS_9_0, Deprecated = Platform.iOS_10_0)]
|
||||
[Availability (Deprecated = Platform.iOS_10_0)]
|
||||
[Export ("destinationURL")]
|
||||
NSUrl DestinationUrl { get; }
|
||||
|
||||
|
@ -12753,7 +12752,7 @@ namespace AVFoundation {
|
|||
[Export ("sessionWithConfiguration:assetDownloadDelegate:delegateQueue:")]
|
||||
AVAssetDownloadUrlSession CreateSession (NSUrlSessionConfiguration configuration, [NullAllowed] IAVAssetDownloadDelegate @delegate, [NullAllowed] NSOperationQueue delegateQueue);
|
||||
|
||||
[Availability (Introduced = Platform.iOS_9_0, Deprecated = Platform.iOS_10_0, Message="Please use 'GetAssetDownloadTask (AVUrlAsset, string, NSData, NSDictionary<NSString, NSObject>)'.")]
|
||||
[Availability (Deprecated = Platform.iOS_10_0, Message="Please use 'GetAssetDownloadTask (AVUrlAsset, string, NSData, NSDictionary<NSString, NSObject>)'.")]
|
||||
[Export ("assetDownloadTaskWithURLAsset:destinationURL:options:")]
|
||||
[return: NullAllowed]
|
||||
AVAssetDownloadTask GetAssetDownloadTask (AVUrlAsset urlAsset, NSUrl destinationUrl, [NullAllowed] NSDictionary options);
|
||||
|
@ -13117,7 +13116,7 @@ namespace AVFoundation {
|
|||
|
||||
[Export ("audioComponentDescription")]
|
||||
AudioComponentDescription AudioComponentDescription { get; }
|
||||
[iOS (9,0), Mac (10,10)]
|
||||
|
||||
[Field ("AVAudioUnitComponentTagsDidChangeNotification")]
|
||||
[Notification]
|
||||
NSString TagsDidChangeNotification { get; }
|
||||
|
@ -13463,7 +13462,7 @@ namespace AVFoundation {
|
|||
[Export ("respondByRequestingPersistableContentKeyRequestAndReturnError:")]
|
||||
bool RespondByRequestingPersistableContentKeyRequest ([NullAllowed] out NSError error);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Field ("AVContentKeyRequestRequiresValidationDataInSecureTokenKey")]
|
||||
NSString RequiresValidationDataInSecureTokenKey { get; }
|
||||
}
|
||||
|
@ -13513,7 +13512,6 @@ namespace AVFoundation {
|
|||
[BaseType (typeof(NSObject))]
|
||||
interface AVRouteDetector {
|
||||
[Notification]
|
||||
[TV (11, 0), NoWatch, Mac (10, 13), iOS (11, 0)]
|
||||
[Field ("AVRouteDetectorMultipleRoutesDetectedDidChangeNotification")]
|
||||
NSString MultipleRoutesDetectedDidChange { get; }
|
||||
|
||||
|
@ -13608,36 +13606,31 @@ namespace AVFoundation {
|
|||
// From @interface AVCapturePhotoBracketedCapture (AVCapturePhoto)
|
||||
|
||||
#if !MONOMAC
|
||||
[iOS (11, 0)]
|
||||
[NullAllowed, Export ("bracketSettings")]
|
||||
AVCaptureBracketedStillImageSettings BracketSettings { get; }
|
||||
#endif
|
||||
|
||||
[iOS (11, 0), NoMac]
|
||||
[NoMac]
|
||||
[Export ("lensStabilizationStatus")]
|
||||
AVCaptureLensStabilizationStatus LensStabilizationStatus { get; }
|
||||
|
||||
[iOS (11, 0), NoMac]
|
||||
[NoMac]
|
||||
[Export ("sequenceCount")]
|
||||
nint SequenceCount { get; }
|
||||
|
||||
// @interface AVCapturePhotoConversions (AVCapturePhoto)
|
||||
[iOS (11, 0)]
|
||||
[NullAllowed, Export ("fileDataRepresentation")]
|
||||
NSData FileDataRepresentation { get; }
|
||||
|
||||
[iOS (11,0), NoMac]
|
||||
[NoMac]
|
||||
[Deprecated (PlatformName.iOS, 12, 0, message: "Use 'GetFileDataRepresentation' instead.")]
|
||||
[Export ("fileDataRepresentationWithReplacementMetadata:replacementEmbeddedThumbnailPhotoFormat:replacementEmbeddedThumbnailPixelBuffer:replacementDepthData:")]
|
||||
[return: NullAllowed]
|
||||
NSData GetFileDataRepresentation ([NullAllowed] NSDictionary<NSString, NSObject> replacementMetadata, [NullAllowed] NSDictionary<NSString, NSObject> replacementEmbeddedThumbnailPhotoFormat, [NullAllowed] CVPixelBuffer replacementEmbeddedThumbnailPixelBuffer, [NullAllowed] AVDepthData replacementDepthData);
|
||||
|
||||
|
||||
[iOS (11, 0)]
|
||||
[NullAllowed, Export ("CGImageRepresentation")]
|
||||
CGImage CGImageRepresentation { get; }
|
||||
|
||||
[iOS (11, 0)]
|
||||
[NullAllowed, Export ("previewCGImageRepresentation")]
|
||||
CGImage PreviewCGImageRepresentation { get; }
|
||||
|
||||
|
|
|
@ -98,11 +98,11 @@ namespace AVKit {
|
|||
[Export ("pictureInPictureButtonStopImageCompatibleWithTraitCollection:")]
|
||||
UIImage CreateStopButton ([NullAllowed] UITraitCollection traitCollection);
|
||||
|
||||
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
||||
[NoWatch, Mac (11, 0), iOS (14, 0)]
|
||||
[Export ("requiresLinearPlayback")]
|
||||
bool RequiresLinearPlayback { get; set; }
|
||||
|
||||
[TV (14, 0), NoWatch, NoMac, NoiOS]
|
||||
[NoWatch, NoMac, NoiOS]
|
||||
[Export ("canStopPictureInPicture")]
|
||||
bool CanStopPictureInPicture { get; }
|
||||
}
|
||||
|
|
|
@ -607,7 +607,6 @@ namespace CarPlay {
|
|||
[BaseType (typeof (NSObject))]
|
||||
interface CPManeuver : NSCopying, NSSecureCoding {
|
||||
|
||||
[Introduced (PlatformName.iOS, 12,0)]
|
||||
[Deprecated (PlatformName.iOS, 13,0, message: "Use 'CPManeuver.SymbolImage' instead.")]
|
||||
[NullAllowed, Export ("symbolSet", ArgumentSemantic.Strong)]
|
||||
CPImageSet SymbolSet { get; set; }
|
||||
|
|
|
@ -199,8 +199,6 @@ namespace CloudKit {
|
|||
interface CKContainer {
|
||||
|
||||
[NoWatch]
|
||||
[iOS (8, 0)]
|
||||
[Mac (10, 10)]
|
||||
[Deprecated (PlatformName.iOS, 10, 0, message : "Use 'CurrentUserDefaultName' instead.")]
|
||||
[Deprecated (PlatformName.MacOSX, 10, 12, message : "Use 'CurrentUserDefaultName' instead.")]
|
||||
[Field ("CKOwnerDefaultName")]
|
||||
|
@ -433,16 +431,12 @@ namespace CloudKit {
|
|||
[Export ("userRecordID", ArgumentSemantic.Copy)]
|
||||
CKRecordID UserRecordId { get; }
|
||||
|
||||
[iOS (8, 0)]
|
||||
[Mac (10, 10)]
|
||||
[Deprecated (PlatformName.MacOSX, 10, 11, message : "Use 'DisplayContact.GivenName'.")]
|
||||
[Deprecated (PlatformName.iOS, 9, 0, message : "Use 'DisplayContact.GivenName'.")]
|
||||
[NullAllowed]
|
||||
[Export ("firstName", ArgumentSemantic.Copy)]
|
||||
string FirstName { get; }
|
||||
|
||||
[iOS (8, 0)]
|
||||
[Mac (10, 10)]
|
||||
[Deprecated (PlatformName.MacOSX, 10, 11, message : "Use 'DisplayContact.FamilyName'.")]
|
||||
[Deprecated (PlatformName.iOS, 9, 0, message : "Use 'DisplayContact.FamilyName'.")]
|
||||
[NullAllowed]
|
||||
|
@ -1101,7 +1095,7 @@ namespace CloudKit {
|
|||
[NullAllowed, Export ("recordID", ArgumentSemantic.Copy)]
|
||||
CKRecordID RecordId { get; }
|
||||
|
||||
[iOS (10,0), Watch (3,0), TV (10,0), Mac (10,12)]
|
||||
[iOS (10,0), TV (10,0), Mac (10,12)]
|
||||
[Export ("databaseScope", ArgumentSemantic.Assign)]
|
||||
CKDatabaseScope DatabaseScope { get; }
|
||||
}
|
||||
|
@ -1116,7 +1110,7 @@ namespace CloudKit {
|
|||
[Export ("recordZoneID", ArgumentSemantic.Copy)]
|
||||
CKRecordZoneID RecordZoneId { get; }
|
||||
|
||||
[iOS (10,0), Watch (3,0), TV (10,0), Mac (10,12)]
|
||||
[iOS (10,0), TV (10,0), Mac (10,12)]
|
||||
[Export ("databaseScope", ArgumentSemantic.Assign)]
|
||||
CKDatabaseScope DatabaseScope { get; }
|
||||
}
|
||||
|
@ -1613,7 +1607,7 @@ namespace CloudKit {
|
|||
[Export ("predicate", ArgumentSemantic.Copy)]
|
||||
NSPredicate Predicate { get; }
|
||||
|
||||
[TV (10,0), Watch (6,0)]
|
||||
[TV (10,0)]
|
||||
[NullAllowed]
|
||||
[Export ("notificationInfo", ArgumentSemantic.Copy)]
|
||||
CKNotificationInfo NotificationInfo { get; set; }
|
||||
|
@ -1665,7 +1659,6 @@ namespace CloudKit {
|
|||
[Export ("desiredKeys", ArgumentSemantic.Copy)]
|
||||
string [] DesiredKeys { get; set; }
|
||||
|
||||
[TV (10, 0)]
|
||||
[Export ("shouldBadge", ArgumentSemantic.UnsafeUnretained)]
|
||||
bool ShouldBadge { get; set; }
|
||||
|
||||
|
|
|
@ -2696,11 +2696,9 @@ namespace CoreData
|
|||
NSError Error { get; }
|
||||
|
||||
[Notification]
|
||||
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
||||
[Field ("NSPersistentCloudKitContainerEventChangedNotification")]
|
||||
NSString ChangedNotification { get; }
|
||||
|
||||
[Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)]
|
||||
[Field ("NSPersistentCloudKitContainerEventUserInfoKey")]
|
||||
NSString UserInfoKey { get; }
|
||||
}
|
||||
|
|
|
@ -2238,7 +2238,7 @@ namespace CoreImage {
|
|||
[Export ("setROISelector:")]
|
||||
void SetRegionOfInterestSelector (Selector aMethod);
|
||||
#endif
|
||||
[iOS (8,0), Mac (10,11)]
|
||||
[Mac (10,11)]
|
||||
[Export ("applyWithExtent:roiCallback:arguments:")]
|
||||
CIImage ApplyWithExtent (CGRect extent, CIKernelRoiCallback callback, [NullAllowed] NSObject [] args);
|
||||
}
|
||||
|
@ -2294,7 +2294,6 @@ namespace CoreImage {
|
|||
CIImageAccumulator FromRectangle (CGRect rect, int ciImageFormat);
|
||||
#endif
|
||||
|
||||
[iOS (9,0)]
|
||||
[Static]
|
||||
[Export ("imageAccumulatorWithExtent:format:colorSpace:")]
|
||||
CIImageAccumulator FromRectangle (CGRect extent, CIFormat format, CGColorSpace colorSpace);
|
||||
|
|
|
@ -169,11 +169,11 @@ namespace CoreMedia {
|
|||
[Field ("kCMSampleBufferAttachmentKey_CameraIntrinsicMatrix")]
|
||||
NSString CameraIntrinsicMatrixKey { get; }
|
||||
|
||||
[iOS (13,0), Mac (10,15), TV (13,0), Watch (6,0)]
|
||||
[iOS (13,0), Mac (10,15), TV (13,0)]
|
||||
[Field ("kCMSampleAttachmentKey_AudioIndependentSampleDecoderRefreshCount")]
|
||||
NSString AudioIndependentSampleDecoderRefreshCountKey { get; }
|
||||
|
||||
[Mac (10,10), Watch (6,0)]
|
||||
[Mac (10,10)]
|
||||
[Field ("kCMSampleBufferAttachmentKey_ForceKeyFrame")]
|
||||
NSString ForceKeyFrameKey { get; }
|
||||
}
|
||||
|
@ -208,10 +208,10 @@ namespace CoreMedia {
|
|||
[iOS (11,0), Mac (10,13), TV (11,0)]
|
||||
NSData CameraIntrinsicMatrix { get; set; }
|
||||
|
||||
[iOS (13,0), Mac (10,15), TV (13,0), Watch (6,0)]
|
||||
[iOS (13,0), Mac (10,15), TV (13,0)]
|
||||
nint AudioIndependentSampleDecoderRefreshCount { get; set; }
|
||||
|
||||
[Mac (10,10), Watch (6,0)]
|
||||
[Mac (10,10)]
|
||||
bool ForceKeyFrame { get; set; }
|
||||
}
|
||||
|
||||
|
|
|
@ -212,7 +212,6 @@ namespace ExternalAccessory {
|
|||
|
||||
#if !MONOMAC
|
||||
[NoTV]
|
||||
[iOS (8,0)]
|
||||
[Export ("configureAccessory:withConfigurationUIOnViewController:")]
|
||||
void ConfigureAccessory (EAWiFiUnconfiguredAccessory accessory, UIViewController viewController);
|
||||
#endif
|
||||
|
|
|
@ -11969,37 +11969,37 @@ namespace Foundation
|
|||
[Export ("old")]
|
||||
bool Old { [Bind ("isOld")] get; }
|
||||
#endif
|
||||
[iOS (7,0), Field ("NSProgressKindFile")]
|
||||
[Field ("NSProgressKindFile")]
|
||||
NSString KindFile { get; }
|
||||
|
||||
[iOS (7,0), Field ("NSProgressEstimatedTimeRemainingKey")]
|
||||
[Field ("NSProgressEstimatedTimeRemainingKey")]
|
||||
NSString EstimatedTimeRemainingKey { get; }
|
||||
|
||||
[iOS (7,0), Field ("NSProgressThroughputKey")]
|
||||
[Field ("NSProgressThroughputKey")]
|
||||
NSString ThroughputKey { get; }
|
||||
|
||||
[iOS (7,0), Field ("NSProgressFileOperationKindKey")]
|
||||
[Field ("NSProgressFileOperationKindKey")]
|
||||
NSString FileOperationKindKey { get; }
|
||||
|
||||
[iOS (7,0), Field ("NSProgressFileOperationKindDownloading")]
|
||||
[Field ("NSProgressFileOperationKindDownloading")]
|
||||
NSString FileOperationKindDownloading { get; }
|
||||
|
||||
[iOS (7,0), Field ("NSProgressFileOperationKindDecompressingAfterDownloading")]
|
||||
[Field ("NSProgressFileOperationKindDecompressingAfterDownloading")]
|
||||
NSString FileOperationKindDecompressingAfterDownloading { get; }
|
||||
|
||||
[iOS (7,0), Field ("NSProgressFileOperationKindReceiving")]
|
||||
[Field ("NSProgressFileOperationKindReceiving")]
|
||||
NSString FileOperationKindReceiving { get; }
|
||||
|
||||
[iOS (7,0), Field ("NSProgressFileOperationKindCopying")]
|
||||
[Field ("NSProgressFileOperationKindCopying")]
|
||||
NSString FileOperationKindCopying { get; }
|
||||
|
||||
[iOS (7,0), Field ("NSProgressFileURLKey")]
|
||||
[Field ("NSProgressFileURLKey")]
|
||||
NSString FileURLKey { get; }
|
||||
|
||||
[iOS (7,0), Field ("NSProgressFileTotalCountKey")]
|
||||
[Field ("NSProgressFileTotalCountKey")]
|
||||
NSString FileTotalCountKey { get; }
|
||||
|
||||
[iOS (7,0), Field ("NSProgressFileCompletedCountKey")]
|
||||
[Field ("NSProgressFileCompletedCountKey")]
|
||||
NSString FileCompletedCountKey { get; }
|
||||
|
||||
#if MONOMAC
|
||||
|
|
|
@ -831,7 +831,6 @@ namespace GameKit {
|
|||
[NullAllowed] // by default this property is null
|
||||
[Export ("authenticateHandler", ArgumentSemantic.Copy)]
|
||||
#if WATCH
|
||||
[Watch (3,0)]
|
||||
Action<NSError> AuthenticateHandler { get; set; }
|
||||
#elif !MONOMAC
|
||||
Action<UIViewController, NSError> AuthenticateHandler { get; set; }
|
||||
|
|
|
@ -102,13 +102,13 @@ namespace HealthKit {
|
|||
|
||||
[NoWatch]
|
||||
[Obsolete ("Use the overload that takes HKAnchoredObjectResultHandler2 instead")]
|
||||
[Availability (Introduced = Platform.iOS_8_0, Deprecated = Platform.iOS_9_0)]
|
||||
[Availability (Deprecated = Platform.iOS_9_0)]
|
||||
[Export ("initWithType:predicate:anchor:limit:completionHandler:")]
|
||||
IntPtr Constructor (HKSampleType type, [NullAllowed] NSPredicate predicate, nuint anchor, nuint limit, HKAnchoredObjectResultHandler completion);
|
||||
|
||||
[NoWatch]
|
||||
[Sealed]
|
||||
[Availability (Introduced = Platform.iOS_8_0, Deprecated = Platform.iOS_9_0)]
|
||||
[Availability (Deprecated = Platform.iOS_9_0)]
|
||||
[Export ("initWithType:predicate:anchor:limit:completionHandler:")]
|
||||
IntPtr Constructor (HKSampleType type, [NullAllowed] NSPredicate predicate, nuint anchor, nuint limit, HKAnchoredObjectResultHandler2 completion);
|
||||
|
||||
|
@ -540,13 +540,11 @@ namespace HealthKit {
|
|||
void AddSamples (HKSample [] samples, HKWorkout workout, HKStoreSampleAddedCallback callback);
|
||||
|
||||
[NoiOS]
|
||||
[Watch (2,0)]
|
||||
[Deprecated (PlatformName.WatchOS, 5, 0, message: "Use 'HKWorkoutSession.Start' instead.")]
|
||||
[Export ("startWorkoutSession:")]
|
||||
void StartWorkoutSession (HKWorkoutSession workoutSession);
|
||||
|
||||
[NoiOS]
|
||||
[Watch (2,0)]
|
||||
[Deprecated (PlatformName.WatchOS, 5, 0, message: "Use 'HKWorkoutSession.End' instead.")]
|
||||
[Export ("endWorkoutSession:")]
|
||||
void EndWorkoutSession (HKWorkoutSession workoutSession);
|
||||
|
@ -954,7 +952,7 @@ namespace HealthKit {
|
|||
[Export ("UUID", ArgumentSemantic.Strong)]
|
||||
NSUuid Uuid { get; }
|
||||
|
||||
[Availability (Introduced = Platform.iOS_8_0, Deprecated = Platform.iOS_9_0)]
|
||||
[Availability (Deprecated = Platform.iOS_9_0)]
|
||||
[Export ("source", ArgumentSemantic.Strong)]
|
||||
HKSource Source { get; }
|
||||
|
||||
|
@ -1226,7 +1224,6 @@ namespace HealthKit {
|
|||
|
||||
[Deprecated (PlatformName.WatchOS, 2,2, message: "Use 'ObjectType' property.")]
|
||||
[Deprecated (PlatformName.iOS, 9,3, message: "Use 'ObjectType' property.")]
|
||||
[Watch (2,0)]
|
||||
[NullAllowed, Export ("sampleType", ArgumentSemantic.Strong)]
|
||||
HKSampleType SampleType { get; }
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ namespace HomeKit {
|
|||
|
||||
[NoTV]
|
||||
[NoWatch]
|
||||
[Availability (Introduced = Platform.iOS_8_0, Deprecated = Platform.iOS_9_0)]
|
||||
[Availability (Deprecated = Platform.iOS_9_0)]
|
||||
[Export ("identifier", ArgumentSemantic.Copy)]
|
||||
NSUuid Identifier { get; }
|
||||
|
||||
|
@ -123,7 +123,7 @@ namespace HomeKit {
|
|||
|
||||
[NoTV]
|
||||
[NoWatch]
|
||||
[Availability (Introduced = Platform.iOS_8_0, Deprecated = Platform.iOS_9_0)]
|
||||
[Availability (Deprecated = Platform.iOS_9_0)]
|
||||
[Export ("identifiersForBridgedAccessories", ArgumentSemantic.Copy)]
|
||||
NSUuid [] IdentifiersForBridgedAccessories { get; }
|
||||
|
||||
|
@ -720,13 +720,13 @@ namespace HomeKit {
|
|||
|
||||
[NoTV]
|
||||
[NoWatch]
|
||||
[Availability (Introduced = Platform.iOS_8_0, Deprecated = Platform.iOS_9_0)]
|
||||
[Availability (Deprecated = Platform.iOS_9_0)]
|
||||
[Export ("users")]
|
||||
HMUser [] Users { get; }
|
||||
|
||||
[NoTV]
|
||||
[NoWatch]
|
||||
[Availability (Introduced = Platform.iOS_8_0, Deprecated = Platform.iOS_9_0, Message = "Use 'ManageUsers' instead.")]
|
||||
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use 'ManageUsers' instead.")]
|
||||
[Async]
|
||||
[Export ("addUserWithCompletionHandler:")]
|
||||
void AddUser (Action<HMUser,NSError> completion);
|
||||
|
|
|
@ -231,7 +231,7 @@ namespace iAd {
|
|||
[Export ("sharedClient")]
|
||||
ADClient SharedClient { get; }
|
||||
|
||||
[Availability (Introduced = Platform.iOS_7_1, Deprecated = Platform.iOS_9_0, Message = "Replaced by 'RequestAttributionDetails'.")]
|
||||
[Availability (Deprecated = Platform.iOS_9_0, Message = "Replaced by 'RequestAttributionDetails'.")]
|
||||
[Export ("determineAppInstallationAttributionWithCompletionHandler:")]
|
||||
void DetermineAppInstallationAttribution (AttributedToiAdCompletionHandler completionHandler);
|
||||
|
||||
|
|
|
@ -3709,7 +3709,7 @@ namespace Intents {
|
|||
[Export ("imageNamed:")]
|
||||
INImage FromName (string name);
|
||||
|
||||
[Watch (7,0), TV (14,0), NoMac, iOS (14,0)]
|
||||
[Watch (7,0), NoMac, iOS (14,0)]
|
||||
[Static]
|
||||
[Export ("systemImageNamed:")]
|
||||
INImage FromSystem (string systemImageName);
|
||||
|
@ -4390,13 +4390,9 @@ namespace Intents {
|
|||
[NullAllowed, Export ("customIdentifier")]
|
||||
string CustomIdentifier { get; }
|
||||
|
||||
[iOS (10, 0)]
|
||||
[Mac (10, 12, 2, PlatformArchitecture.Arch64)]
|
||||
[NullAllowed, Export ("relationship"), Protected]
|
||||
NSString WeakRelationship { get; }
|
||||
|
||||
[iOS (10, 0)]
|
||||
[Mac (10, 12, 2, PlatformArchitecture.Arch64)]
|
||||
[Wrap ("INPersonRelationshipExtensions.GetValue (WeakRelationship)")]
|
||||
INPersonRelationship Relationship { get; }
|
||||
|
||||
|
|
|
@ -77,11 +77,10 @@ namespace JavaScriptCore {
|
|||
#endregion
|
||||
|
||||
/* C API Bridging functions */
|
||||
[Mac (10,9), iOS (7,0)]
|
||||
|
||||
[Static, Export ("contextWithJSGlobalContextRef:")]
|
||||
JSContext FromJSGlobalContextRef (IntPtr nativeJsGlobalContextRef);
|
||||
|
||||
[Mac (10,9), iOS (7,0)]
|
||||
[Export ("JSGlobalContextRef")]
|
||||
IntPtr JSGlobalContextRefPtr { get; }
|
||||
}
|
||||
|
@ -295,7 +294,6 @@ namespace JavaScriptCore {
|
|||
|
||||
#endregion
|
||||
|
||||
[Mac (10,9), iOS (7,0)]
|
||||
[Static, Export ("valueWithJSValueRef:inContext:")]
|
||||
JSValue FromJSJSValueRef (IntPtr nativeJsValueRefvalue, JSContext context);
|
||||
|
||||
|
|
|
@ -1225,7 +1225,7 @@ namespace MapKit {
|
|||
interface MKLocalSearchRequest : NSCopying {
|
||||
|
||||
[DesignatedInitializer]
|
||||
[TV (9,2)][NoWatch][iOS (9,3)][Mac (10,11,4)]
|
||||
[NoWatch][iOS (9,3)][Mac (10,11,4)]
|
||||
[Export ("initWithCompletion:")]
|
||||
IntPtr Constructor (MKLocalSearchCompletion completion);
|
||||
|
||||
|
@ -2168,7 +2168,6 @@ namespace MapKit {
|
|||
[DisableDefaultCtor]
|
||||
interface MKLocalPointsOfInterestRequest : NSCopying
|
||||
{
|
||||
[TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)]
|
||||
[Field ("MKPointsOfInterestRequestMaxRadius")]
|
||||
double RequestMaxRadius { get; }
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ namespace MediaPlayer {
|
|||
[Field ("MPMediaEntityPropertyPersistentID")]
|
||||
NSString PropertyPersistentID { get; }
|
||||
|
||||
[NoiOS, NoMac, Watch (5,0)]
|
||||
[NoiOS, NoMac]
|
||||
[Export ("persistentID")]
|
||||
ulong PersistentID { get; }
|
||||
|
||||
|
@ -1443,7 +1443,6 @@ namespace MediaPlayer {
|
|||
[iOS (11,0)]
|
||||
[TV (11,0)]
|
||||
[Mac (10,13)]
|
||||
[Watch (5,0)]
|
||||
[Field ("MPNowPlayingInfoPropertyServiceIdentifier")]
|
||||
NSString PropertyServiceIdentifier { get; }
|
||||
|
||||
|
@ -1650,7 +1649,7 @@ namespace MediaPlayer {
|
|||
[Export ("contentLimitsEnforced")]
|
||||
bool ContentLimitsEnforced { get; }
|
||||
|
||||
[Availability (Introduced = Platform.iOS_8_4, Deprecated = Platform.iOS_9_0, Message = "Replaced by 'ContentLimitsEnforced'.")]
|
||||
[Availability (Deprecated = Platform.iOS_9_0, Message = "Replaced by 'ContentLimitsEnforced'.")]
|
||||
[Export ("contentLimitsEnabled")]
|
||||
bool ContentLimitsEnabled { get; }
|
||||
|
||||
|
|
|
@ -65,7 +65,6 @@ namespace Messages {
|
|||
[Protocol]
|
||||
interface MSMessagesAppTranscriptPresentation
|
||||
{
|
||||
[iOS (11,0)]
|
||||
[Abstract]
|
||||
[Export ("contentSizeThatFits:")]
|
||||
CGSize GetContentSizeThatFits (CGSize size);
|
||||
|
|
|
@ -1908,9 +1908,7 @@ namespace MetalPerformanceShaders {
|
|||
MPSMatrixDescriptor Create (nuint rows, nuint columns, nuint rowBytes, MPSDataType dataType);
|
||||
|
||||
[Static]
|
||||
[Introduced (PlatformName.iOS, 10, 0)]
|
||||
[Deprecated (PlatformName.iOS, 11, 0)]
|
||||
[Introduced (PlatformName.TvOS, 10, 0)]
|
||||
[Deprecated (PlatformName.TvOS, 11, 0)]
|
||||
[Unavailable (PlatformName.MacCatalyst)]
|
||||
[Export ("rowBytesFromColumns:dataType:")]
|
||||
|
@ -7251,7 +7249,6 @@ namespace MetalPerformanceShaders {
|
|||
[Export ("reloadWeightsAndBiasesFromDataSource")]
|
||||
void ReloadWeightsAndBiasesFromDataSource ();
|
||||
|
||||
[TV (11,3), Mac (10,13,4), iOS (11,3)]
|
||||
[Export ("reloadWeightsAndBiasesWithCommandBuffer:state:")]
|
||||
void ReloadWeightsAndBiases (IMTLCommandBuffer commandBuffer, MPSCnnConvolutionWeightsAndBiasesState state);
|
||||
}
|
||||
|
@ -7964,7 +7961,6 @@ namespace MetalPerformanceShaders {
|
|||
[NullAllowed, Export ("data", ArgumentSemantic.Retain)]
|
||||
NSData Data { get; }
|
||||
|
||||
[TV (11, 0), Mac (10, 13), iOS (11, 0)]
|
||||
[Export ("initWithDevice:neuronDescriptor:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (IMTLDevice device, MPSNNNeuronDescriptor neuronDescriptor);
|
||||
|
|
|
@ -58,7 +58,7 @@ namespace MetricKit {
|
|||
NSMeasurement<NSUnitDuration> CumulativeGpuTime { get; }
|
||||
}
|
||||
|
||||
// NSUnit is added as a parent to ensure that the intermediate tmp dll can be comppiled
|
||||
// NSUnit is added as a parent to ensure that the intermediate tmp dll can be compiled
|
||||
// since at this stage the compiler does not know about the inheritance of NSDimension.
|
||||
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
||||
[BaseType (typeof(NSDimension))]
|
||||
|
@ -74,7 +74,7 @@ namespace MetricKit {
|
|||
MXUnitSignalBars Bars { get; }
|
||||
}
|
||||
|
||||
// NSUnit is added as a parent to ensure that the intermediate tmp dll can be comppiled
|
||||
// NSUnit is added as a parent to ensure that the intermediate tmp dll can be compiled
|
||||
// since at this stage the compiler does not know about the inheritance of NSDimension.
|
||||
[NoWatch, NoTV, NoMac, iOS (13,0)]
|
||||
[BaseType (typeof(NSDimension))]
|
||||
|
|
|
@ -237,7 +237,6 @@ namespace ModelIO {
|
|||
[Export ("animations", ArgumentSemantic.Retain)]
|
||||
IMDLObjectContainerComponent Animations { get; set; }
|
||||
|
||||
[iOS (9,0), Mac(10,11)]
|
||||
[Static]
|
||||
[Export ("assetWithSCNScene:")]
|
||||
MDLAsset FromScene (SCNScene scene);
|
||||
|
@ -402,7 +401,6 @@ namespace ModelIO {
|
|||
[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] set;
|
||||
}
|
||||
|
||||
[iOS (9,0), Mac(10,11)]
|
||||
[Static]
|
||||
[Export ("cameraWithSCNCamera:")]
|
||||
MDLCamera FromSceneCamera (SCNCamera sceneCamera);
|
||||
|
@ -475,7 +473,6 @@ namespace ModelIO {
|
|||
// No documentation to confirm but this should be a constant (hence NSString).
|
||||
NSString ColorSpace { get; set; }
|
||||
|
||||
[iOS (9,0), Mac(10,11)]
|
||||
[Static]
|
||||
[Export ("lightWithSCNLight:")]
|
||||
MDLLight FromSceneLight (SCNLight sceneLight);
|
||||
|
@ -574,7 +571,6 @@ namespace ModelIO {
|
|||
[Export ("materialFace", ArgumentSemantic.Assign)]
|
||||
MDLMaterialFace MaterialFace { get; set; }
|
||||
|
||||
[iOS (9,0), Mac(10,11)]
|
||||
[Static]
|
||||
[Export ("materialWithSCNMaterial:")]
|
||||
MDLMaterial FromSceneMaterial (SCNMaterial material);
|
||||
|
@ -1010,7 +1006,6 @@ namespace ModelIO {
|
|||
[Export ("generateLightMapVertexColorsWithLightsToConsider:objectsToConsider:vertexAttributeNamed:")]
|
||||
bool GenerateLightMapVertexColors (MDLLight [] lightsToConsider, MDLObject [] objectsToConsider, string vertexAttributeName);
|
||||
|
||||
[iOS (9,0), Mac(10,11)]
|
||||
[Static]
|
||||
[Export ("meshWithSCNGeometry:")]
|
||||
MDLMesh FromGeometry (SCNGeometry geometry);
|
||||
|
@ -1246,7 +1241,6 @@ namespace ModelIO {
|
|||
[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
|
||||
MDLAxisAlignedBoundingBox GetBoundingBox (double atTime);
|
||||
|
||||
[iOS (9,0), Mac(10,11)]
|
||||
[Static]
|
||||
[Export ("objectWithSCNNode:")]
|
||||
MDLObject FromNode (SCNNode node);
|
||||
|
|
|
@ -492,7 +492,7 @@ namespace PassKit {
|
|||
[NullAllowed, Export ("billingContact", ArgumentSemantic.Strong)]
|
||||
PKContact BillingContact { get; set; }
|
||||
|
||||
[Watch (3,0)][iOS (10,0)]
|
||||
[iOS (10,0)]
|
||||
[Static]
|
||||
[Export ("availableNetworks")]
|
||||
NSString[] AvailableNetworks { get; }
|
||||
|
@ -910,12 +910,10 @@ namespace PassKit {
|
|||
NSString CartesBancaires { get; }
|
||||
|
||||
[iOS (9,2)]
|
||||
[Watch (2,2)]
|
||||
[Field ("PKPaymentNetworkChinaUnionPay")]
|
||||
NSString ChinaUnionPay { get; }
|
||||
|
||||
[iOS (9,2)]
|
||||
[Watch (2,2)]
|
||||
[Field ("PKPaymentNetworkInterac")]
|
||||
NSString Interac { get; }
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ namespace ReplayKit {
|
|||
[Export ("previewControllerDelegate", ArgumentSemantic.Weak)][NullAllowed]
|
||||
IRPPreviewViewControllerDelegate PreviewControllerDelegate { get; set; }
|
||||
|
||||
[TV (10, 0), NoiOS]
|
||||
[NoiOS]
|
||||
[NoMac]
|
||||
[Export ("mode", ArgumentSemantic.Assign)]
|
||||
RPPreviewViewControllerMode Mode { get; set; }
|
||||
|
|
|
@ -200,11 +200,9 @@ namespace SceneKit {
|
|||
void ResumeAnimation (NSString key);
|
||||
|
||||
[Abstract]
|
||||
[Watch (3, 0)]
|
||||
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
|
||||
[TV (9, 0)]
|
||||
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
|
||||
[iOS (8, 0)]
|
||||
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
|
||||
[Mac (10, 9)]
|
||||
[Deprecated (PlatformName.MacOSX, 10, 13,message: "Use 'SCNAnimationPlayer.Paused' instead.")]
|
||||
|
@ -397,15 +395,15 @@ namespace SceneKit {
|
|||
[Static, Export ("camera")]
|
||||
SCNCamera Create ();
|
||||
|
||||
[iOS (8,0)][Mac (10,9)]
|
||||
[Mac (10,9)]
|
||||
[Export ("projectionTransform")]
|
||||
SCNMatrix4 ProjectionTransform { get; [Mac (10,9)] set; }
|
||||
|
||||
[iOS (8,0)][Mac (10,9)]
|
||||
[Mac (10,9)]
|
||||
[Export ("automaticallyAdjustsZRange")]
|
||||
bool AutomaticallyAdjustsZRange { get; set; }
|
||||
|
||||
[iOS (8,0)][Mac (10,9)]
|
||||
[Mac (10,9)]
|
||||
[Export ("orthographicScale")]
|
||||
double OrthographicScale { get; set; }
|
||||
|
||||
|
@ -413,7 +411,7 @@ namespace SceneKit {
|
|||
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'FocusDistance' instead.")]
|
||||
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'FocusDistance' instead.")]
|
||||
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'FocusDistance' instead.")]
|
||||
[iOS (8,0)][Mac (10,9)]
|
||||
[Mac (10,9)]
|
||||
[Export ("focalDistance")]
|
||||
nfloat FocalDistance { get; set; }
|
||||
|
||||
|
@ -421,7 +419,7 @@ namespace SceneKit {
|
|||
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'FocusDistance' instead.")]
|
||||
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'FocusDistance' instead.")]
|
||||
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'FocusDistance' instead.")]
|
||||
[iOS (8,0)][Mac (10,9)]
|
||||
[Mac (10,9)]
|
||||
[Export ("focalSize")]
|
||||
nfloat FocalSize { get; set; }
|
||||
|
||||
|
@ -429,7 +427,7 @@ namespace SceneKit {
|
|||
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'FStop' instead.")]
|
||||
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'FStop' instead.")]
|
||||
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'FStop' instead.")]
|
||||
[iOS (8,0)][Mac (10,9)]
|
||||
[Mac (10,9)]
|
||||
[Export ("focalBlurRadius")]
|
||||
nfloat FocalBlurRadius { get; set; }
|
||||
|
||||
|
@ -437,7 +435,7 @@ namespace SceneKit {
|
|||
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'FStop' instead with FStop = SensorHeight / Aperture.")]
|
||||
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'FStop' instead with FStop = SensorHeight / Aperture.")]
|
||||
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'FStop' instead with FStop = SensorHeight / Aperture.")]
|
||||
[iOS (8,0)][Mac (10,9)]
|
||||
[Mac (10,9)]
|
||||
[Export ("aperture")]
|
||||
nfloat Aperture { get; set; }
|
||||
|
||||
|
@ -521,7 +519,7 @@ namespace SceneKit {
|
|||
[Export ("colorGrading")]
|
||||
SCNMaterialProperty ColorGrading { get; }
|
||||
|
||||
[iOS (8,0)][Mac (10,10)]
|
||||
[Mac (10,10)]
|
||||
[Export ("categoryBitMask")]
|
||||
nuint CategoryBitMask { get; set; }
|
||||
|
||||
|
@ -1130,7 +1128,7 @@ namespace SceneKit {
|
|||
[Field ("SCNHitTestRootNodeKey")]
|
||||
NSString RootNodeKey { get; }
|
||||
|
||||
[Mac (10,9), iOS (8,0)]
|
||||
[Mac (10,9)]
|
||||
[Field ("SCNHitTestIgnoreHiddenNodesKey")]
|
||||
NSString IgnoreHiddenNodesKey { get; }
|
||||
|
||||
|
@ -1320,7 +1318,7 @@ namespace SceneKit {
|
|||
[Export ("zFar")]
|
||||
nfloat ZFar { get; set; }
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[Export ("categoryBitMask")]
|
||||
nuint CategoryBitMask { get; set; }
|
||||
|
||||
|
@ -2644,15 +2642,14 @@ namespace SceneKit {
|
|||
|
||||
|
||||
|
||||
[Mac (10,9), iOS (8,0)]
|
||||
[Field ("SCNSceneExportDestinationURL")]
|
||||
NSString ExportDestinationUrl { get; }
|
||||
|
||||
[Mac (10,10), iOS (8,0)] // More 32-bit brokenness - 17710842
|
||||
[Mac (10,10)] // More 32-bit brokenness - 17710842
|
||||
[Export ("physicsWorld")]
|
||||
SCNPhysicsWorld PhysicsWorld { get; }
|
||||
|
||||
[Mac (10,9), iOS (8,0)]
|
||||
[Mac (10,9)]
|
||||
[Export ("background")]
|
||||
SCNMaterialProperty Background { get; }
|
||||
|
||||
|
@ -2660,42 +2657,41 @@ namespace SceneKit {
|
|||
[Export ("lightingEnvironment")]
|
||||
SCNMaterialProperty LightingEnvironment { get; }
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[Export ("fogStartDistance")]
|
||||
nfloat FogStartDistance { get; set; }
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[Export ("fogEndDistance")]
|
||||
nfloat FogEndDistance { get; set; }
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[Export ("fogDensityExponent")]
|
||||
nfloat FogDensityExponent { get; set; }
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[Export ("fogColor", ArgumentSemantic.Retain)]
|
||||
NSObject FogColor { get; set; }
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[Export ("paused")]
|
||||
bool Paused { [Bind ("isPaused")] get; set; }
|
||||
|
||||
[Mac (10,9), iOS (8,0)]
|
||||
[Static, Export ("sceneNamed:")]
|
||||
SCNScene FromFile (string name);
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[Static, Export ("sceneNamed:inDirectory:options:")]
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
SCNScene FromFile (string name, [NullAllowed] string directory, [NullAllowed] NSDictionary options);
|
||||
|
||||
[Mac (10,10), iOS (8,0)]
|
||||
[Mac (10,10)]
|
||||
[Static, Wrap ("FromFile (name, directory, options.GetDictionary ())")]
|
||||
SCNScene FromFile (string name, string directory, SCNSceneLoadingOptions options);
|
||||
|
||||
// Keeping here the same name WriteToUrl for iOS and friends because it is how it was bound
|
||||
// initialy for macOS and having it named diferently would hurt shared code
|
||||
[TV (10, 0), NoWatch, Mac (10, 9), iOS (10, 0)]
|
||||
[TV (10, 0), NoWatch, iOS (10, 0)]
|
||||
[Export ("writeToURL:options:delegate:progressHandler:")]
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
bool WriteToUrl (NSUrl url,
|
||||
|
@ -2703,7 +2699,7 @@ namespace SceneKit {
|
|||
[NullAllowed] ISCNSceneExportDelegate aDelegate,
|
||||
[NullAllowed] SCNSceneExportProgressHandler exportProgressHandler);
|
||||
|
||||
[TV (10, 0), NoWatch, Mac (10, 9), iOS (10, 0)]
|
||||
[TV (10, 0), NoWatch, iOS (10, 0)]
|
||||
[Wrap ("WriteToUrl (url, options.GetDictionary (), handler, exportProgressHandler)")]
|
||||
bool WriteToUrl (NSUrl url, SCNSceneLoadingOptions options, ISCNSceneExportDelegate handler, SCNSceneExportProgressHandler exportProgressHandler);
|
||||
|
||||
|
@ -2736,7 +2732,7 @@ namespace SceneKit {
|
|||
[Field ("SCNSceneFrameRateAttributeKey")]
|
||||
NSString FrameRateAttributeKey { get; }
|
||||
|
||||
[iOS (8,0)][Mac (10,10)]
|
||||
[Mac (10,10)]
|
||||
[Field ("SCNSceneUpAxisAttributeKey")]
|
||||
NSString UpAxisAttributeKey { get; }
|
||||
|
||||
|
@ -2875,34 +2871,34 @@ namespace SceneKit {
|
|||
NSString UseSafeModeKey { get; }
|
||||
|
||||
[Mac(10,10)]
|
||||
[iOS (8,0)] // header said NA and docs says "Available in iOS 8.0 through iOS 8.2." but it's back on iOS11
|
||||
// header said NA and docs says "Available in iOS 8.0 through iOS 8.2." but it's back on iOS11
|
||||
[TV (11,0), Watch (4,0)]
|
||||
[Field ("SCNSceneSourceConvertUnitsToMetersKey")]
|
||||
NSString ConvertUnitsToMetersKey { get; }
|
||||
|
||||
[Mac(10,10)]
|
||||
[iOS (8,0)] // header said NA and docs says "Available in iOS 8.0 through iOS 8.2." but it's back on iOS11
|
||||
// header said NA and docs says "Available in iOS 8.0 through iOS 8.2." but it's back on iOS11
|
||||
[TV (11,0), Watch (4,0)]
|
||||
[Field ("SCNSceneSourceConvertToYUpKey")]
|
||||
NSString ConvertToYUpKey { get; }
|
||||
|
||||
[Mac(10,10), iOS(8,0)]
|
||||
[Mac(10,10)]
|
||||
[Field ("SCNSceneSourceAnimationImportPolicyKey")]
|
||||
NSString AnimationImportPolicyKey { get; }
|
||||
|
||||
[Mac(10,10), iOS(8,0)]
|
||||
[Mac(10,10)]
|
||||
[Field ("SCNSceneSourceAnimationImportPolicyPlay")]
|
||||
NSString AnimationImportPolicyPlay { get; }
|
||||
|
||||
[Mac(10,10), iOS(8,0)]
|
||||
[Mac(10,10)]
|
||||
[Field ("SCNSceneSourceAnimationImportPolicyPlayRepeatedly")]
|
||||
NSString AnimationImportPolicyPlayRepeatedly { get; }
|
||||
|
||||
[Mac(10,10), iOS(8,0)]
|
||||
[Mac(10,10)]
|
||||
[Field ("SCNSceneSourceAnimationImportPolicyDoNotPlay")]
|
||||
NSString AnimationImportPolicyDoNotPlay { get; }
|
||||
|
||||
[Mac(10,10), iOS(8,0)]
|
||||
[Mac(10,10)]
|
||||
[Field ("SCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase")]
|
||||
NSString AnimationImportPolicyPlayUsingSceneTimeBase { get; }
|
||||
|
||||
|
@ -3472,7 +3468,7 @@ namespace SceneKit {
|
|||
[Export ("stop:")]
|
||||
void Stop ([NullAllowed] NSObject sender);
|
||||
|
||||
[iOS (8,0)][Mac (10,10)]
|
||||
[Mac (10,10)]
|
||||
[Export ("snapshot")]
|
||||
NSImage Snapshot ();
|
||||
|
||||
|
@ -3480,7 +3476,7 @@ namespace SceneKit {
|
|||
[Export ("preferredFramesPerSecond")]
|
||||
nint PreferredFramesPerSecond { get; set; }
|
||||
|
||||
[iOS (8,0)][Mac (10,10)]
|
||||
[Mac (10,10)]
|
||||
[Export ("antialiasingMode")]
|
||||
SCNAntialiasingMode AntialiasingMode { get; set; }
|
||||
|
||||
|
@ -3628,7 +3624,7 @@ namespace SceneKit {
|
|||
[Export ("influenceFactor")]
|
||||
nfloat InfluenceFactor { get; set; }
|
||||
|
||||
[Mac (10, 10), iOS (8,0)]
|
||||
[Mac (10, 10)]
|
||||
[TV (11,0)][Watch (4,0)]
|
||||
[Export ("enabled")]
|
||||
bool Enabled { [Bind ("isEnabled")] get; set; }
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace Security {
|
|||
[Field ("kSecPolicyAppleRevocation")]
|
||||
NSString AppleRevocation { get; }
|
||||
|
||||
[iOS (7,0)][Mac (10,9)]
|
||||
[Mac (10,9)]
|
||||
[Field ("kSecPolicyApplePassbookSigning")]
|
||||
NSString ApplePassbookSigning { get; }
|
||||
|
||||
|
@ -84,7 +84,7 @@ namespace Security {
|
|||
[Field ("kSecPolicyRevocationFlags")]
|
||||
NSString RevocationFlags { get; }
|
||||
|
||||
[iOS (7,0)][Mac (10,9)]
|
||||
[Mac (10,9)]
|
||||
[Field ("kSecPolicyTeamIdentifier")]
|
||||
NSString TeamIdentifier { get; }
|
||||
}
|
||||
|
|
|
@ -3251,22 +3251,19 @@ namespace SpriteKit {
|
|||
|
||||
#if !WATCH
|
||||
// Static Category from GameplayKit
|
||||
[iOS (10,0), TV (10,0), NoWatch, Mac (10,12)]
|
||||
[NoWatch]
|
||||
[Static]
|
||||
[Export ("tileMapNodesWithTileSet:columns:rows:tileSize:fromNoiseMap:tileTypeNoiseMapThresholds:")]
|
||||
SKTileMapNode[] FromTileSet (SKTileSet tileSet, nuint columns, nuint rows, CGSize tileSize, GKNoiseMap noiseMap, NSNumber[] thresholds);
|
||||
#endif
|
||||
|
||||
[iOS (9,0), Mac (10,11)]
|
||||
[Export ("attributeValues", ArgumentSemantic.Copy)]
|
||||
NSDictionary<NSString, SKAttributeValue> AttributeValues { get; set; }
|
||||
|
||||
[iOS (9,0), Mac(10,11)]
|
||||
[Export ("valueForAttributeNamed:")]
|
||||
[return: NullAllowed]
|
||||
SKAttributeValue GetValue (string key);
|
||||
|
||||
[iOS (9,0), Mac(10,11)]
|
||||
[Export ("setValue:forAttributeNamed:")]
|
||||
void SetValue (SKAttributeValue value, string key);
|
||||
}
|
||||
|
|
|
@ -15314,12 +15314,10 @@ namespace UIKit {
|
|||
[iOS (8,0)]
|
||||
partial interface UITraitEnvironment {
|
||||
[Abstract]
|
||||
[iOS (8,0)]
|
||||
[Export ("traitCollection")]
|
||||
UITraitCollection TraitCollection { get; }
|
||||
|
||||
[Abstract]
|
||||
[iOS (8,0)]
|
||||
[Export ("traitCollectionDidChange:")]
|
||||
void TraitCollectionDidChange ([NullAllowed] UITraitCollection previousTraitCollection);
|
||||
}
|
||||
|
@ -19608,7 +19606,7 @@ namespace UIKit {
|
|||
interface UIUserActivityRestoring
|
||||
{
|
||||
[Abstract]
|
||||
[iOS (8,0), TV(12,0)]
|
||||
[TV(12,0)]
|
||||
[Export ("restoreUserActivityState:")]
|
||||
void RestoreUserActivityState (NSUserActivity activity);
|
||||
}
|
||||
|
@ -21089,7 +21087,6 @@ namespace UIKit {
|
|||
[BaseType (typeof (NSObject))]
|
||||
interface UITextFormattingCoordinatorDelegate {
|
||||
|
||||
[iOS (13,0)]
|
||||
[Abstract]
|
||||
[Export ("updateTextAttributesWithConversionHandler:")]
|
||||
void UpdateTextAttributes (UITextAttributesConversionHandler conversionHandler);
|
||||
|
|
|
@ -3185,26 +3185,21 @@ namespace Vision {
|
|||
// ('Revision', 'WeakSupportedRevisions', 'SupportedRevisions', 'DefaultRevision' and 'CurrentRevision')
|
||||
// into subclasses so the correct class_ptr is used for the static members and the right enum type is also used.
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[Export ("revision")]
|
||||
VNGenerateOpticalFlowRequestRevision Revision { get; set; }
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[Static]
|
||||
[Export ("supportedRevisions", ArgumentSemantic.Copy)]
|
||||
NSIndexSet WeakSupportedRevisions { get; }
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[Static]
|
||||
[Wrap ("GetSupportedVersions<VNGenerateOpticalFlowRequestRevision> (WeakSupportedRevisions)")]
|
||||
VNGenerateOpticalFlowRequestRevision [] SupportedRevisions { get; }
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[Static]
|
||||
[Export ("defaultRevision")]
|
||||
VNGenerateOpticalFlowRequestRevision DefaultRevision { get; }
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[Static]
|
||||
[Export ("currentRevision")]
|
||||
VNGenerateOpticalFlowRequestRevision CurrentRevision { get; }
|
||||
|
|
|
@ -859,11 +859,11 @@ namespace WebKit
|
|||
[Export ("allowsInlineMediaPlayback")]
|
||||
bool AllowsInlineMediaPlayback { get; set; }
|
||||
|
||||
[Availability (Introduced = Platform.iOS_8_0, Deprecated = Platform.iOS_9_0, Message = "Use 'RequiresUserActionForMediaPlayback' or 'MediaTypesRequiringUserActionForPlayback' instead.")]
|
||||
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use 'RequiresUserActionForMediaPlayback' or 'MediaTypesRequiringUserActionForPlayback' instead.")]
|
||||
[Export ("mediaPlaybackRequiresUserAction")]
|
||||
bool MediaPlaybackRequiresUserAction { get; set; }
|
||||
|
||||
[Availability (Introduced = Platform.iOS_8_0, Deprecated = Platform.iOS_9_0, Message = "Use 'AllowsAirPlayForMediaPlayback' instead.")]
|
||||
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use 'AllowsAirPlayForMediaPlayback' instead.")]
|
||||
[Export ("mediaPlaybackAllowsAirPlay")]
|
||||
bool MediaPlaybackAllowsAirPlay { get; set; }
|
||||
|
||||
|
|
|
@ -910,7 +910,6 @@ namespace UIKit {
|
|||
[Export ("typesetterBehavior")]
|
||||
NSTypesetterBehavior TypesetterBehavior { get; set; }
|
||||
|
||||
[iOS (7,0)]
|
||||
[Export ("allowsNonContiguousLayout")]
|
||||
bool AllowsNonContiguousLayout { get; set; }
|
||||
|
||||
|
|
|
@ -63,6 +63,62 @@ namespace Introspection {
|
|||
#endif
|
||||
}
|
||||
|
||||
bool FoundInProtocols (MemberInfo m, Type t)
|
||||
{
|
||||
var method = m.ToString ();
|
||||
foreach (var intf in t.GetInterfaces ()) {
|
||||
var p = Assembly.GetType (intf.FullName);
|
||||
if (p != null) {
|
||||
// here we want inherited members so we don't have to hunt inherited interfaces recursively
|
||||
foreach (var pm in p.GetMembers ()) {
|
||||
if (pm.ToString () != method)
|
||||
continue;
|
||||
return true;
|
||||
}
|
||||
foreach (var ca in p.GetCustomAttributes<Foundation.ProtocolMemberAttribute> ()) {
|
||||
// TODO check signature in [ProtocolMember]
|
||||
if (ca.IsProperty) {
|
||||
if (m.Name == "get_" + ca.Name)
|
||||
return true;
|
||||
if (m.Name == "set_" + ca.Name)
|
||||
return true;
|
||||
}
|
||||
if (m.Name == ca.Name)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
p = Assembly.GetType (intf.Namespace + "." + intf.Name.Substring (1));
|
||||
if (p != null) {
|
||||
// here we want inherited members so we don't have to hunt inherited interfaces recursively
|
||||
foreach (var pm in p.GetMembers ()) {
|
||||
if (pm.ToString () != method)
|
||||
continue;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
p = Assembly.GetType (intf.Namespace + "." + intf.Name.Substring (1) + "_Extensions");
|
||||
if (p != null) {
|
||||
// here we want inherited members so we don't have to hunt inherited interfaces recursively
|
||||
foreach (var pm in p.GetMembers ()) {
|
||||
// map extension method to original @optional
|
||||
if (m.Name != pm.Name)
|
||||
continue;
|
||||
var parameters = (pm as MethodInfo).GetParameters ();
|
||||
if (parameters.Length == 0)
|
||||
continue;
|
||||
var pattern = "(" + parameters [0].ParameterType.FullName;
|
||||
if (parameters.Length > 1)
|
||||
pattern += ", ";
|
||||
var s = pm.ToString ().Replace (pattern, "(");
|
||||
if (s != method)
|
||||
continue;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Introduced ()
|
||||
{
|
||||
|
@ -72,22 +128,41 @@ namespace Introspection {
|
|||
if (LogProgress)
|
||||
Console.WriteLine ($"T: {t}");
|
||||
var ta = CheckAvailability (t);
|
||||
foreach (var m in t.GetMembers ()) {
|
||||
foreach (var m in t.GetMembers (BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public)) {
|
||||
if (LogProgress)
|
||||
Console.WriteLine ($"M: {m}");
|
||||
var ma = CheckAvailability (m);
|
||||
if (ta == null || ma == null)
|
||||
continue;
|
||||
|
||||
// need to skip members that are copied to satisfy interfaces (protocol members)
|
||||
if (FoundInProtocols (m, t))
|
||||
continue;
|
||||
|
||||
// Duplicate checks, e.g. same attribute on member and type (extranous metadata)
|
||||
if (ma.Version == ta.Version) {
|
||||
// about 4000
|
||||
// AddErrorLine ($"[FAIL] {ma.Version} (Member) == {ta.Version} (Type) on '{m}'.");
|
||||
AddErrorLine ($"[FAIL] {ma.Version} ({m}) == {ta.Version} ({t})");
|
||||
}
|
||||
// Consistency checks, e.g. member lower than type
|
||||
// note: that's valid in some cases, like a new base type being introduced
|
||||
if (ma.Version < ta.Version) {
|
||||
// about 8000
|
||||
// AddErrorLine ($"[FAIL] {ma.Version} (Member) < {ta.Version} (Type) on '{m}'.");
|
||||
switch (t.FullName) {
|
||||
case "CoreBluetooth.CBPeer":
|
||||
switch (m.ToString ()) {
|
||||
// type added later and existing property was moved
|
||||
case "Foundation.NSUuid get_Identifier()":
|
||||
case "Foundation.NSUuid Identifier":
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case "MetricKit.MXUnitAveragePixelLuminance":
|
||||
case "MetricKit.MXUnitSignalBars":
|
||||
// design bug wrt generics leading to redefinition of some members in subclasses
|
||||
if (m.ToString () == "System.String Symbol")
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
AddErrorLine ($"[FAIL] {ma.Version} ({m}) < {ta.Version} ({t})");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче