[xtro] Add sanity tests to keep the entries up to date (avoid invalid, dupes and out of date entries) (#3110)
This commit is contained in:
Родитель
f8d7c54a0f
Коммит
fffaba2414
|
@ -1,6 +1,7 @@
|
|||
*.results
|
||||
*.pch*
|
||||
*.unclassified
|
||||
*.raw
|
||||
*.g.cs
|
||||
*.html
|
||||
report/
|
||||
|
|
|
@ -24,9 +24,9 @@ namespace Extrospection {
|
|||
else if (td.Namespace.StartsWith ("OpenTK.", StringComparison.Ordinal)) {
|
||||
// OpenTK duplicate a lots of enums between it's versions
|
||||
} else {
|
||||
var sorted = Helpers.Sort (type.FullName, td.FullName);
|
||||
var framework = Helpers.GetFramework (type);
|
||||
Log.On (framework).Add ($"!duplicate-type-name! {name} enum exists as both {sorted.Item1} and {sorted.Item2}");
|
||||
var sorted = Helpers.Sort (type, td);
|
||||
var framework = Helpers.GetFramework (sorted.Item1);
|
||||
Log.On (framework).Add ($"!duplicate-type-name! {name} enum exists as both {sorted.Item1.FullName} and {sorted.Item2.FullName}");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -342,12 +342,12 @@ namespace Extrospection {
|
|||
}
|
||||
}
|
||||
|
||||
public static (string, string) Sort (string s1, string s2)
|
||||
public static (T, T) Sort<T> (T o1, T o2)
|
||||
{
|
||||
if (StringComparer.Ordinal.Compare (s1, s2) < 0)
|
||||
return (s1, s2);
|
||||
if (StringComparer.Ordinal.Compare (o1.ToString (), o2.ToString ()) < 0)
|
||||
return (o2, o1);
|
||||
else
|
||||
return (s2, s1);
|
||||
return (o1, o2);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -23,6 +23,11 @@ namespace Extrospection {
|
|||
foreach (var kvp in lists) {
|
||||
var framework = kvp.Key;
|
||||
var list = kvp.Value.Distinct ().ToList ();
|
||||
|
||||
// not generally useful but we want to keep the data sane
|
||||
var raw = $"{Helpers.Platform}-{framework}.raw";
|
||||
File.WriteAllLines (raw, list);
|
||||
|
||||
// load ignore and pending files and remove them
|
||||
// 1. common.framework.ignore - long term (shared cross platforms) **preferred**
|
||||
Remove (list, $"common-{framework}.ignore");
|
||||
|
|
|
@ -88,6 +88,11 @@ classify: build $(XIOS_PCH) $(XWATCHOS_PCH) $(XTVOS_PCH) $(XMAC_PCH)
|
|||
$(MONO) bin/Debug/xtro-sharpie.exe $(XWATCHOS_PCH) $(XWATCHOS)
|
||||
$(MONO) bin/Debug/xtro-sharpie.exe $(XTVOS_PCH) $(XTVOS) $(XTVOS_GL)
|
||||
$(MONO) bin/Debug/xtro-sharpie.exe $(XMAC_PCH) $(XMAC)
|
||||
$(MONO) xtro-sanity/bin/Debug/xtro-sanity.exe .
|
||||
rm -f *.raw
|
||||
|
||||
insane:
|
||||
XTRO_SANITY_SKIP=1 make all
|
||||
|
||||
all: classify report
|
||||
|
||||
|
|
|
@ -52,10 +52,10 @@ namespace Extrospection {
|
|||
if (!type_map.TryGetValue (rname, out td))
|
||||
type_map.Add (rname, type);
|
||||
else {
|
||||
var framework = Helpers.GetFramework (type);
|
||||
// always report in the same order (for unique error messages)
|
||||
var sorted = Helpers.Sort (type.FullName, td.FullName);
|
||||
Log.On (framework).Add ($"!duplicate-register! {rname} exists as both {sorted.Item1} and {sorted.Item2}");
|
||||
var sorted = Helpers.Sort (type, td);
|
||||
var framework = Helpers.GetFramework (sorted.Item1);
|
||||
Log.On (framework).Add ($"!duplicate-register! {rname} exists as both {sorted.Item1.FullName} and {sorted.Item2.FullName}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -134,9 +134,9 @@ namespace Extrospection
|
|||
ManagedSimdInfo existing;
|
||||
if (managed_methods.TryGetValue (key, out existing)) {
|
||||
if (very_strict) {
|
||||
var framework = method.DeclaringType.Namespace;
|
||||
var sorted = Helpers.Sort (existing.Method.FullName, method.FullName);
|
||||
Log.On (framework).Add ($"!duplicate-type-mapping! same key '{key}' for both '{sorted.Item1}' and '{sorted.Item2}'");
|
||||
var sorted = Helpers.Sort (existing.Method, method);
|
||||
var framework = sorted.Item1.DeclaringType.Namespace;
|
||||
Log.On (framework).Add ($"!duplicate-type-mapping! same key '{key}' for both '{sorted.Item1.FullName}' and '{sorted.Item2.FullName}'");
|
||||
}
|
||||
} else {
|
||||
managed_methods [key] = new ManagedSimdInfo {
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
!missing-field! AVVideoCodecHEVC not bound
|
||||
!missing-field! AVVideoTransferFunction_ITU_R_2100_HLG not bound
|
||||
!missing-field! AVVideoTransferFunction_SMPTE_ST_2084_PQ not bound
|
||||
!missing-protocol! AVFragmentMinding not bound
|
||||
!missing-protocol! AVVideoCompositionInstruction not bound
|
||||
!missing-protocol-conformance! AVAsset should conform to AVAsynchronousKeyValueLoading
|
||||
!missing-protocol-conformance! AVAssetTrack should conform to AVAsynchronousKeyValueLoading
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
## Apple headers: Deprecated in iOS 9
|
||||
!unknown-native-enum! ABPersonImageFormat bound
|
||||
|
||||
## constants were manually bound and this framework is deprecated (Contact)
|
||||
## so it's not worth updating the binding code for them
|
||||
!missing-field! kABGroupNameProperty not bound
|
||||
!missing-field! kABHomeLabel not bound
|
||||
!missing-field! kABOtherLabel not bound
|
||||
|
@ -87,4 +92,3 @@
|
|||
!missing-field! kABSourceNameProperty not bound
|
||||
!missing-field! kABSourceTypeProperty not bound
|
||||
!missing-field! kABWorkLabel not bound
|
||||
!unknown-native-enum! ABPersonImageFormat bound
|
||||
|
|
|
@ -1,3 +1,20 @@
|
|||
## NSLinguisticAnalysis category over NSString https://bugzilla.xamarin.com/show_bug.cgi?id=35009
|
||||
!missing-selector! NSString::linguisticTagsInRange:scheme:options:orthography:tokenRanges: not bound
|
||||
!missing-selector! NSString::enumerateLinguisticTagsInRange:scheme:options:orthography:usingBlock: not bound
|
||||
|
||||
## https://bugzilla.xamarin.com/show_bug.cgi?id=35021
|
||||
!missing-selector! NSFileWrapper::initWithSerializedRepresentation: not bound
|
||||
|
||||
## the API exists but is [Sealed], until XAMCORE_4_0, to keep compatible with iOS/Mac profiles
|
||||
!missing-selector! NSURLSession::getTasksWithCompletionHandler: not bound
|
||||
|
||||
# missing - pending decision for implementation
|
||||
!missing-type! NSAssertionHandler not bound
|
||||
!missing-field! NSAssertionHandlerKey not bound
|
||||
!missing-selector! +NSAssertionHandler::currentHandler not bound
|
||||
!missing-selector! NSAssertionHandler::handleFailureInFunction:file:lineNumber:description: not bound
|
||||
!missing-selector! NSAssertionHandler::handleFailureInMethod:object:file:lineNumber:description: not bound
|
||||
|
||||
## special case, see bug https://bugzilla.xamarin.com/show_bug.cgi?id=22940
|
||||
!wrong-base-type! NSProxy expected actual NSObject
|
||||
!missing-selector! +NSProxy::allocWithZone: not bound
|
||||
|
@ -10,26 +27,16 @@
|
|||
## Xamarin (not Apple) type
|
||||
!unknown-type! InternalNSNotificationHandler bound
|
||||
|
||||
# Apple internals (we do not expose them)
|
||||
!missing-field! _NSConstantStringClassReference not bound
|
||||
!missing-type! NSConstantString not bound
|
||||
!missing-type! NSSimpleCString not bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!extra-designated-initializer! NSSortDescriptor::initWithCoder: is incorrectly decorated with an [DesignatedInitializer] attribute
|
||||
!incorrect-protocol-member! NSProgressReporting::progress is REQUIRED and should be abstract
|
||||
!missing-designated-initializer! NSArray::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSDate::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSDictionary::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSISO8601DateFormatter::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSItemProvider::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableArray::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableDictionary::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableOrderedSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSOrderedSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSOutputStream::initToMemory is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSString::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSThread::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSUUID::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-enum! NSBinarySearchingOptions not bound
|
||||
!missing-enum! NSMachPortOptions not bound
|
||||
!missing-enum! NSNetServicesError not bound
|
||||
|
@ -40,8 +47,6 @@
|
|||
!missing-enum! NSXMLParserError not bound
|
||||
!missing-enum! NSXMLParserExternalEntityResolvingPolicy not bound
|
||||
!missing-enum! NSXPCConnectionOptions not bound
|
||||
!missing-field! _NSConstantStringClassReference not bound
|
||||
!missing-field! NSAssertionHandlerKey not bound
|
||||
!missing-field! NSAverageKeyValueOperator not bound
|
||||
!missing-field! NSBuddhistCalendar not bound
|
||||
!missing-field! NSBundleDidLoadNotification not bound
|
||||
|
@ -167,7 +172,6 @@
|
|||
!missing-selector! +NSArray::arrayWithContentsOfURL: not bound
|
||||
!missing-selector! +NSArray::arrayWithObject: not bound
|
||||
!missing-selector! +NSArray::arrayWithObjects: not bound
|
||||
!missing-selector! +NSAssertionHandler::currentHandler not bound
|
||||
!missing-selector! +NSAutoreleasePool::addObject: not bound
|
||||
!missing-selector! +NSBundle::preferredLocalizationsFromArray: not bound
|
||||
!missing-selector! +NSBundle::preferredLocalizationsFromArray:forPreferences: not bound
|
||||
|
@ -317,8 +321,6 @@
|
|||
!missing-selector! NSArray::sortedArrayWithOptions:usingComparator: not bound
|
||||
!missing-selector! NSArray::subarrayWithRange: not bound
|
||||
!missing-selector! NSArray::writeToURL:atomically: not bound
|
||||
!missing-selector! NSAssertionHandler::handleFailureInFunction:file:lineNumber:description: not bound
|
||||
!missing-selector! NSAssertionHandler::handleFailureInMethod:object:file:lineNumber:description: not bound
|
||||
!missing-selector! NSAutoreleasePool::addObject: not bound
|
||||
!missing-selector! NSBundle::executableArchitectures not bound
|
||||
!missing-selector! NSBundle::loadAndReturnError: not bound
|
||||
|
@ -413,7 +415,6 @@
|
|||
!missing-selector! NSFileManager::fileSystemRepresentationWithPath: not bound
|
||||
!missing-selector! NSFileManager::stringWithFileSystemRepresentation:length: not bound
|
||||
!missing-selector! NSFileSecurity::initWithCoder: not bound
|
||||
!missing-selector! NSFileWrapper::initWithSerializedRepresentation: not bound
|
||||
!missing-selector! NSHashTable::addObject: not bound
|
||||
!missing-selector! NSHashTable::allObjects not bound
|
||||
!missing-selector! NSHashTable::anyObject not bound
|
||||
|
@ -694,7 +695,6 @@
|
|||
!missing-selector! NSString::description not bound
|
||||
!missing-selector! NSString::doubleValue not bound
|
||||
!missing-selector! NSString::enumerateLinesUsingBlock: not bound
|
||||
!missing-selector! NSString::enumerateLinguisticTagsInRange:scheme:options:orthography:usingBlock: not bound
|
||||
!missing-selector! NSString::enumerateSubstringsInRange:options:usingBlock: not bound
|
||||
!missing-selector! NSString::fastestEncoding not bound
|
||||
!missing-selector! NSString::fileSystemRepresentation not bound
|
||||
|
@ -724,7 +724,6 @@
|
|||
!missing-selector! NSString::intValue not bound
|
||||
!missing-selector! NSString::isEqualToString: not bound
|
||||
!missing-selector! NSString::lengthOfBytesUsingEncoding: not bound
|
||||
!missing-selector! NSString::linguisticTagsInRange:scheme:options:orthography:tokenRanges: not bound
|
||||
!missing-selector! NSString::localizedCaseInsensitiveCompare: not bound
|
||||
!missing-selector! NSString::localizedCompare: not bound
|
||||
!missing-selector! NSString::localizedStandardCompare: not bound
|
||||
|
@ -782,7 +781,6 @@
|
|||
!missing-selector! NSURLProtocol::initWithTask:cachedResponse:client: not bound
|
||||
!missing-selector! NSURLProtocol::task not bound
|
||||
!missing-selector! NSURLRequest::HTTPShouldUsePipelining not bound
|
||||
!missing-selector! NSURLSession::getTasksWithCompletionHandler: not bound
|
||||
!missing-selector! NSUUID::initWithUUIDBytes: not bound
|
||||
!missing-selector! NSValue::getValue:size: not bound
|
||||
!missing-selector! NSValue::initWithBytes:objCType: not bound
|
||||
|
@ -835,8 +833,6 @@
|
|||
!missing-selector! NSXPCListener::delegate not bound
|
||||
!missing-selector! NSXPCListener::endpoint not bound
|
||||
!missing-selector! NSXPCListener::setDelegate: not bound
|
||||
!missing-type! NSAssertionHandler not bound
|
||||
!missing-type! NSConstantString not bound
|
||||
!missing-type! NSCountedSet not bound
|
||||
!missing-type! NSDecimalNumberHandler not bound
|
||||
!missing-type! NSFileSecurity not bound
|
||||
|
@ -847,7 +843,6 @@
|
|||
!missing-type! NSPointerArray not bound
|
||||
!missing-type! NSPointerFunctions not bound
|
||||
!missing-type! NSScanner not bound
|
||||
!missing-type! NSSimpleCString not bound
|
||||
!missing-type! NSXMLParser not bound
|
||||
!missing-type! NSXPCConnection not bound
|
||||
!missing-type! NSXPCInterface not bound
|
||||
|
@ -864,4 +859,3 @@
|
|||
!unknown-native-enum! NSUrlErrorCancelledReason bound
|
||||
!unknown-protocol! NSObject bound
|
||||
!unknown-type! NSObject bound
|
||||
!unknown-type! NSUbiquitousKeyValueStore bound
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
## Fixed in XAMCORE_4_0
|
||||
!incorrect-protocol-member! GKGameModelPlayer::playerId is REQUIRED and should be abstract
|
||||
|
||||
## unsorted
|
||||
|
||||
!missing-designated-initializer! GKEntity::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! GKRandomSource::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! GKRuleSystem::init is missing an [DesignatedInitializer] attribute
|
||||
|
|
|
@ -28,19 +28,30 @@
|
|||
!missing-selector! +INVisualCodeTypeResolutionResult::confirmationRequiredWithValueToConfirm: not bound
|
||||
!missing-selector! +INVisualCodeTypeResolutionResult::successWithResolvedValue: not bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!incorrect-protocol-member! INPayBillIntentHandling::handlePayBill:completion: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! INSearchForBillsIntentHandling::handleSearchForBills:completion: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! INSpeakable::identifier is OPTIONAL and should NOT be abstract
|
||||
!missing-selector! +CLPlacemark::placemarkWithLocation:name:postalAddress: not bound
|
||||
## added and deprecated in Xcode9 (but not removed from headers)
|
||||
!missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound
|
||||
!missing-selector! INPerson::handle not bound
|
||||
!missing-selector! INPerson::initWithHandle:displayName:contactIdentifier: not bound
|
||||
!missing-selector! INPerson::initWithHandle:nameComponents:contactIdentifier: not bound
|
||||
!missing-selector! INPerson::initWithHandle:nameComponents:displayName:image:contactIdentifier: not bound
|
||||
|
||||
## The following were deprecated in ios(10.0, 10.0)
|
||||
!missing-selector! INRideDriver::initWithHandle:displayName:image:rating:phoneNumber: not bound
|
||||
!missing-selector! INRideDriver::initWithHandle:nameComponents:image:rating:phoneNumber: not bound
|
||||
!missing-selector! INRideOption::identifier not bound
|
||||
!missing-selector! INRideOption::setIdentifier: not bound
|
||||
|
||||
## INPayBillIntentHandling && INSearchForBillsIntentHandling are new protocols added in iOS 10.3. This two protocols
|
||||
## were added to the existing Protocol INPaymentsDomainHandling so making this two required would be a breaking change
|
||||
!incorrect-protocol-member! INPayBillIntentHandling::handlePayBill:completion: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! INSearchForBillsIntentHandling::handleSearchForBills:completion: is REQUIRED and should be abstract
|
||||
|
||||
## NS_DEPRECATED(10_12, 10_12, 10_0, 10_0) / Designated init instead
|
||||
!missing-selector! INPerson::handle not bound
|
||||
!missing-selector! INPerson::initWithHandle:displayName:contactIdentifier: not bound
|
||||
!missing-selector! INPerson::initWithHandle:nameComponents:contactIdentifier: not bound
|
||||
!missing-selector! INPerson::initWithHandle:nameComponents:displayName:image:contactIdentifier: not bound
|
||||
|
||||
## Apple made this @optional in iOS 11 but this is a breaking change
|
||||
!incorrect-protocol-member! INSpeakable::identifier is OPTIONAL and should NOT be abstract
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!missing-selector! +CLPlacemark::placemarkWithLocation:name:postalAddress: not bound
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
## new Apple abstract member (breaking change) fixed in XAMCORE_4_0
|
||||
!incorrect-protocol-member! MTLRenderCommandEncoder::setDepthClipMode: is REQUIRED and should be abstract
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!incorrect-protocol-member! MTLBlitCommandEncoder::copyFromBuffer:sourceOffset:sourceBytesPerRow:sourceBytesPerImage:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:options: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLBlitCommandEncoder::copyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toBuffer:destinationOffset:destinationBytesPerRow:destinationBytesPerImage:options: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLBlitCommandEncoder::updateFence: is REQUIRED and should be abstract
|
||||
|
@ -71,7 +77,6 @@
|
|||
!incorrect-protocol-member! MTLRenderCommandEncoder::drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLRenderCommandEncoder::setColorStoreAction:atIndex: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLRenderCommandEncoder::setColorStoreActionOptions:atIndex: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLRenderCommandEncoder::setDepthClipMode: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLRenderCommandEncoder::setDepthStoreAction: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLRenderCommandEncoder::setDepthStoreActionOptions: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLRenderCommandEncoder::setStencilFrontReferenceValue:backReferenceValue: is REQUIRED and should be abstract
|
||||
|
@ -102,4 +107,3 @@
|
|||
!incorrect-protocol-member! MTLTexture::usage is REQUIRED and should be abstract
|
||||
!unknown-field! MTLRenderPipelineErrorDomain bound
|
||||
!unknown-native-enum! MTLRenderPipelineError bound
|
||||
!unknown-native-enum! MTLSamplerBorderColor bound
|
||||
|
|
|
@ -28,22 +28,64 @@
|
|||
## typedef is used (no value) in UITextInput.h: typedef NSInteger UITextDirection
|
||||
!unknown-native-enum! UITextDirection bound
|
||||
|
||||
## Implemented in managed code
|
||||
!missing-selector! UIColor::getHue:saturation:brightness:alpha: not bound
|
||||
!missing-selector! UIColor::getRed:green:blue:alpha: not bound
|
||||
|
||||
## unsorted
|
||||
## Not implemented (ctor signature conflict) but there's a static method available that does the job
|
||||
!missing-selector! UIColor::initWithHue:saturation:brightness:alpha: not bound
|
||||
|
||||
## Not bound intentionally, Factory method FromDisplayP3 is available and adding this as a ctor would make the api usage ugly since signature matches colorWithRed:green:blue:alpha:
|
||||
!missing-selector! UIColor::initWithDisplayP3Red:green:blue:alpha: not bound
|
||||
|
||||
## defined with __Internal (which is normally ignored here) so 3rd party tools can hack it
|
||||
!missing-pinvoke! UIApplicationMain is not bound
|
||||
|
||||
## static method cannot be overriden "normally" they must be re-exposed with [Export]
|
||||
!incorrect-protocol-member! +UIPopoverBackgroundViewMethods::arrowBase is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! +UIPopoverBackgroundViewMethods::arrowHeight is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! +UIPopoverBackgroundViewMethods::contentViewInsets is REQUIRED and should be abstract
|
||||
|
||||
## Apple docs: This property is inherited from the UIView parent class. This class changes the default value of this property to NO.
|
||||
!missing-selector! UIImageView::isUserInteractionEnabled not bound
|
||||
!missing-selector! UIImageView::setUserInteractionEnabled: not bound
|
||||
!missing-selector! UILabel::isUserInteractionEnabled not bound
|
||||
!missing-selector! UILabel::setUserInteractionEnabled: not bound
|
||||
|
||||
## it's technically optional but there's no point in adopting the protocol if you do not provide the implemenation
|
||||
!incorrect-protocol-member! UIInputViewAudioFeedback::enableInputClicksWhenVisible is OPTIONAL and should NOT be abstract
|
||||
|
||||
## fixed in XAMCORE_4_0 - API break
|
||||
!incorrect-protocol-member! UIDynamicAnimatorDelegate::dynamicAnimatorDidPause: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UIDynamicAnimatorDelegate::dynamicAnimatorWillResume: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UIFocusEnvironment::preferredFocusEnvironments is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UIInputViewAudioFeedback::enableInputClicksWhenVisible is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UILayoutSupport::bottomAnchor is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UILayoutSupport::heightAnchor is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UILayoutSupport::topAnchor is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UITextDocumentProxy::documentIdentifier is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UITextDocumentProxy::documentInputMode is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UITextDocumentProxy::selectedText is REQUIRED and should be abstract
|
||||
|
||||
## the [Sealed] attributes removes the [Export] one so it seems missing (but it's not)
|
||||
!missing-selector! UIGestureRecognizer::ignorePress:forEvent: not bound
|
||||
|
||||
## UIAccessibilityContainer is an informal protocol
|
||||
## that we bound as a protocol but is (objc encoding) a category
|
||||
!missing-selector! NSObject::accessibilityElementAtIndex: not bound
|
||||
!missing-selector! NSObject::accessibilityElements not bound
|
||||
!missing-selector! NSObject::indexOfAccessibilityElement: not bound
|
||||
!missing-selector! NSObject::setAccessibilityElements: not bound
|
||||
|
||||
## might not be usable unless our ToString output is parsable as an input (includes locale issues)
|
||||
!missing-pinvoke! CGAffineTransformFromString is not bound
|
||||
!missing-pinvoke! CGPointFromString is not bound
|
||||
!missing-pinvoke! CGRectFromString is not bound
|
||||
!missing-pinvoke! CGSizeFromString is not bound
|
||||
!missing-pinvoke! NSStringFromCGAffineTransform is not bound
|
||||
!missing-pinvoke! NSStringFromCGPoint is not bound
|
||||
!missing-pinvoke! NSStringFromCGRect is not bound
|
||||
!missing-pinvoke! NSStringFromCGSize is not bound
|
||||
!missing-pinvoke! NSStringFromUIOffset is not bound
|
||||
!missing-pinvoke! UIOffsetFromString is not bound
|
||||
|
||||
## HACK: those members are not *required* in ObjC but we made them abstract to have them inlined in UITextField and UITextView
|
||||
## Even more confusing it that respondToSelecttor return NO on them even if it works in _real_ life (compare unit and introspection tests)
|
||||
!incorrect-protocol-member! UITextInputTraits::autocapitalizationType is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::autocorrectionType is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::enablesReturnKeyAutomatically is OPTIONAL and should NOT be abstract
|
||||
|
@ -60,49 +102,15 @@
|
|||
!incorrect-protocol-member! UITextInputTraits::setSecureTextEntry: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setSpellCheckingType: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::spellCheckingType is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UIViewControllerContextTransitioning::pauseInteractiveTransition is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UIViewControllerTransitionCoordinator::notifyWhenInteractionChangesUsingBlock: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UIViewControllerTransitionCoordinatorContext::isInterruptible is REQUIRED and should be abstract
|
||||
!missing-designated-initializer! NSLayoutManager::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSShadow::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBarButtonItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBarItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBezierPath::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UICollectionViewLayout::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UICubicTimingParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIImageAsset::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIKeyCommand::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIMotionEffect::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIPasteConfiguration::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UITabBarItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UITraitCollection::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-enum! NSLineBreakMode not bound
|
||||
!missing-enum! NSTextAlignment not bound
|
||||
!missing-field! NSCharacterEncodingDocumentOption not bound
|
||||
!missing-field! NSDefaultAttributesDocumentOption not bound
|
||||
!missing-field! NSDocumentTypeDocumentOption not bound
|
||||
!missing-pinvoke! CGAffineTransformFromString is not bound
|
||||
!missing-pinvoke! CGPointFromString is not bound
|
||||
!missing-pinvoke! CGRectFromString is not bound
|
||||
!missing-pinvoke! CGSizeFromString is not bound
|
||||
!missing-pinvoke! NSStringFromCGAffineTransform is not bound
|
||||
!missing-pinvoke! NSStringFromCGPoint is not bound
|
||||
!missing-pinvoke! NSStringFromCGRect is not bound
|
||||
!missing-pinvoke! NSStringFromCGSize is not bound
|
||||
!missing-pinvoke! NSStringFromUIOffset is not bound
|
||||
!missing-pinvoke! UIApplicationMain is not bound
|
||||
!missing-pinvoke! UIOffsetFromString is not bound
|
||||
!missing-protocol! UIResponderStandardEditActions not bound
|
||||
!missing-protocol-conformance! UIResponder should conform to UIResponderStandardEditActions
|
||||
!missing-selector! NSLayoutManager::fillBackgroundRectArray:count:forCharacterRange:color: not bound
|
||||
|
||||
## UIAccessibility
|
||||
## We can't expose them as categories of NSObject so we have custom types instead
|
||||
!missing-selector! NSObject::accessibilityActivationPoint not bound
|
||||
!missing-selector! NSObject::accessibilityAttributedHint not bound
|
||||
!missing-selector! NSObject::accessibilityAttributedLabel not bound
|
||||
!missing-selector! NSObject::accessibilityAttributedValue not bound
|
||||
!missing-selector! NSObject::accessibilityContainerType not bound
|
||||
!missing-selector! NSObject::accessibilityCustomActions not bound
|
||||
!missing-selector! NSObject::accessibilityElementAtIndex: not bound
|
||||
!missing-selector! NSObject::accessibilityElements not bound
|
||||
!missing-selector! NSObject::accessibilityElementsHidden not bound
|
||||
!missing-selector! NSObject::accessibilityFrame not bound
|
||||
!missing-selector! NSObject::accessibilityHint not bound
|
||||
|
@ -114,7 +122,6 @@
|
|||
!missing-selector! NSObject::accessibilityTraits not bound
|
||||
!missing-selector! NSObject::accessibilityValue not bound
|
||||
!missing-selector! NSObject::accessibilityViewIsModal not bound
|
||||
!missing-selector! NSObject::indexOfAccessibilityElement: not bound
|
||||
!missing-selector! NSObject::isAccessibilityElement not bound
|
||||
!missing-selector! NSObject::setAccessibilityActivationPoint: not bound
|
||||
!missing-selector! NSObject::setAccessibilityAttributedHint: not bound
|
||||
|
@ -122,7 +129,6 @@
|
|||
!missing-selector! NSObject::setAccessibilityAttributedValue: not bound
|
||||
!missing-selector! NSObject::setAccessibilityContainerType: not bound
|
||||
!missing-selector! NSObject::setAccessibilityCustomActions: not bound
|
||||
!missing-selector! NSObject::setAccessibilityElements: not bound
|
||||
!missing-selector! NSObject::setAccessibilityElementsHidden: not bound
|
||||
!missing-selector! NSObject::setAccessibilityFrame: not bound
|
||||
!missing-selector! NSObject::setAccessibilityHint: not bound
|
||||
|
@ -136,12 +142,30 @@
|
|||
!missing-selector! NSObject::setIsAccessibilityElement: not bound
|
||||
!missing-selector! NSObject::setShouldGroupAccessibilityChildren: not bound
|
||||
!missing-selector! NSObject::shouldGroupAccessibilityChildren not bound
|
||||
!missing-selector! UIColor::getHue:saturation:brightness:alpha: not bound
|
||||
!missing-selector! UIColor::getRed:green:blue:alpha: not bound
|
||||
!missing-selector! UIColor::initWithDisplayP3Red:green:blue:alpha: not bound
|
||||
!missing-selector! UIColor::initWithHue:saturation:brightness:alpha: not bound
|
||||
!missing-selector! UIGestureRecognizer::ignorePress:forEvent: not bound
|
||||
!missing-selector! UIImageView::isUserInteractionEnabled not bound
|
||||
!missing-selector! UIImageView::setUserInteractionEnabled: not bound
|
||||
!missing-selector! UILabel::isUserInteractionEnabled not bound
|
||||
!missing-selector! UILabel::setUserInteractionEnabled: not bound
|
||||
|
||||
## @required members added to exixting interfaces (breaking change), fixed on XAMCORE_4_0
|
||||
!incorrect-protocol-member! UIFocusEnvironment::preferredFocusEnvironments is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UITextDocumentProxy::documentInputMode is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UITextDocumentProxy::documentIdentifier is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UITextDocumentProxy::selectedText is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UIViewControllerContextTransitioning::pauseInteractiveTransition is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UIViewControllerTransitionCoordinator::notifyWhenInteractionChangesUsingBlock: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UIViewControllerTransitionCoordinatorContext::isInterruptible is REQUIRED and should be abstract
|
||||
|
||||
# Apple renamed it from UILineBreakMode and we kept the old name for API compatibility
|
||||
!missing-enum! NSLineBreakMode not bound
|
||||
|
||||
# Apple renamed it from UITextAlignment and we kept the old name for API compatibility
|
||||
!missing-enum! NSTextAlignment not bound
|
||||
|
||||
## Protocol Inlined Maybe we want to change this in XAMCORE_4_0 since this predates our Category support
|
||||
!missing-protocol! UIResponderStandardEditActions not bound
|
||||
!missing-protocol-conformance! UIResponder should conform to UIResponderStandardEditActions
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!missing-field! NSCharacterEncodingDocumentOption not bound
|
||||
!missing-field! NSDefaultAttributesDocumentOption not bound
|
||||
!missing-field! NSDocumentTypeDocumentOption not bound
|
||||
!missing-selector! NSLayoutManager::fillBackgroundRectArray:count:forCharacterRange:color: not bound
|
||||
|
|
|
@ -1,107 +1,7 @@
|
|||
# AVFoundation
|
||||
|
||||
## to be re-enabled when merging to master - https://bugzilla.xamarin.com/show_bug.cgi?id=52730
|
||||
!missing-field! AVAudioSessionInterruptionWasSuspendedKey not bound
|
||||
|
||||
|
||||
# CoreData
|
||||
|
||||
## https://bugzilla.xamarin.com/show_bug.cgi?id=34968
|
||||
!missing-selector! NSPropertyDescription::renamingIdentifier not bound
|
||||
!missing-selector! NSPropertyDescription::setRenamingIdentifier: not bound
|
||||
!missing-selector! NSEntityDescription::renamingIdentifier not bound
|
||||
!missing-selector! NSEntityDescription::setRenamingIdentifier: not bound
|
||||
!missing-selector! NSExpressionDescription::expression not bound
|
||||
!missing-selector! NSExpressionDescription::setExpression: not bound
|
||||
!missing-selector! NSExpressionDescription::expressionResultType not bound
|
||||
!missing-selector! NSExpressionDescription::setExpressionResultType: not bound
|
||||
!missing-selector! +NSFetchRequestExpression::expressionForFetch:context:countOnly: not bound
|
||||
!missing-selector! NSFetchRequestExpression::requestExpression not bound
|
||||
!missing-selector! NSFetchRequestExpression::contextExpression not bound
|
||||
!missing-selector! NSFetchRequestExpression::isCountOnlyRequest not bound
|
||||
!missing-selector! NSManagedObject::awakeFromSnapshotEvents: not bound
|
||||
!missing-selector! NSManagedObject::faultingState not bound
|
||||
!missing-selector! +NSPersistentStoreCoordinator::metadataForPersistentStoreOfType:URL:options:error: not bound
|
||||
!missing-selector! +NSPersistentStoreCoordinator::setMetadata:forPersistentStoreOfType:URL:options:error: not bound
|
||||
!missing-selector! +NSMappingModel::inferredMappingModelForSourceModel:destinationModel:error: not bound
|
||||
|
||||
## https://trello.com/c/dlSRYPFx/92-33878590-missing-nsbinarystoresecuredecodingclasses-and-nsbinarystoreinsecuredecodingcompatibilityoption-constants-in-binaries
|
||||
!missing-field! NSBinaryStoreSecureDecodingClasses not bound
|
||||
!missing-field! NSBinaryStoreInsecureDecodingCompatibilityOption not bound
|
||||
|
||||
|
||||
# CoreGraphics
|
||||
|
||||
## API does not exists on devices (at least for iOS, only simulator) rdar #24734681
|
||||
!missing-pinvoke! CGColorConverterCreateSimple is not bound
|
||||
|
||||
## should we bother ?
|
||||
!missing-pinvoke! CGColorConverterGetTypeID is not bound
|
||||
|
||||
|
||||
# CoreImage
|
||||
|
||||
|
||||
|
||||
# Foundation
|
||||
|
||||
## https://bugzilla.xamarin.com/show_bug.cgi?id=35009
|
||||
!missing-selector! NSLinguisticAnalysis::linguisticTagsInRange:scheme:options:orthography:tokenRanges: not bound
|
||||
!missing-selector! NSLinguisticAnalysis::enumerateLinguisticTagsInRange:scheme:options:orthography:usingBlock: not bound
|
||||
|
||||
## https://bugzilla.xamarin.com/show_bug.cgi?id=35012
|
||||
!missing-selector! +NSPredicate::predicateWithFormat: not bound
|
||||
!missing-selector! +NSPredicate::predicateWithFormat:arguments: not bound
|
||||
!missing-selector! +NSExpression::expressionWithFormat: not bound
|
||||
!missing-selector! +NSExpression::expressionWithFormat:arguments: not bound
|
||||
!missing-selector! NSExpression::expressionBlock not bound
|
||||
|
||||
## https://bugzilla.xamarin.com/show_bug.cgi?id=35021
|
||||
!missing-selector! NSFileWrapper::initWithSerializedRepresentation: not bound
|
||||
|
||||
## the API exists but is [Sealed], until XAMCORE_4_0, to keep compatible with iOS/Mac profiles
|
||||
!missing-selector! NSURLSession::getTasksWithCompletionHandler: not bound
|
||||
|
||||
|
||||
|
||||
# Photos
|
||||
|
||||
## xcode 8 beta 1-6 defines it but it does not exists in the binaries - rdar #28169810 https://trello.com/c/RwXK6YRX
|
||||
!missing-field! PHLivePhotoShouldRenderAtPlaybackTime not bound
|
||||
|
||||
|
||||
# UIKit
|
||||
|
||||
## https://bugzilla.xamarin.com/show_bug.cgi?id=34913
|
||||
!missing-protocol-member! UITextInput::selectionAffinity not found
|
||||
!missing-protocol-member! UITextInput::setSelectionAffinity: not found
|
||||
|
||||
## ctor signature conflict, dev can use colorWithHue:saturation:brightness:alpha:
|
||||
!missing-selector! UIColor::initWithHue:saturation:brightness:alpha: not bound
|
||||
|
||||
|
||||
# Issues we want to ignore that are common to both iOS and OSX
|
||||
|
||||
## might not be usable unless our ToString output is parsable as an input (includes locale issues)
|
||||
!missing-pinvoke! CFUUIDCreateFromString is not bound
|
||||
!missing-pinvoke! CGAffineTransformFromString is not bound
|
||||
!missing-pinvoke! CGPointFromString is not bound
|
||||
!missing-pinvoke! CGRectFromString is not bound
|
||||
!missing-pinvoke! CGSizeFromString is not bound
|
||||
!missing-pinvoke! NSStringFromCGAffineTransform is not bound
|
||||
!missing-pinvoke! NSStringFromCGPoint is not bound
|
||||
!missing-pinvoke! NSStringFromCGRect is not bound
|
||||
!missing-pinvoke! NSStringFromCGSize is not bound
|
||||
!missing-pinvoke! NSStringFromUIOffset is not bound
|
||||
!missing-pinvoke! UIOffsetFromString is not bound
|
||||
|
||||
|
||||
# missing - pending decision for implementation
|
||||
!missing-type! NSAssertionHandler not bound
|
||||
!missing-field! NSAssertionHandlerKey not bound
|
||||
!missing-selector! +NSAssertionHandler::currentHandler not bound
|
||||
!missing-selector! NSAssertionHandler::handleFailureInFunction:file:lineNumber:description: not bound
|
||||
!missing-selector! NSAssertionHandler::handleFailureInMethod:object:file:lineNumber:description: not bound
|
||||
|
||||
## collections - many are special
|
||||
!missing-type! NSCountedSet not bound
|
||||
|
@ -189,10 +89,6 @@
|
|||
!missing-selector! NSDecimalNumberHandler::initWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero: not bound
|
||||
!missing-protocol! NSDecimalNumberBehaviors not bound
|
||||
|
||||
## coredata
|
||||
!missing-type! NSExpressionDescription not bound
|
||||
!missing-type! NSFetchRequestExpression not bound
|
||||
|
||||
## stub for CFFileSecurity?
|
||||
!missing-type! NSFileSecurity not bound
|
||||
|
||||
|
@ -237,16 +133,6 @@
|
|||
!missing-type! NSValueTransformer not bound
|
||||
|
||||
|
||||
# to be reviewed
|
||||
!missing-protocol! OS_dispatch_data not bound
|
||||
!missing-protocol! OS_dispatch_group not bound
|
||||
!missing-protocol! OS_dispatch_io not bound
|
||||
!missing-protocol! OS_dispatch_object not bound
|
||||
!missing-protocol! OS_dispatch_queue not bound
|
||||
!missing-protocol! OS_dispatch_queue_attr not bound
|
||||
!missing-protocol! OS_dispatch_semaphore not bound
|
||||
!missing-protocol! OS_dispatch_source not bound
|
||||
|
||||
## there's a type of the same name (like NSObject, check what Swift did)
|
||||
!missing-protocol! AVVideoCompositionInstruction not bound
|
||||
|
||||
|
@ -339,10 +225,6 @@
|
|||
!incorrect-protocol-member! MTLTexture::iosurface is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLTexture::iosurfacePlane is REQUIRED and should be abstract
|
||||
|
||||
# not public
|
||||
!missing-type! NSConstantString not bound
|
||||
!missing-type! NSSimpleCString not bound
|
||||
|
||||
# Protocols we decided not to expose
|
||||
!missing-protocol! NSFastEnumeration not bound
|
||||
!missing-protocol-conformance! AVCaptureSynchronizedDataCollection should conform to NSFastEnumeration
|
||||
|
@ -424,211 +306,6 @@
|
|||
!missing-selector! NSXMLParserDelegate::parserDidEndDocument: is not bound
|
||||
!missing-selector! NSXMLParserDelegate::parserDidStartDocument: is not bound
|
||||
|
||||
# Accelerate.framework
|
||||
!missing-enum! CBLAS_DIAG not bound
|
||||
!missing-enum! CBLAS_ORDER not bound
|
||||
!missing-enum! CBLAS_SIDE not bound
|
||||
!missing-enum! CBLAS_TRANSPOSE not bound
|
||||
!missing-enum! CBLAS_UPLO not bound
|
||||
!missing-protocol! OS_la_object not bound
|
||||
|
||||
|
||||
# internal types
|
||||
!unknown-type! __MonoMac_ActionDispatcher bound
|
||||
!unknown-type! __MonoMac_NSActionDispatcher bound
|
||||
!unknown-type! __MonoMac_NSAsyncActionDispatcher bound
|
||||
!unknown-type! __MonoTouch_UIImageStatusDispatcher bound
|
||||
!unknown-type! __MonoTouch_UIVideoStatusDispatcher bound
|
||||
!unknown-type! __Xamarin_NSTimerActionDispatcher bound
|
||||
!unknown-type! InternalNSNotificationHandler bound
|
||||
!unknown-type! MonoTouch_GKSession_ReceivedObject bound
|
||||
|
||||
|
||||
# should we bother ?
|
||||
|
||||
## *GetTypeID
|
||||
!missing-pinvoke! CFAttributedStringGetTypeID is not bound
|
||||
!missing-pinvoke! CFBagGetTypeID is not bound
|
||||
!missing-pinvoke! CFBinaryHeapGetTypeID is not bound
|
||||
!missing-pinvoke! CFBitVectorGetTypeID is not bound
|
||||
!missing-pinvoke! CFBundleGetTypeID is not bound
|
||||
!missing-pinvoke! CFCalendarGetTypeID is not bound
|
||||
!missing-pinvoke! CFCharacterSetGetTypeID is not bound
|
||||
!missing-pinvoke! CFDateFormatterGetTypeID is not bound
|
||||
!missing-pinvoke! CFErrorGetTypeID is not bound
|
||||
!missing-pinvoke! CFFileDescriptorGetTypeID is not bound
|
||||
!missing-pinvoke! CFFileSecurityGetTypeID is not bound
|
||||
!missing-pinvoke! CFHostGetTypeID is not bound
|
||||
!missing-pinvoke! CFLocaleGetTypeID is not bound
|
||||
!missing-pinvoke! CFMachPortGetTypeID is not bound
|
||||
!missing-pinvoke! CFMessagePortGetTypeID is not bound
|
||||
!missing-pinvoke! CFNetServiceBrowserGetTypeID is not bound
|
||||
!missing-pinvoke! CFNetServiceGetTypeID is not bound
|
||||
!missing-pinvoke! CFNetServiceMonitorGetTypeID is not bound
|
||||
!missing-pinvoke! CFNotificationCenterGetTypeID is not bound
|
||||
!missing-pinvoke! CFNullGetTypeID is not bound
|
||||
!missing-pinvoke! CFNumberFormatterGetTypeID is not bound
|
||||
!missing-pinvoke! CFPlugInGetTypeID is not bound
|
||||
!missing-pinvoke! CFPlugInInstanceGetTypeID is not bound
|
||||
!missing-pinvoke! CFReadStreamGetTypeID is not bound
|
||||
!missing-pinvoke! CFRunLoopGetTypeID is not bound
|
||||
!missing-pinvoke! CFRunLoopObserverGetTypeID is not bound
|
||||
!missing-pinvoke! CFRunLoopSourceGetTypeID is not bound
|
||||
!missing-pinvoke! CFRunLoopTimerGetTypeID is not bound
|
||||
!missing-pinvoke! CFSetGetTypeID is not bound
|
||||
!missing-pinvoke! CFSocketGetTypeID is not bound
|
||||
!missing-pinvoke! CFStringTokenizerGetTypeID is not bound
|
||||
!missing-pinvoke! CFTimeZoneGetTypeID is not bound
|
||||
!missing-pinvoke! CFTreeGetTypeID is not bound
|
||||
!missing-pinvoke! CFURLEnumeratorGetTypeID is not bound
|
||||
!missing-pinvoke! CFUUIDGetTypeID is not bound
|
||||
!missing-pinvoke! CFWriteStreamGetTypeID is not bound
|
||||
!missing-pinvoke! CGColorGetTypeID is not bound
|
||||
!missing-pinvoke! CGColorSpaceGetTypeID is not bound
|
||||
!missing-pinvoke! CGContextGetTypeID is not bound
|
||||
!missing-pinvoke! CGDataConsumerGetTypeID is not bound
|
||||
!missing-pinvoke! CGDataProviderGetTypeID is not bound
|
||||
!missing-pinvoke! CGFunctionGetTypeID is not bound
|
||||
!missing-pinvoke! CGGradientGetTypeID is not bound
|
||||
!missing-pinvoke! CGImageGetTypeID is not bound
|
||||
!missing-pinvoke! CGLayerGetTypeID is not bound
|
||||
!missing-pinvoke! CGPDFDocumentGetTypeID is not bound
|
||||
!missing-pinvoke! CGPDFPageGetTypeID is not bound
|
||||
!missing-pinvoke! CGPathGetTypeID is not bound
|
||||
!missing-pinvoke! CGPatternGetTypeID is not bound
|
||||
!missing-pinvoke! CGShadingGetTypeID is not bound
|
||||
!missing-pinvoke! CMBlockBufferGetTypeID is not bound
|
||||
!missing-pinvoke! CMBufferQueueGetTypeID is not bound
|
||||
!missing-pinvoke! CMClockGetTypeID is not bound
|
||||
!missing-pinvoke! CMMemoryPoolGetTypeID is not bound
|
||||
!missing-pinvoke! CMSimpleQueueGetTypeID is not bound
|
||||
!missing-pinvoke! CMTimebaseGetTypeID is not bound
|
||||
!missing-pinvoke! CTFontCollectionGetTypeID is not bound
|
||||
!missing-pinvoke! CTFontDescriptorGetTypeID is not bound
|
||||
!missing-pinvoke! CTFrameGetTypeID is not bound
|
||||
!missing-pinvoke! CTFramesetterGetTypeID is not bound
|
||||
!missing-pinvoke! CTGlyphInfoGetTypeID is not bound
|
||||
!missing-pinvoke! CTLineGetTypeID is not bound
|
||||
!missing-pinvoke! CTParagraphStyleGetTypeID is not bound
|
||||
!missing-pinvoke! CTRubyAnnotationGetTypeID is not bound
|
||||
!missing-pinvoke! CTRunDelegateGetTypeID is not bound
|
||||
!missing-pinvoke! CTRunGetTypeID is not bound
|
||||
!missing-pinvoke! CTTextTabGetTypeID is not bound
|
||||
!missing-pinvoke! CTTypesetterGetTypeID is not bound
|
||||
!missing-pinvoke! GLKMatrixStackGetTypeID is not bound
|
||||
!missing-pinvoke! MTAudioProcessingTapGetTypeID is not bound
|
||||
!missing-pinvoke! SCNetworkReachabilityGetTypeID is not bound
|
||||
!missing-pinvoke! SecAccessControlGetTypeID is not bound
|
||||
!missing-pinvoke! VTCompressionSessionGetTypeID is not bound
|
||||
!missing-pinvoke! VTDecompressionSessionGetTypeID is not bound
|
||||
!missing-pinvoke! VTFrameSiloGetTypeID is not bound
|
||||
!missing-pinvoke! VTMultiPassStorageGetTypeID is not bound
|
||||
|
||||
## implemented in managed code
|
||||
### ToString / we might not match the output but changing them would be a breaking change for some apps
|
||||
!missing-pinvoke! NSStringFromCGAffineTransform is not bound
|
||||
!missing-pinvoke! NSStringFromCGPoint is not bound
|
||||
!missing-pinvoke! NSStringFromCGRect is not bound
|
||||
!missing-pinvoke! NSStringFromCGSize is not bound
|
||||
!missing-pinvoke! NSStringFromUIOffset is not bound
|
||||
### OTOH the (missing) convertions from an NSString needs to match too
|
||||
!missing-pinvoke! CGAffineTransformFromString is not bound
|
||||
!missing-pinvoke! CGPointFromString is not bound
|
||||
!missing-pinvoke! CGRectFromString is not bound
|
||||
!missing-pinvoke! CGSizeFromString is not bound
|
||||
!missing-pinvoke! UIOffsetFromString is not bound
|
||||
|
||||
|
||||
## partially bound, non-framework code
|
||||
## we already check that they exists, at runtime, in the introspection tests
|
||||
## but we have no plan to bind the remaining of functions from those header files
|
||||
!unknown-pinvoke! _Block_copy bound
|
||||
!unknown-pinvoke! _Block_release bound
|
||||
!unknown-pinvoke! class_addIvar bound
|
||||
!unknown-pinvoke! class_addMethod bound
|
||||
!unknown-pinvoke! class_addProtocol bound
|
||||
!unknown-pinvoke! class_getInstanceVariable bound
|
||||
!unknown-pinvoke! class_getMethodImplementation bound
|
||||
!unknown-pinvoke! class_getName bound
|
||||
!unknown-pinvoke! class_getSuperclass bound
|
||||
!unknown-pinvoke! close bound
|
||||
!unknown-pinvoke! dispatch_after_f bound
|
||||
!unknown-pinvoke! dispatch_apply_f bound
|
||||
!unknown-pinvoke! dispatch_async_f bound
|
||||
!unknown-pinvoke! dispatch_barrier_async_f bound
|
||||
!unknown-pinvoke! dispatch_get_context bound
|
||||
!unknown-pinvoke! dispatch_get_current_queue bound
|
||||
!unknown-pinvoke! dispatch_get_global_queue bound
|
||||
!unknown-pinvoke! dispatch_group_async_f bound
|
||||
!unknown-pinvoke! dispatch_group_create bound
|
||||
!unknown-pinvoke! dispatch_group_enter bound
|
||||
!unknown-pinvoke! dispatch_group_leave bound
|
||||
!unknown-pinvoke! dispatch_group_notify_f bound
|
||||
!unknown-pinvoke! dispatch_group_wait bound
|
||||
!unknown-pinvoke! dispatch_queue_create bound
|
||||
!unknown-pinvoke! dispatch_queue_get_label bound
|
||||
!unknown-pinvoke! dispatch_release bound
|
||||
!unknown-pinvoke! dispatch_resume bound
|
||||
!unknown-pinvoke! dispatch_retain bound
|
||||
!unknown-pinvoke! dispatch_set_context bound
|
||||
!unknown-pinvoke! dispatch_set_target_queue bound
|
||||
!unknown-pinvoke! dispatch_source_cancel bound
|
||||
!unknown-pinvoke! dispatch_source_create bound
|
||||
!unknown-pinvoke! dispatch_source_get_data bound
|
||||
!unknown-pinvoke! dispatch_source_get_handle bound
|
||||
!unknown-pinvoke! dispatch_source_get_mask bound
|
||||
!unknown-pinvoke! dispatch_source_merge_data bound
|
||||
!unknown-pinvoke! dispatch_source_set_cancel_handler bound
|
||||
!unknown-pinvoke! dispatch_source_set_event_handler bound
|
||||
!unknown-pinvoke! dispatch_source_set_event_handler_f bound
|
||||
!unknown-pinvoke! dispatch_source_set_registration_handler bound
|
||||
!unknown-pinvoke! dispatch_source_set_timer bound
|
||||
!unknown-pinvoke! dispatch_source_testcancel bound
|
||||
!unknown-pinvoke! dispatch_suspend bound
|
||||
!unknown-pinvoke! dispatch_sync_f bound
|
||||
!unknown-pinvoke! dispatch_time bound
|
||||
!unknown-pinvoke! dispatch_walltime bound
|
||||
!unknown-pinvoke! dlclose bound
|
||||
!unknown-pinvoke! dlerror bound
|
||||
!unknown-pinvoke! dlopen bound
|
||||
!unknown-pinvoke! dlsym bound
|
||||
!unknown-pinvoke! memcpy bound
|
||||
!unknown-pinvoke! objc_allocateClassPair bound
|
||||
!unknown-pinvoke! objc_allocateProtocol bound
|
||||
!unknown-pinvoke! objc_getClass bound
|
||||
!unknown-pinvoke! objc_getProtocol bound
|
||||
!unknown-pinvoke! objc_msgSend bound
|
||||
!unknown-pinvoke! objc_msgSendSuper bound
|
||||
!unknown-pinvoke! objc_registerClassPair bound
|
||||
!unknown-pinvoke! objc_registerProtocol bound
|
||||
!unknown-pinvoke! object_getClass bound
|
||||
!unknown-pinvoke! object_getInstanceVariable bound
|
||||
!unknown-pinvoke! object_setInstanceVariable bound
|
||||
!unknown-pinvoke! open bound
|
||||
!unknown-pinvoke! protocol_addMethodDescription bound
|
||||
!unknown-pinvoke! protocol_addProperty bound
|
||||
!unknown-pinvoke! protocol_addProtocol bound
|
||||
!unknown-pinvoke! protocol_getName bound
|
||||
!unknown-pinvoke! sel_getName bound
|
||||
!unknown-pinvoke! sel_isMapped bound
|
||||
!unknown-pinvoke! sel_registerName bound
|
||||
!unknown-pinvoke! uname bound
|
||||
|
||||
# Intents
|
||||
|
||||
## NS_DEPRECATED(10_12, 10_12, 10_0, 10_0) / Designated init instead
|
||||
!missing-selector! INPerson::handle not bound
|
||||
!missing-selector! INPerson::initWithHandle:displayName:contactIdentifier: not bound
|
||||
!missing-selector! INPerson::initWithHandle:nameComponents:contactIdentifier: not bound
|
||||
!missing-selector! INPerson::initWithHandle:nameComponents:displayName:image:contactIdentifier: not bound
|
||||
|
||||
## Apple made this @optional in iOS 11 but this is a breaking change
|
||||
!incorrect-protocol-member! INSpeakable::identifier is OPTIONAL and should NOT be abstract
|
||||
|
||||
# GameplayKit
|
||||
|
||||
## Fixed in XAMCORE_4_0
|
||||
!incorrect-protocol-member! GKGameModelPlayer::playerId is REQUIRED and should be abstract
|
||||
|
||||
# ModelIO
|
||||
|
||||
|
@ -638,42 +315,3 @@
|
|||
!incorrect-protocol-member! MDLTransformComponent::keyTimes is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MDLTransformComponent::resetsTransform is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MDLTransformComponent::setResetsTransform: is REQUIRED and should be abstract
|
||||
|
||||
|
||||
## radar://33643011 -> https://trello.com/c/ZN712GOi
|
||||
## [FAIL] Selector not found for CoreML.MLFeatureDescription : setMultiArrayConstraint:
|
||||
## [FAIL] Selector not found for CoreML.MLFeatureDescription : setImageConstraint:
|
||||
## [FAIL] Selector not found for CoreML.MLFeatureDescription : setDictionaryConstraint:
|
||||
!missing-selector! MLFeatureDescription::setDictionaryConstraint: not bound
|
||||
!missing-selector! MLFeatureDescription::setImageConstraint: not bound
|
||||
!missing-selector! MLFeatureDescription::setMultiArrayConstraint: not bound
|
||||
|
||||
|
||||
|
||||
# recent xtro changes
|
||||
|
||||
## init
|
||||
!missing-designated-initializer! CXAction::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! MPSBinaryImageKernel::initWithDevice: is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! MPSCNNKernel::initWithDevice: is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! MPSImageLanczosScale::initWithDevice: is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! MPSUnaryImageKernel::initWithDevice: is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! MSMessage::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! PKAddPaymentPassRequest::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! SLComposeSheetConfigurationItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBarButtonItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBarItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBezierPath::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UICollectionViewLayout::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UICubicTimingParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIDragPreviewParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIImageAsset::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIKeyCommand::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UILocalNotification::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIMotionEffect::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIPasteConfiguration::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UISpringTimingParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UITabBarItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UITraitCollection::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIUserNotificationAction::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIUserNotificationCategory::init is missing an [DesignatedInitializer] attribute
|
||||
|
|
|
@ -1,3 +1,16 @@
|
|||
## OSX-only enums - fixed in XAMCORE_3_0
|
||||
!unknown-native-enum! AVCaptureDeviceTransportControlsPlaybackMode bound
|
||||
!unknown-native-enum! AVVideoFieldMode bound
|
||||
|
||||
## OSX only - but only the member is marked (not the protocol itself)
|
||||
!missing-protocol! AVFragmentMinding not bound
|
||||
|
||||
# from iOS 4.0 to 5.1
|
||||
!unknown-field! AVMediaTypeTimedMetadata bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!missing-field! AVAssetDownloadedAssetEvictionPriorityDefault not bound
|
||||
!missing-field! AVAssetDownloadedAssetEvictionPriorityImportant not bound
|
||||
!missing-protocol-conformance! AVCaptureSynchronizedDataCollection should conform to NSFastEnumeration
|
||||
|
@ -15,8 +28,5 @@
|
|||
!missing-selector! AVMetadataMachineReadableCodeObject::descriptor not bound
|
||||
!missing-selector! AVMutableAssetDownloadStorageManagementPolicy::priority not bound
|
||||
!missing-selector! AVMutableAssetDownloadStorageManagementPolicy::setPriority: not bound
|
||||
!unknown-field! AVMediaTypeTimedMetadata bound
|
||||
!unknown-native-enum! AVAudioSessionFlags bound
|
||||
!unknown-native-enum! AVAudioSessionInterruptionFlags bound
|
||||
!unknown-native-enum! AVCaptureDeviceTransportControlsPlaybackMode bound
|
||||
!unknown-native-enum! AVVideoFieldMode bound
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
## more deprecated (iOS 7) constants
|
||||
!missing-field! kAudioSession_AudioRouteChangeKey_CurrentRouteDescription not bound
|
||||
!missing-field! kAudioSession_AudioRouteChangeKey_PreviousRouteDescription not bound
|
||||
!missing-field! kAudioSession_AudioRouteKey_Inputs not bound
|
||||
|
@ -8,6 +9,8 @@
|
|||
!missing-field! kAudioSession_OutputDestinationKey_Description not bound
|
||||
!missing-field! kAudioSession_OutputDestinationKey_ID not bound
|
||||
!missing-field! kAudioSession_RouteChangeKey_Reason not bound
|
||||
|
||||
## all kAudioSession[In|Out]putRoute* were deprecated in iOS 7 - not worth binding
|
||||
!missing-field! kAudioSessionInputRoute_BluetoothHFP not bound
|
||||
!missing-field! kAudioSessionInputRoute_BuiltInMic not bound
|
||||
!missing-field! kAudioSessionInputRoute_HeadsetMic not bound
|
||||
|
@ -22,5 +25,11 @@
|
|||
!missing-field! kAudioSessionOutputRoute_Headphones not bound
|
||||
!missing-field! kAudioSessionOutputRoute_LineOut not bound
|
||||
!missing-field! kAudioSessionOutputRoute_USBAudio not bound
|
||||
|
||||
## deprecated in iOS 7
|
||||
!missing-pinvoke! AudioSessionRemovePropertyListenerWithUserData is not bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!missing-pinvoke! MusicTrackGetDestMIDIEndpoint is not bound
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
## obsoleted (removed from headers) in iOS 8.4
|
||||
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrieveConnectedPeripherals: found
|
||||
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrievePeripherals: found
|
||||
|
||||
## obsoleted (removed from headers) in iOS 8.4
|
||||
!extra-protocol-member! unexpected selector CBPeripheralDelegate::peripheralDidInvalidateServices: found
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
!missing-designated-initializer! NSArray::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSDate::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSDictionary::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSISO8601DateFormatter::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSItemProvider::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableArray::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableDictionary::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableOrderedSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSOrderedSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSOutputStream::initToMemory is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSString::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSThread::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSUUID::init is missing an [DesignatedInitializer] attribute
|
|
@ -1,4 +1,11 @@
|
|||
!missing-field! MKAnnotationCalloutInfoDidChangeNotification not bound
|
||||
## defined twice for iOS (likely to make it available to OSX)
|
||||
### MKOverlayRenderer.h
|
||||
### MKOverlayView.h (based on UIView so not in OSX headers list)
|
||||
!missing-pinvoke! MKRoadWidthAtZoomScale is not bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!missing-field! MKAnnotationCalloutInfoDidChangeNotification not bound
|
||||
!missing-protocol-conformance! MKUserLocation should conform to MKAnnotation
|
||||
!missing-protocol-member! MKOverlay::coordinate not found
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
## incorrect macro/parsing - decorated with `MP_API(macos(10.12.2))`
|
||||
!missing-enum! MPNowPlayingPlaybackState not bound
|
||||
!missing-selector! MPNowPlayingInfoCenter::playbackState not bound
|
||||
!missing-selector! MPNowPlayingInfoCenter::setPlaybackState: not bound
|
||||
|
||||
# added in iOS7 but there was another way to get this ending up with the same name
|
||||
# so current code works better (before 7.0) but can't be overridden (likely a good thing)
|
||||
!missing-selector! MPMediaEntity::persistentID not bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!missing-selector! MPMediaItem::albumArtist not bound
|
||||
!missing-selector! MPMediaItem::albumArtistPersistentID not bound
|
||||
!missing-selector! MPMediaItem::albumPersistentID not bound
|
||||
|
@ -38,5 +48,3 @@
|
|||
!missing-selector! MPMediaItem::skipCount not bound
|
||||
!missing-selector! MPMediaItem::title not bound
|
||||
!missing-selector! MPMediaItem::userGrouping not bound
|
||||
!missing-selector! MPNowPlayingInfoCenter::playbackState not bound
|
||||
!missing-selector! MPNowPlayingInfoCenter::setPlaybackState: not bound
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
## only on macOS (but removing would be a breaking change)
|
||||
!unknown-native-enum! MTLSamplerBorderColor bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!incorrect-protocol-member! MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLComputeCommandEncoder::setImageblockWidth:height: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! MTLComputePipelineState::imageblockMemoryLengthForDimensions: is REQUIRED and should be abstract
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
!missing-designated-initializer! SLComposeSheetConfigurationItem::init is missing an [DesignatedInitializer] attribute
|
||||
|
||||
## deprecated in iOS 11 - and it was not available on iOS before Xcode9 (iOS 11) even if the new headers says otherwise
|
||||
!missing-field! SLServiceTypeLinkedIn not bound
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
!missing-designated-initializer! SLComposeSheetConfigurationItem::init is missing an [DesignatedInitializer] attribute
|
|
@ -19,21 +19,29 @@
|
|||
!unknown-field! UIKeyboardCenterBeginUserInfoKey bound
|
||||
!unknown-field! UIKeyboardCenterEndUserInfoKey bound
|
||||
|
||||
# from docs: Important: UIActionSheetDelegate is deprecated in iOS 8.
|
||||
!missing-protocol-conformance! UIDocumentInteractionController should conform to UIActionSheetDelegate
|
||||
|
||||
## exception name, not clear if useful
|
||||
!missing-field! UIApplicationInvalidInterfaceOrientationException not bound
|
||||
|
||||
## fixed for XAMCORE_4_0
|
||||
!incorrect-protocol-member! UIDocumentPickerDelegate::documentPicker:didPickDocumentAtURL: is OPTIONAL and should NOT be abstract
|
||||
|
||||
## Special case from UIAccessibilityAction. We added it (completly) on UIResponser but magic tap is also available on app delegate according to docs
|
||||
## See comments is uikit.cs for more info
|
||||
!extra-protocol-member! unexpected selector UIApplicationDelegate::accessibilityPerformMagicTap found
|
||||
|
||||
## Obsoleted selectors in very early versions of iOS (3.0) and removed in XAMCORE_3_0
|
||||
!extra-protocol-member! unexpected selector UITableViewDelegate::tableView:accessoryTypeForRowWithIndexPath: found
|
||||
!extra-protocol-member! unexpected selector UIImagePickerControllerDelegate::imagePickerController:didFinishPickingImage:editingInfo: found
|
||||
|
||||
# fixed in XAMCORE_4_0 - API break
|
||||
!incorrect-protocol-member! UIDocumentMenuDelegate::documentMenuWasCancelled: is OPTIONAL and should NOT be abstract
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!extra-protocol-member! unexpected selector UIApplicationDelegate::accessibilityPerformMagicTap found
|
||||
!extra-protocol-member! unexpected selector UIImagePickerControllerDelegate::imagePickerController:didFinishPickingImage:editingInfo: found
|
||||
!extra-protocol-member! unexpected selector UITableViewDelegate::tableView:accessoryTypeForRowWithIndexPath: found
|
||||
!incorrect-protocol-member! UIDocumentMenuDelegate::documentMenuWasCancelled: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UIDocumentPickerDelegate::documentPicker:didPickDocumentAtURL: is OPTIONAL and should NOT be abstract
|
||||
!missing-designated-initializer! UIDragPreviewParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UILocalNotification::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UISpringTimingParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIUserNotificationAction::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIUserNotificationCategory::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-field! UIApplicationInvalidInterfaceOrientationException not bound
|
||||
!missing-protocol-conformance! UIDocumentInteractionController should conform to UIActionSheetDelegate
|
||||
!missing-selector! NSObject::accessibilityDragSourceDescriptors not bound
|
||||
!missing-selector! NSObject::accessibilityDropPointDescriptors not bound
|
||||
!missing-selector! NSObject::setAccessibilityDragSourceDescriptors: not bound
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
!missing-designated-initializer! NSLayoutManager::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSShadow::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBarButtonItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBarItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBezierPath::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UICollectionViewLayout::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UICubicTimingParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIImageAsset::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIKeyCommand::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIMotionEffect::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIPasteConfiguration::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UITabBarItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UITraitCollection::init is missing an [DesignatedInitializer] attribute
|
||||
|
||||
!missing-designated-initializer! UIDragPreviewParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UILocalNotification::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UISpringTimingParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIUserNotificationAction::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIUserNotificationCategory::init is missing an [DesignatedInitializer] attribute
|
|
@ -1,3 +1,4 @@
|
|||
# unfortunate (but required for API compatibility) it also means one seems to be missing (same key)
|
||||
!duplicate-type-name! WKErrorCode enum exists as both WatchKit.WKErrorCode and WebKit.WKErrorCode
|
||||
## unfortunate (but required for API compatibility) the name exists in both WatchKit and WebKit namespaces
|
||||
## it's reported as missing here because it's removed from the list when processing WatchKit
|
||||
!duplicate-type-name! WKErrorCode enum exists as both WebKit.WKErrorCode and WatchKit.WKErrorCode
|
||||
!missing-enum! WKErrorCode not bound
|
||||
|
|
|
@ -1,244 +0,0 @@
|
|||
# iOS specific issues we want to (very likely forever) ignore
|
||||
|
||||
# hacks around Apple - because we want better API :)
|
||||
|
||||
|
||||
|
||||
|
||||
# AudioUnit
|
||||
|
||||
## all kAudioSession[In|Out]putRoute* were deprecated in iOS 7 - not worth binding
|
||||
!missing-field! kAudioSessionInputRoute_BluetoothHFP not bound
|
||||
!missing-field! kAudioSessionInputRoute_BuiltInMic not bound
|
||||
!missing-field! kAudioSessionInputRoute_HeadsetMic not bound
|
||||
!missing-field! kAudioSessionInputRoute_LineIn not bound
|
||||
!missing-field! kAudioSessionInputRoute_USBAudio not bound
|
||||
!missing-field! kAudioSessionOutputRoute_AirPlay not bound
|
||||
!missing-field! kAudioSessionOutputRoute_BluetoothA2DP not bound
|
||||
!missing-field! kAudioSessionOutputRoute_BluetoothHFP not bound
|
||||
!missing-field! kAudioSessionOutputRoute_BuiltInReceiver not bound
|
||||
!missing-field! kAudioSessionOutputRoute_BuiltInSpeaker not bound
|
||||
!missing-field! kAudioSessionOutputRoute_HDMI not bound
|
||||
!missing-field! kAudioSessionOutputRoute_Headphones not bound
|
||||
!missing-field! kAudioSessionOutputRoute_LineOut not bound
|
||||
!missing-field! kAudioSessionOutputRoute_USBAudio not bound
|
||||
# more deprecated (iOS 7) constants
|
||||
!missing-field! kAudioSession_AudioRouteChangeKey_CurrentRouteDescription not bound
|
||||
!missing-field! kAudioSession_AudioRouteChangeKey_PreviousRouteDescription not bound
|
||||
!missing-field! kAudioSession_AudioRouteKey_Inputs not bound
|
||||
!missing-field! kAudioSession_AudioRouteKey_Outputs not bound
|
||||
!missing-field! kAudioSession_AudioRouteKey_Type not bound
|
||||
!missing-field! kAudioSession_InputSourceKey_Description not bound
|
||||
!missing-field! kAudioSession_InputSourceKey_ID not bound
|
||||
!missing-field! kAudioSession_OutputDestinationKey_Description not bound
|
||||
!missing-field! kAudioSession_OutputDestinationKey_ID not bound
|
||||
!missing-field! kAudioSession_RouteChangeKey_Reason not bound
|
||||
# deprecated in iOS 7
|
||||
!missing-pinvoke! AudioSessionRemovePropertyListenerWithUserData is not bound
|
||||
|
||||
|
||||
# CoreBluetooth
|
||||
|
||||
## obsoleted (removed from headers) in iOS 8.4
|
||||
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrieveConnectedPeripherals: found
|
||||
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrievePeripherals: found
|
||||
|
||||
## obsoleted (removed from headers) in iOS 8.4
|
||||
!extra-protocol-member! unexpected selector CBPeripheralDelegate::peripheralDidInvalidateServices: found
|
||||
|
||||
|
||||
|
||||
# GameKit
|
||||
|
||||
## typedef is used + untyped enum in GKPeerPickerController.h: typedef NSUInteger GKPeerPickerConnectionType
|
||||
!unknown-native-enum! GKPeerPickerConnectionType bound
|
||||
|
||||
|
||||
# Intents
|
||||
|
||||
## added and deprecated in Xcode9 (but not removed from headers)
|
||||
!missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound
|
||||
|
||||
## The following were deprecated in ios(10.0, 10.0)
|
||||
!missing-selector! INRideDriver::initWithHandle:displayName:image:rating:phoneNumber: not bound
|
||||
!missing-selector! INRideDriver::initWithHandle:nameComponents:image:rating:phoneNumber: not bound
|
||||
!missing-selector! INRideOption::identifier not bound
|
||||
!missing-selector! INRideOption::setIdentifier: not bound
|
||||
|
||||
|
||||
# IntentsUI
|
||||
|
||||
## not exposed by our API (better use the OS version)
|
||||
!missing-field! IntentsUIVersionNumber not bound
|
||||
!missing-field! IntentsUIVersionString not bound
|
||||
|
||||
|
||||
# MediaPlayer
|
||||
|
||||
## incorrect macro/parsing - decorated with `MP_API(macos(10.12.2))`
|
||||
!missing-enum! MPNowPlayingPlaybackState not bound
|
||||
!missing-selector! MPNowPlayingInfoCenter::playbackState not bound
|
||||
!missing-selector! MPNowPlayingInfoCenter::setPlaybackState: not bound
|
||||
|
||||
|
||||
# PushKit
|
||||
|
||||
## was @required but now @optional (a replacement was added in Xcode9) - still a breaking change to remove the abstract
|
||||
!incorrect-protocol-member! PKPushRegistryDelegate::pushRegistry:didReceiveIncomingPushWithPayload:forType: is OPTIONAL and should NOT be abstract
|
||||
|
||||
|
||||
# Social
|
||||
|
||||
## deprecated (was not available on iOS before Xcode9)
|
||||
!missing-field! SLServiceTypeLinkedIn not bound
|
||||
|
||||
|
||||
# UIKit
|
||||
|
||||
## static members cannot be abstract (@required) in .NET
|
||||
!incorrect-protocol-member! +UIPopoverBackgroundViewMethods::arrowBase is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! +UIPopoverBackgroundViewMethods::arrowHeight is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! +UIPopoverBackgroundViewMethods::contentViewInsets is REQUIRED and should be abstract
|
||||
|
||||
## Exposed thru UIAccessibilityContainer (informal protocol) as we do not want all NSObject to expose them (as a category of UKit)
|
||||
!missing-selector! NSObject::accessibilityElementAtIndex: not bound
|
||||
!missing-selector! NSObject::accessibilityElements not bound
|
||||
!missing-selector! NSObject::indexOfAccessibilityElement: not bound
|
||||
!missing-selector! NSObject::setAccessibilityElements: not bound
|
||||
|
||||
## UIAccessibility
|
||||
## We can't expose them as categories of NSObject so we have custom types instead
|
||||
!missing-selector! NSObject::accessibilityActivationPoint not bound
|
||||
!missing-selector! NSObject::accessibilityAttributedHint not bound
|
||||
!missing-selector! NSObject::accessibilityAttributedLabel not bound
|
||||
!missing-selector! NSObject::accessibilityAttributedValue not bound
|
||||
!missing-selector! NSObject::accessibilityContainerType not bound
|
||||
!missing-selector! NSObject::accessibilityCustomActions not bound
|
||||
!missing-selector! NSObject::accessibilityDragSourceDescriptors not bound
|
||||
!missing-selector! NSObject::accessibilityDropPointDescriptors not bound
|
||||
!missing-selector! NSObject::accessibilityElementsHidden not bound
|
||||
!missing-selector! NSObject::accessibilityFrame not bound
|
||||
!missing-selector! NSObject::accessibilityHint not bound
|
||||
!missing-selector! NSObject::accessibilityLabel not bound
|
||||
!missing-selector! NSObject::accessibilityLanguage not bound
|
||||
!missing-selector! NSObject::accessibilityNavigationStyle not bound
|
||||
!missing-selector! NSObject::accessibilityPath not bound
|
||||
!missing-selector! NSObject::accessibilityScroll: not bound
|
||||
!missing-selector! NSObject::accessibilityTraits not bound
|
||||
!missing-selector! NSObject::accessibilityValue not bound
|
||||
!missing-selector! NSObject::accessibilityViewIsModal not bound
|
||||
!missing-selector! NSObject::isAccessibilityElement not bound
|
||||
!missing-selector! NSObject::setAccessibilityActivationPoint: not bound
|
||||
!missing-selector! NSObject::setAccessibilityAttributedHint: not bound
|
||||
!missing-selector! NSObject::setAccessibilityAttributedLabel: not bound
|
||||
!missing-selector! NSObject::setAccessibilityAttributedValue: not bound
|
||||
!missing-selector! NSObject::setAccessibilityContainerType: not bound
|
||||
!missing-selector! NSObject::setAccessibilityCustomActions: not bound
|
||||
!missing-selector! NSObject::setAccessibilityDragSourceDescriptors: not bound
|
||||
!missing-selector! NSObject::setAccessibilityDropPointDescriptors: not bound
|
||||
!missing-selector! NSObject::setAccessibilityElementsHidden: not bound
|
||||
!missing-selector! NSObject::setAccessibilityFrame: not bound
|
||||
!missing-selector! NSObject::setAccessibilityHint: not bound
|
||||
!missing-selector! NSObject::setAccessibilityLabel: not bound
|
||||
!missing-selector! NSObject::setAccessibilityLanguage: not bound
|
||||
!missing-selector! NSObject::setAccessibilityNavigationStyle: not bound
|
||||
!missing-selector! NSObject::setAccessibilityPath: not bound
|
||||
!missing-selector! NSObject::setAccessibilityTraits: not bound
|
||||
!missing-selector! NSObject::setAccessibilityValue: not bound
|
||||
!missing-selector! NSObject::setAccessibilityViewIsModal: not bound
|
||||
!missing-selector! NSObject::setIsAccessibilityElement: not bound
|
||||
!missing-selector! NSObject::setShouldGroupAccessibilityChildren: not bound
|
||||
!missing-selector! NSObject::shouldGroupAccessibilityChildren not bound
|
||||
|
||||
|
||||
## methods are [Sealed] so we can't reflect the selector
|
||||
### Docs: This method is intended to be called, not overridden.
|
||||
!missing-selector! UIGestureRecognizer::ignorePress:forEvent: not bound
|
||||
|
||||
|
||||
# XAMCORE_3_0
|
||||
|
||||
## OSX-only enums
|
||||
!unknown-native-enum! AVCaptureDeviceTransportControlsPlaybackMode bound
|
||||
!unknown-native-enum! AVVideoFieldMode bound
|
||||
|
||||
|
||||
## fixed in maccore/master c741408048f1509fc156ab2c65d88af2dbd29830
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewDidEndDecelerating: bound
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewDidEndDragging:willDecelerate: bound
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewDidEndScrollingAnimation: bound
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewDidEndZooming:withView:atScale: bound
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewDidScroll: bound
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewDidScrollToTop: bound
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewDidZoom: bound
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewShouldScrollToTop: bound
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewWillBeginDecelerating: bound
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewWillBeginDragging: bound
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewWillBeginZooming:withView: bound
|
||||
!unknown-selector! UICollectionViewDelegate::scrollViewWillEndDragging:withVelocity:targetContentOffset: bound
|
||||
!unknown-selector! UICollectionViewDelegate::viewForZoomingInScrollView: bound
|
||||
|
||||
## fixed in maccore/master
|
||||
!unknown-protocol! SCNSceneExportDelegate bound
|
||||
!unknown-selector! SCNLight::attributeForKey: bound
|
||||
!unknown-selector! SCNLight::setAttribute:forKey: bound
|
||||
!unknown-selector! SCNSceneExportDelegate::writeImage:withSceneDocumentURL:originalImageURL: bound
|
||||
|
||||
|
||||
# special cases
|
||||
|
||||
## defined with __Internal (which is normally ignored here) so 3rd party tools can hack it
|
||||
!missing-pinvoke! UIApplicationMain is not bound
|
||||
|
||||
|
||||
## defined twice for iOS (likely to make it available to OSX)
|
||||
### MKOverlayRenderer.h
|
||||
### MKOverlayView.h (based on UIView so not in OSX headers list)
|
||||
!missing-pinvoke! MKRoadWidthAtZoomScale is not bound
|
||||
|
||||
## only on OSX (NA or unused in iOS)
|
||||
!missing-enum! EKAlarmType not bound
|
||||
!missing-enum! NSProcessInfoThermalState not bound
|
||||
|
||||
## HACK (as documented in uikit.cs)
|
||||
!incorrect-protocol-member! UITextInputTraits::setAutocapitalizationType: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setAutocorrectionType: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setEnablesReturnKeyAutomatically: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setKeyboardAppearance: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setKeyboardType: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setReturnKeyType: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setSecureTextEntry: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setSpellCheckingType: is OPTIONAL and should NOT be abstract
|
||||
|
||||
|
||||
# old deprecated - old enough that we don't provide bindings for them
|
||||
|
||||
## deprecated in iOS 3
|
||||
!missing-selector! UIWebView::detectsPhoneNumbers is not bound
|
||||
!missing-selector! UIWebView::setDetectsPhoneNumbers: is not bound
|
||||
!unknown-selector! UITableViewDelegate::tableView:accessoryTypeForRowWithIndexPath: bound
|
||||
|
||||
# from docs: Important: UIActionSheetDelegate is deprecated in iOS 8.
|
||||
!missing-protocol-conformance! UIApplication should conform to UIActionSheetDelegate
|
||||
!missing-protocol-conformance! UIDocumentInteractionController should conform to UIActionSheetDelegate
|
||||
|
||||
# from iOS 4.0 to 5.1
|
||||
!unknown-field! AVMediaTypeTimedMetadata bound
|
||||
|
||||
# Apple docs: Available in iOS 3.0 through iOS 7.1
|
||||
!unknown-selector! NSManagedObject::observationInfo bound
|
||||
!unknown-selector! NSManagedObject::setObservationInfo: bound
|
||||
|
||||
# Apple docs: deprecated in iOS 3.1
|
||||
!unknown-selector! UIImagePickerController::allowsImageEditing bound
|
||||
!unknown-selector! UIImagePickerController::setAllowsImageEditing: bound
|
||||
|
||||
# Apple docs: Available in iOS 8.0 through iOS 8.2.
|
||||
!unknown-field! SCNSceneSourceConvertToYUpKey bound
|
||||
!unknown-field! SCNSceneSourceConvertUnitsToMetersKey bound
|
||||
|
||||
# Apple headers: Deprecated in iOS 9
|
||||
!unknown-native-enum! ABPersonImageFormat bound
|
||||
|
||||
# deprecated in iOS 3.0
|
||||
!unknown-selector! UIImagePickerControllerDelegate::imagePickerController:didFinishPickingImage:editingInfo: bound
|
|
@ -1,272 +0,0 @@
|
|||
# iOS specific issues we need to look into
|
||||
|
||||
|
||||
# AddressBook
|
||||
|
||||
## constants were manually bound and this framework is deprecated (Contact)
|
||||
## so it's not worth updating the binding code for them
|
||||
!missing-field! kABPersonAddressCityKey not bound
|
||||
!missing-field! kABPersonAddressCountryCodeKey not bound
|
||||
!missing-field! kABPersonAddressCountryKey not bound
|
||||
!missing-field! kABPersonAddressProperty not bound
|
||||
!missing-field! kABPersonAddressStateKey not bound
|
||||
!missing-field! kABPersonAddressStreetKey not bound
|
||||
!missing-field! kABPersonAddressZIPKey not bound
|
||||
!missing-field! kABPersonAlternateBirthdayCalendarIdentifierKey not bound
|
||||
!missing-field! kABPersonAlternateBirthdayDayKey not bound
|
||||
!missing-field! kABPersonAlternateBirthdayEraKey not bound
|
||||
!missing-field! kABPersonAlternateBirthdayIsLeapMonthKey not bound
|
||||
!missing-field! kABPersonAlternateBirthdayMonthKey not bound
|
||||
!missing-field! kABPersonAlternateBirthdayProperty not bound
|
||||
!missing-field! kABPersonAlternateBirthdayYearKey not bound
|
||||
!missing-field! kABPersonAnniversaryLabel not bound
|
||||
!missing-field! kABPersonAssistantLabel not bound
|
||||
!missing-field! kABPersonBirthdayProperty not bound
|
||||
!missing-field! kABPersonBrotherLabel not bound
|
||||
!missing-field! kABPersonChildLabel not bound
|
||||
!missing-field! kABPersonCreationDateProperty not bound
|
||||
!missing-field! kABPersonDateProperty not bound
|
||||
!missing-field! kABPersonDepartmentProperty not bound
|
||||
!missing-field! kABPersonEmailProperty not bound
|
||||
!missing-field! kABPersonFatherLabel not bound
|
||||
!missing-field! kABPersonFirstNamePhoneticProperty not bound
|
||||
!missing-field! kABPersonFirstNameProperty not bound
|
||||
!missing-field! kABPersonFriendLabel not bound
|
||||
!missing-field! kABPersonHomePageLabel not bound
|
||||
!missing-field! kABPersonInstantMessageProperty not bound
|
||||
!missing-field! kABPersonInstantMessageServiceAIM not bound
|
||||
!missing-field! kABPersonInstantMessageServiceFacebook not bound
|
||||
!missing-field! kABPersonInstantMessageServiceGaduGadu not bound
|
||||
!missing-field! kABPersonInstantMessageServiceGoogleTalk not bound
|
||||
!missing-field! kABPersonInstantMessageServiceICQ not bound
|
||||
!missing-field! kABPersonInstantMessageServiceJabber not bound
|
||||
!missing-field! kABPersonInstantMessageServiceKey not bound
|
||||
!missing-field! kABPersonInstantMessageServiceMSN not bound
|
||||
!missing-field! kABPersonInstantMessageServiceQQ not bound
|
||||
!missing-field! kABPersonInstantMessageServiceSkype not bound
|
||||
!missing-field! kABPersonInstantMessageServiceYahoo not bound
|
||||
!missing-field! kABPersonInstantMessageUsernameKey not bound
|
||||
!missing-field! kABPersonJobTitleProperty not bound
|
||||
!missing-field! kABPersonKindOrganization not bound
|
||||
!missing-field! kABPersonKindPerson not bound
|
||||
!missing-field! kABPersonKindProperty not bound
|
||||
!missing-field! kABPersonLastNamePhoneticProperty not bound
|
||||
!missing-field! kABPersonLastNameProperty not bound
|
||||
!missing-field! kABPersonManagerLabel not bound
|
||||
!missing-field! kABPersonMiddleNamePhoneticProperty not bound
|
||||
!missing-field! kABPersonMiddleNameProperty not bound
|
||||
!missing-field! kABPersonModificationDateProperty not bound
|
||||
!missing-field! kABPersonMotherLabel not bound
|
||||
!missing-field! kABPersonNicknameProperty not bound
|
||||
!missing-field! kABPersonNoteProperty not bound
|
||||
!missing-field! kABPersonOrganizationProperty not bound
|
||||
!missing-field! kABPersonParentLabel not bound
|
||||
!missing-field! kABPersonPartnerLabel not bound
|
||||
!missing-field! kABPersonPhoneHomeFAXLabel not bound
|
||||
!missing-field! kABPersonPhoneIPhoneLabel not bound
|
||||
!missing-field! kABPersonPhoneMainLabel not bound
|
||||
!missing-field! kABPersonPhoneMobileLabel not bound
|
||||
!missing-field! kABPersonPhoneOtherFAXLabel not bound
|
||||
!missing-field! kABPersonPhonePagerLabel not bound
|
||||
!missing-field! kABPersonPhoneProperty not bound
|
||||
!missing-field! kABPersonPhoneWorkFAXLabel not bound
|
||||
!missing-field! kABPersonPrefixProperty not bound
|
||||
!missing-field! kABPersonRelatedNamesProperty not bound
|
||||
!missing-field! kABPersonSisterLabel not bound
|
||||
!missing-field! kABPersonSocialProfileProperty not bound
|
||||
!missing-field! kABPersonSocialProfileServiceFacebook not bound
|
||||
!missing-field! kABPersonSocialProfileServiceFlickr not bound
|
||||
!missing-field! kABPersonSocialProfileServiceGameCenter not bound
|
||||
!missing-field! kABPersonSocialProfileServiceKey not bound
|
||||
!missing-field! kABPersonSocialProfileServiceLinkedIn not bound
|
||||
!missing-field! kABPersonSocialProfileServiceMyspace not bound
|
||||
!missing-field! kABPersonSocialProfileServiceSinaWeibo not bound
|
||||
!missing-field! kABPersonSocialProfileServiceTwitter not bound
|
||||
!missing-field! kABPersonSocialProfileURLKey not bound
|
||||
!missing-field! kABPersonSocialProfileUserIdentifierKey not bound
|
||||
!missing-field! kABPersonSocialProfileUsernameKey not bound
|
||||
!missing-field! kABPersonSpouseLabel not bound
|
||||
!missing-field! kABPersonSuffixProperty not bound
|
||||
!missing-field! kABPersonURLProperty not bound
|
||||
!missing-field! kABSourceNameProperty not bound
|
||||
!missing-field! kABSourceTypeProperty not bound
|
||||
|
||||
|
||||
# CoreMedia
|
||||
|
||||
!missing-field! kCMMetadataKeySpace_HLSDateRange not bound
|
||||
|
||||
|
||||
# CoreVideo
|
||||
|
||||
!missing-field! kCVOpenGLESTextureCacheMaximumTextureAgeKey not bound
|
||||
|
||||
|
||||
# ExternalAccessory
|
||||
|
||||
## according to header comment (but not in attributes)
|
||||
!extra-designated-initializer! EAWiFiUnconfiguredAccessoryBrowser::initWithDelegate:queue: is incorrectly decorated with an [DesignatedInitializer] attribute
|
||||
|
||||
|
||||
# GameplayKit
|
||||
|
||||
## Apple introduced those types in Xcode 7.1 and removed them afterward !?!
|
||||
## they do work (intro tests checks them) but they are not part of the header files
|
||||
!unknown-type! GKHybridStrategist bound
|
||||
!unknown-type! GKMonteCarloStrategist bound
|
||||
!unknown-type! GKQuadTree bound
|
||||
!unknown-type! GKQuadTreeNode bound
|
||||
|
||||
|
||||
# Metal
|
||||
|
||||
## only on macOS (but removing would be a breaking change)
|
||||
!unknown-native-enum! MTLSamplerBorderColor bound
|
||||
|
||||
|
||||
# Speech
|
||||
## iOS 10 beta 1 - use a non-public type in the signature https://trello.com/c/s6s6YKua
|
||||
!missing-selector! SFSpeechRecognizer::prepareWithRequest: not bound
|
||||
|
||||
|
||||
# OpenGLES
|
||||
|
||||
!missing-field! kEAGLColorFormatRGB565 not bound
|
||||
!missing-field! kEAGLColorFormatRGBA8 not bound
|
||||
!missing-field! kEAGLColorFormatSRGBA8 not bound
|
||||
!missing-field! kEAGLDrawablePropertyColorFormat not bound
|
||||
!missing-field! kEAGLDrawablePropertyRetainedBacking not bound
|
||||
|
||||
|
||||
# VideoToolbox
|
||||
|
||||
## Apple headers bug, header file VTPixelTransferProperties.h not included by default (!TARGET_OS_IPHONE)
|
||||
## but API are mentioned as available (and our intro tests results concurs)
|
||||
!unknown-field! kVTDownsamplingMode_Average bound
|
||||
!unknown-field! kVTDownsamplingMode_Decimate bound
|
||||
!unknown-field! kVTPixelTransferPropertyKey_DestinationCleanAperture bound
|
||||
!unknown-field! kVTPixelTransferPropertyKey_DestinationPixelAspectRatio bound
|
||||
!unknown-field! kVTPixelTransferPropertyKey_DestinationYCbCrMatrix bound
|
||||
!unknown-field! kVTPixelTransferPropertyKey_DownsamplingMode bound
|
||||
!unknown-field! kVTPixelTransferPropertyKey_ScalingMode bound
|
||||
!unknown-field! kVTScalingMode_CropSourceToCleanAperture bound
|
||||
!unknown-field! kVTScalingMode_Letterbox bound
|
||||
!unknown-field! kVTScalingMode_Normal bound
|
||||
!unknown-field! kVTScalingMode_Trim bound
|
||||
|
||||
|
||||
# static methods in protocols are problematic
|
||||
!missing-selector! +UIViewControllerRestoration::viewControllerWithRestorationIdentifierPath:coder: not bound
|
||||
|
||||
|
||||
# the only member exists in OSX 10.11 - but there are empty protocols so it must be reported (and ignored)
|
||||
!missing-protocol! AVFragmentMinding not bound
|
||||
|
||||
# Apple docs: This property is inherited from the UIView parent class. This class changes the default value of this property to NO.
|
||||
!missing-selector! UIImageView::isUserInteractionEnabled not bound
|
||||
!missing-selector! UIImageView::setUserInteractionEnabled: not bound
|
||||
!missing-selector! UILabel::isUserInteractionEnabled not bound
|
||||
!missing-selector! UILabel::setUserInteractionEnabled: not bound
|
||||
|
||||
# added in iOS7 but there was another way to get this ending up with the same name
|
||||
# so current code works better (before 7.0) but can't be overridden (likely a good thing)
|
||||
!missing-selector! MPMediaEntity::persistentID not bound
|
||||
|
||||
## UIBarButtonItem.Callback nested type, [UI|NS]*GestureRecognizer.Callback nested types
|
||||
!unknown-type! Callback bound
|
||||
|
||||
## Implemented in managed code
|
||||
!missing-selector! UIColor::getHue:saturation:brightness:alpha: not bound
|
||||
!missing-selector! UIColor::getRed:green:blue:alpha: not bound
|
||||
|
||||
|
||||
|
||||
|
||||
# Apple renamed it from UILineBreakMode and we kept the old name
|
||||
!missing-enum! NSLineBreakMode not bound
|
||||
|
||||
# Apple renamed it from NSTextAlignment and we kept the old name
|
||||
!missing-enum! NSTextAlignment not bound
|
||||
|
||||
|
||||
# fixed in XAMCORE_4_0 - API break
|
||||
!incorrect-protocol-member! UIDocumentMenuDelegate::documentMenuWasCancelled: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UIDynamicAnimatorDelegate::dynamicAnimatorDidPause: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UIDynamicAnimatorDelegate::dynamicAnimatorWillResume: is OPTIONAL and should NOT be abstract
|
||||
|
||||
|
||||
# should we bother ?
|
||||
|
||||
## *GetTypeID
|
||||
!missing-pinvoke! CVMetalTextureCacheGetTypeID is not bound
|
||||
!missing-pinvoke! CVMetalTextureGetTypeID is not bound
|
||||
!missing-pinvoke! CVOpenGLESTextureCacheGetTypeID is not bound
|
||||
!missing-pinvoke! CVOpenGLESTextureGetTypeID is not bound
|
||||
|
||||
|
||||
# Intents API iOS 10
|
||||
|
||||
## INPayBillIntentHandling && INSearchForBillsIntentHandling are new protocols added in iOS 10.3. This two protocols
|
||||
## were added to the existing Protocol INPaymentsDomainHandling so making this two required would be a breaking change
|
||||
!incorrect-protocol-member! INPayBillIntentHandling::handlePayBill:completion: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! INSearchForBillsIntentHandling::handleSearchForBills:completion: is REQUIRED and should be abstract
|
||||
|
||||
|
||||
# UIKit
|
||||
|
||||
## HACK: those members are not *required* in ObjC but we made them
|
||||
## abstract to have them inlined in UITextField and UITextView
|
||||
## Even more confusing it that respondToSelecttor return NO on them
|
||||
## even if it works in _real_ life (compare unit and introspection tests)
|
||||
!incorrect-protocol-member! UITextInputTraits::autocapitalizationType is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::autocorrectionType is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::enablesReturnKeyAutomatically is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::isSecureTextEntry is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::keyboardAppearance is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::keyboardType is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::returnKeyType is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::spellCheckingType is OPTIONAL and should NOT be abstract
|
||||
|
||||
## it's technically optional but there's no point in adopting the protocol if you do not provide the implemenation
|
||||
## We should review the above ^ if we want to keep this when XAMCORE_4_0 becomes a thing
|
||||
!incorrect-protocol-member! UIInputViewAudioFeedback::enableInputClicksWhenVisible is OPTIONAL and should NOT be abstract
|
||||
|
||||
## Obsoleted selectors in very early versions of iOS (3.0) and removed in XAMCORE_3_0
|
||||
!extra-protocol-member! unexpected selector UIImagePickerControllerDelegate::imagePickerController:didFinishPickingImage:editingInfo: found
|
||||
!extra-protocol-member! unexpected selector UITableViewDelegate::tableView:accessoryTypeForRowWithIndexPath: found
|
||||
|
||||
## Special case from UIAccessibilityAction. We added it (completly) on UIResponser but magic tap is also available on app delegate according to docs
|
||||
## See comments is uikit.cs for more info
|
||||
!extra-protocol-member! unexpected selector UIApplicationDelegate::accessibilityPerformMagicTap found
|
||||
|
||||
## Protocol Inlined Maybe we want to change this in XAMCORE_4_0 since this predates our Category support
|
||||
!missing-protocol! UIResponderStandardEditActions not bound
|
||||
!missing-protocol-conformance! UIResponder should conform to UIResponderStandardEditActions
|
||||
|
||||
## @required members added to exixting interfaces (breaking change), fixed on XAMCORE_4_0
|
||||
!incorrect-protocol-member! UIViewControllerContextTransitioning::pauseInteractiveTransition is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UIViewControllerTransitionCoordinator::notifyWhenInteractionChangesUsingBlock: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UIViewControllerTransitionCoordinatorContext::isInterruptible is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UIFocusEnvironment::preferredFocusEnvironments is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UITextDocumentProxy::documentInputMode is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UITextDocumentProxy::documentIdentifier is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UITextDocumentProxy::selectedText is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UILayoutSupport::bottomAnchor is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UILayoutSupport::heightAnchor is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UILayoutSupport::topAnchor is REQUIRED and should be abstract
|
||||
|
||||
## Not bound intentionally, Factory method FromDisplayP3 is available and adding this as a ctor would make the api usage ugly since signature matches colorWithRed:green:blue:alpha:
|
||||
!missing-selector! UIColor::initWithDisplayP3Red:green:blue:alpha: not bound
|
||||
|
||||
## It seems that Apple added a setter but it seems it is a mistake on the newly added property radar:27929872
|
||||
!missing-selector! UIViewController::setDisablesAutomaticKeyboardDismissal: not bound
|
||||
|
||||
## exception name, not clear if useful
|
||||
!missing-field! UIApplicationInvalidInterfaceOrientationException not bound
|
||||
|
||||
## fixed for XAMCORE_4_0
|
||||
!incorrect-protocol-member! UIDocumentPickerDelegate::documentPicker:didPickDocumentAtURL: is OPTIONAL and should NOT be abstract
|
||||
|
||||
## https://bugzilla.xamarin.com/show_bug.cgi?id=59422
|
||||
!missing-pinvoke! UIContentSizeCategoryCompareToCategory is not bound
|
||||
!missing-pinvoke! UIContentSizeCategoryIsAccessibilityCategory is not bound
|
|
@ -1,3 +1,9 @@
|
|||
# from iOS 4.0 to 5.1
|
||||
!unknown-field! AVMediaTypeTimedMetadata bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!incorrect-protocol-member! AVFragmentMinding::isAssociatedWithFragmentMinder is REQUIRED and should be abstract
|
||||
!missing-field! AVMediaCharacteristicEasyToRead not bound
|
||||
!missing-field! AVVideoDecompressionPropertiesKey not bound
|
||||
|
@ -19,12 +25,9 @@
|
|||
!missing-selector! AVPlayerItem::isAuthorizationRequiredForPlayback not bound
|
||||
!missing-selector! AVPlayerItem::isContentAuthorizedForPlayback not bound
|
||||
!missing-selector! AVPlayerItem::mediaDataCollectors not bound
|
||||
!missing-selector! AVPlayerItem::preferredMaximumResolution not bound
|
||||
!missing-selector! AVPlayerItem::removeMediaDataCollector: not bound
|
||||
!missing-selector! AVPlayerItem::requestContentAuthorizationAsynchronouslyWithTimeoutInterval:completionHandler: not bound
|
||||
!missing-selector! AVPlayerItem::setPreferredMaximumResolution: not bound
|
||||
!missing-selector! AVPlayerItemOutput::itemTimeForCVTimeStamp: not bound
|
||||
!unknown-field! AVMediaTypeTimedMetadata bound
|
||||
!unknown-native-enum! AVAudioSessionCategoryOptions bound
|
||||
!unknown-native-enum! AVAudioSessionErrorCode bound
|
||||
!unknown-native-enum! AVAudioSessionFlags bound
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
!missing-selector! AVPlayerItem::preferredMaximumResolution not bound
|
||||
!missing-selector! AVPlayerItem::setPreferredMaximumResolution: not bound
|
|
@ -1,6 +1,12 @@
|
|||
!duplicate-register! _NSDatePickerCellDelegate exists as both AppKit.NSDatePicker/_NSDatePickerCellDelegate and AppKit.NSDatePickerCell/_NSDatePickerCellDelegate
|
||||
!duplicate-type-name! NSFileWrapperReadingOptions enum exists as both AppKit.NSFileWrapperReadingOptions and Foundation.NSFileWrapperReadingOptions
|
||||
!duplicate-type-name! NSWritingDirection enum exists as both AppKit.NSWritingDirection and Foundation.NSWritingDirection
|
||||
# https://bugzilla.xamarin.com/show_bug.cgi?id=30717
|
||||
!duplicate-register! _NSDatePickerCellDelegate exists as both AppKit.NSDatePickerCell/_NSDatePickerCellDelegate and AppKit.NSDatePicker/_NSDatePickerCellDelegate
|
||||
|
||||
# Proxy class for NSGraphicsContext internal to AppKit
|
||||
!unknown-type! NSPrintPreviewGraphicsContext bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!extra-enum-native! NSEventSubtype
|
||||
!extra-protocol-member! unexpected selector NSApplicationDelegate::orderFrontStandardAboutPanel: found
|
||||
!extra-protocol-member! unexpected selector NSApplicationDelegate::orderFrontStandardAboutPanelWithOptions: found
|
||||
|
@ -1264,7 +1270,6 @@
|
|||
!unknown-native-enum! NSWindowLevel bound
|
||||
!unknown-native-enum! NSWindowStyle bound
|
||||
!unknown-type! NSMenuView bound
|
||||
!unknown-type! NSPrintPreviewGraphicsContext bound
|
||||
!unknown-type! NSRemoteOpenPanel bound
|
||||
!unknown-type! NSRemoteSavePanel bound
|
||||
!wrong-enum-size! NSEventSubtype managed 8 vs native 2
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
## old and different name for CBUUIDCharacteristicValidRangeString, removed in Xcode9 headers (27160443)
|
||||
!unknown-field! CBUUIDValidRangeString bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
## obsoleted (removed from headers) in iOS 8.4
|
||||
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrieveConnectedPeripherals: found
|
||||
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrievePeripherals: found
|
||||
|
||||
## obsoleted (removed from headers) in iOS 8.4
|
||||
!extra-protocol-member! unexpected selector CBPeripheralDelegate::peripheralDidInvalidateServices: found
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
!duplicate-type-name! NSFileWrapperReadingOptions enum exists as both Foundation.NSFileWrapperReadingOptions and AppKit.NSFileWrapperReadingOptions
|
||||
!duplicate-type-name! NSWritingDirection enum exists as both Foundation.NSWritingDirection and AppKit.NSWritingDirection
|
||||
!extra-designated-initializer! NSScriptCommand::initWithCoder: is incorrectly decorated with an [DesignatedInitializer] attribute
|
||||
!extra-protocol-member! unexpected selector NSURLSessionDelegate::URLSessionDidFinishEventsForBackgroundURLSession: found
|
||||
!missing-designated-initializer! NSAffineTransform::init is missing an [DesignatedInitializer] attribute
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
!missing-designated-initializer! NSArray::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSDate::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSDictionary::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSISO8601DateFormatter::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSItemProvider::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableArray::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableDictionary::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableOrderedSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSOrderedSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSOutputStream::initToMemory is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSString::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSThread::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSUUID::init is missing an [DesignatedInitializer] attribute
|
|
@ -9,10 +9,6 @@
|
|||
|
||||
# fixed in XAMCORE_3_0
|
||||
|
||||
## 8a6099b8027fa8e1ad1e032c731c7f750619303e
|
||||
!duplicate-type-name! NSFileWrapperReadingOptions enum exists as both AppKit.NSFileWrapperReadingOptions and Foundation.NSFileWrapperReadingOptions
|
||||
!duplicate-type-name! NSWritingDirection enum exists as both AppKit.NSWritingDirection and Foundation.NSWritingDirection
|
||||
|
||||
# Defined in NSObject (NSDeprecatedTextStorageDelegateInterface
|
||||
!extra-protocol-member! unexpected selector NSTextStorageDelegate::textStorageDidProcessEditing: found
|
||||
!extra-protocol-member! unexpected selector NSTextStorageDelegate::textStorageWillProcessEditing: found
|
||||
|
@ -54,12 +50,6 @@
|
|||
!extra-protocol-member! unexpected selector NSOpenSavePanelDelegate::panel:shouldShowFilename: found
|
||||
|
||||
|
||||
|
||||
# Easily proven via man
|
||||
!unknown-pinvoke! kevent bound
|
||||
!unknown-pinvoke! kqueue bound
|
||||
!unknown-pinvoke! _NSGetExecutablePath bound
|
||||
|
||||
# In header as old style unnamaed enum
|
||||
!unknown-native-enum! IKCellsStyle bound
|
||||
!unknown-native-enum! IKGroupStyle bound
|
||||
|
@ -98,11 +88,8 @@
|
|||
!unknown-field! NSOperationNumber bound
|
||||
!unknown-field! NSTableColumn bound
|
||||
!unknown-field! NSTextMovement bound
|
||||
!unknown-field! PDFAnnotationHit bound
|
||||
!unknown-field! item bound
|
||||
|
||||
# Proxy class for NSGraphicsContext internal to AppKit
|
||||
!unknown-type! NSPrintPreviewGraphicsContext bound
|
||||
|
||||
|
||||
# Not declared in header for macOS unlike iOS but in Security.framework anyway (via nm)
|
||||
|
@ -154,7 +141,3 @@
|
|||
!missing-selector! MTLRenderPassDepthAttachmentDescriptor::setDepthResolveFilter: not bound
|
||||
!missing-selector! MTLSamplerDescriptor::lodAverage not bound
|
||||
!missing-selector! MTLSamplerDescriptor::setLodAverage: not bound
|
||||
|
||||
# Deprecated in the same version of OS X that CBCentral becomes available. The alternative (Identifier property) is bound and available.
|
||||
!missing-selector! CBCentral::UUID not bound
|
||||
!missing-selector! CBPeripheral::UUID not bound
|
||||
|
|
|
@ -141,122 +141,6 @@
|
|||
|
||||
# --- End of AVFoundation - AVKit ---
|
||||
|
||||
# OSX only - API not exposed in XI even if it's in the header files
|
||||
!missing-selector! NEVPNProtocol::identityReference is not bound
|
||||
!missing-selector! NEVPNProtocol::setIdentityReference: is not bound
|
||||
|
||||
# https://bugzilla.xamarin.com/show_bug.cgi?id=30717
|
||||
!duplicate-register! _NSDatePickerCellDelegate exists as both AppKit.NSDatePickerCell/_NSDatePickerCellDelegate and AppKit.NSDatePicker/_NSDatePickerCellDelegate
|
||||
|
||||
|
||||
# should we bother ?
|
||||
|
||||
## *GetTypeID
|
||||
!missing-pinvoke! AXObserverGetTypeID is not bound
|
||||
!missing-pinvoke! AXUIElementGetTypeID is not bound
|
||||
!missing-pinvoke! AXValueGetTypeID is not bound
|
||||
!missing-pinvoke! CFUserNotificationGetTypeID is not bound
|
||||
!missing-pinvoke! CFXMLNodeGetTypeID is not bound
|
||||
!missing-pinvoke! CFXMLParserGetTypeID is not bound
|
||||
!missing-pinvoke! CGDisplayModeGetTypeID is not bound
|
||||
!missing-pinvoke! CGDisplayStreamGetTypeID is not bound
|
||||
!missing-pinvoke! CGDisplayStreamUpdateGetTypeID is not bound
|
||||
!missing-pinvoke! CGEventGetTypeID is not bound
|
||||
!missing-pinvoke! CGEventSourceGetTypeID is not bound
|
||||
!missing-pinvoke! CGPSConverterGetTypeID is not bound
|
||||
!missing-pinvoke! CMSDecoderGetTypeID is not bound
|
||||
!missing-pinvoke! CMSEncoderGetTypeID is not bound
|
||||
!missing-pinvoke! CSIdentityAuthorityGetTypeID is not bound
|
||||
!missing-pinvoke! CSIdentityGetTypeID is not bound
|
||||
!missing-pinvoke! CSIdentityQueryGetTypeID is not bound
|
||||
!missing-pinvoke! CVDisplayLinkGetTypeID is not bound
|
||||
!missing-pinvoke! CVOpenGLBufferGetTypeID is not bound
|
||||
!missing-pinvoke! CVOpenGLBufferPoolGetTypeID is not bound
|
||||
!missing-pinvoke! CVOpenGLTextureCacheGetTypeID is not bound
|
||||
!missing-pinvoke! CVOpenGLTextureGetTypeID is not bound
|
||||
!missing-pinvoke! ColorSyncCMMGetTypeID is not bound
|
||||
!missing-pinvoke! ColorSyncProfileGetTypeID is not bound
|
||||
!missing-pinvoke! ColorSyncTransformGetTypeID is not bound
|
||||
!missing-pinvoke! DAApprovalSessionGetTypeID is not bound
|
||||
!missing-pinvoke! DADiskGetTypeID is not bound
|
||||
!missing-pinvoke! DASessionGetTypeID is not bound
|
||||
!missing-pinvoke! DRBurnGetTypeID is not bound
|
||||
!missing-pinvoke! DRBurnSessionGetTypeID is not bound
|
||||
!missing-pinvoke! DRCDTextBlockGetTypeID is not bound
|
||||
!missing-pinvoke! DRDeviceGetTypeID is not bound
|
||||
!missing-pinvoke! DREraseGetTypeID is not bound
|
||||
!missing-pinvoke! DREraseSessionGetTypeID is not bound
|
||||
!missing-pinvoke! DRFileGetTypeID is not bound
|
||||
!missing-pinvoke! DRFolderGetTypeID is not bound
|
||||
!missing-pinvoke! DRNotificationCenterGetTypeID is not bound
|
||||
!missing-pinvoke! DRTrackGetTypeID is not bound
|
||||
!missing-pinvoke! FSFileOperationGetTypeID is not bound
|
||||
!missing-pinvoke! FSFileSecurityGetTypeID is not bound
|
||||
!missing-pinvoke! HIShapeGetTypeID is not bound
|
||||
!missing-pinvoke! IOHIDDeviceGetTypeID is not bound
|
||||
!missing-pinvoke! IOHIDElementGetTypeID is not bound
|
||||
!missing-pinvoke! IOHIDManagerGetTypeID is not bound
|
||||
!missing-pinvoke! IOHIDQueueGetTypeID is not bound
|
||||
!missing-pinvoke! IOHIDTransactionGetTypeID is not bound
|
||||
!missing-pinvoke! IOHIDValueGetTypeID is not bound
|
||||
!missing-pinvoke! IOSurfaceGetTypeID is not bound
|
||||
!missing-pinvoke! InkStrokeGetTypeID is not bound
|
||||
!missing-pinvoke! InkTextGetTypeID is not bound
|
||||
!missing-pinvoke! LSMMapGetTypeID is not bound
|
||||
!missing-pinvoke! LSMResultGetTypeID is not bound
|
||||
!missing-pinvoke! LSMTextGetTypeID is not bound
|
||||
!missing-pinvoke! LSSharedFileListGetTypeID is not bound
|
||||
!missing-pinvoke! LSSharedFileListItemGetTypeID is not bound
|
||||
!missing-pinvoke! MDItemGetTypeID is not bound
|
||||
!missing-pinvoke! MDLabelGetTypeID is not bound
|
||||
!missing-pinvoke! MDQueryGetTypeID is not bound
|
||||
!missing-pinvoke! ODContextGetTypeID is not bound
|
||||
!missing-pinvoke! ODNodeGetTypeID is not bound
|
||||
!missing-pinvoke! ODQueryGetTypeID is not bound
|
||||
!missing-pinvoke! ODRecordGetTypeID is not bound
|
||||
!missing-pinvoke! ODSessionGetTypeID is not bound
|
||||
!missing-pinvoke! PasteboardGetTypeID is not bound
|
||||
!missing-pinvoke! QLPreviewRequestGetTypeID is not bound
|
||||
!missing-pinvoke! QLThumbnailGetTypeID is not bound
|
||||
!missing-pinvoke! QLThumbnailRequestGetTypeID is not bound
|
||||
!missing-pinvoke! SCBondStatusGetTypeID is not bound
|
||||
!missing-pinvoke! SCDynamicStoreGetTypeID is not bound
|
||||
!missing-pinvoke! SCNetworkConnectionGetTypeID is not bound
|
||||
!missing-pinvoke! SCNetworkInterfaceGetTypeID is not bound
|
||||
!missing-pinvoke! SCNetworkProtocolGetTypeID is not bound
|
||||
!missing-pinvoke! SCNetworkServiceGetTypeID is not bound
|
||||
!missing-pinvoke! SCNetworkSetGetTypeID is not bound
|
||||
!missing-pinvoke! SCPreferencesGetTypeID is not bound
|
||||
!missing-pinvoke! SKDocumentGetTypeID is not bound
|
||||
!missing-pinvoke! SKIndexDocumentIteratorGetTypeID is not bound
|
||||
!missing-pinvoke! SKIndexGetTypeID is not bound
|
||||
!missing-pinvoke! SKSearchGetTypeID is not bound
|
||||
!missing-pinvoke! SKSearchGroupGetTypeID is not bound
|
||||
!missing-pinvoke! SKSearchResultsGetTypeID is not bound
|
||||
!missing-pinvoke! SKSummaryGetTypeID is not bound
|
||||
!missing-pinvoke! SecACLGetTypeID is not bound
|
||||
!missing-pinvoke! SecAccessGetTypeID is not bound
|
||||
!missing-pinvoke! SecCodeGetTypeID is not bound
|
||||
!missing-pinvoke! SecDecryptTransformGetTypeID is not bound
|
||||
!missing-pinvoke! SecDigestTransformGetTypeID is not bound
|
||||
!missing-pinvoke! SecEncryptTransformGetTypeID is not bound
|
||||
!missing-pinvoke! SecGroupTransformGetTypeID is not bound
|
||||
!missing-pinvoke! SecIdentitySearchGetTypeID is not bound
|
||||
!missing-pinvoke! SecKeychainGetTypeID is not bound
|
||||
!missing-pinvoke! SecKeychainItemGetTypeID is not bound
|
||||
!missing-pinvoke! SecKeychainSearchGetTypeID is not bound
|
||||
!missing-pinvoke! SecPolicySearchGetTypeID is not bound
|
||||
!missing-pinvoke! SecRequirementGetTypeID is not bound
|
||||
!missing-pinvoke! SecStaticCodeGetTypeID is not bound
|
||||
!missing-pinvoke! SecTaskGetTypeID is not bound
|
||||
!missing-pinvoke! SecTransformGetTypeID is not bound
|
||||
!missing-pinvoke! SecTrustedApplicationGetTypeID is not bound
|
||||
!missing-pinvoke! TISInputSourceGetTypeID is not bound
|
||||
!missing-pinvoke! TranslationGetTypeID is not bound
|
||||
!missing-pinvoke! VTPixelTransferSessionGetTypeID is not bound
|
||||
!missing-pinvoke! WSMethodInvocationGetTypeID is not bound
|
||||
!missing-pinvoke! WSProtocolHandlerGetTypeID is not bound
|
||||
|
||||
# Used to remove hard to kill delegate API until XAMCORE_4_0
|
||||
!extra-protocol-member! unexpected selector CBPeripheralDelegate::xamarin:selector:removed: found
|
||||
!extra-protocol-member! unexpected selector GKMatchDelegate::xamarin:selector:removed: found
|
||||
|
@ -364,55 +248,12 @@
|
|||
## CoreLocation
|
||||
# False positives, not available on macOS as 10.12
|
||||
# Mostly __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_X_Y);
|
||||
!missing-type! CLBeacon not bound
|
||||
!missing-selector! CLBeacon::accuracy not bound
|
||||
!missing-selector! CLBeacon::major not bound
|
||||
!missing-selector! CLBeacon::minor not bound
|
||||
!missing-selector! CLBeacon::proximity not bound
|
||||
!missing-selector! CLBeacon::proximityUUID not bound
|
||||
!missing-selector! CLBeacon::rssi not bound
|
||||
!missing-protocol-member! CLLocationManagerDelegate::locationManager:didRangeBeacons:inRegion: not found
|
||||
!missing-type! CLBeaconRegion not bound
|
||||
!missing-selector! CLBeaconRegion::initWithProximityUUID:identifier: not bound
|
||||
!missing-selector! CLBeaconRegion::initWithProximityUUID:major:identifier: not bound
|
||||
!missing-selector! CLBeaconRegion::initWithProximityUUID:major:minor:identifier: not bound
|
||||
!missing-selector! CLBeaconRegion::major not bound
|
||||
!missing-selector! CLBeaconRegion::minor not bound
|
||||
!missing-selector! CLBeaconRegion::notifyEntryStateOnDisplay not bound
|
||||
!missing-selector! CLBeaconRegion::peripheralDataWithMeasuredPower: not bound
|
||||
!missing-selector! CLBeaconRegion::proximityUUID not bound
|
||||
!missing-selector! CLBeaconRegion::setNotifyEntryStateOnDisplay: not bound
|
||||
!missing-protocol-member! CLLocationManagerDelegate::locationManager:rangingBeaconsDidFailForRegion:withError: not found
|
||||
!missing-type! CLFloor not bound
|
||||
!missing-selector! CLFloor::level not bound
|
||||
!missing-selector! CLLocation::floor not bound
|
||||
!missing-type! CLVisit not bound
|
||||
!missing-selector! CLVisit::arrivalDate not bound
|
||||
!missing-selector! CLVisit::coordinate not bound
|
||||
!missing-selector! CLVisit::departureDate not bound
|
||||
!missing-selector! CLVisit::horizontalAccuracy not bound
|
||||
!missing-protocol-member! CLLocationManagerDelegate::locationManager:didVisit: not found
|
||||
!missing-protocol-member! CLLocationManagerDelegate::locationManager:didUpdateHeading: not found
|
||||
!missing-field! CLTimeIntervalMax not bound
|
||||
!missing-selector! CLLocation::getDistanceFrom: not bound
|
||||
!missing-selector! CLLocationManager::activityType not bound
|
||||
!missing-selector! CLLocationManager::setActivityType: not bound
|
||||
!missing-selector! CLLocationManager::allowDeferredLocationUpdatesUntilTraveled:timeout: not bound
|
||||
!missing-selector! CLLocationManager::allowsBackgroundLocationUpdates not bound
|
||||
!missing-selector! CLLocationManager::setAllowsBackgroundLocationUpdates: not bound
|
||||
!missing-selector! CLLocationManager::heading not bound
|
||||
!missing-selector! CLLocationManager::headingAvailable not bound
|
||||
!missing-selector! CLLocationManager::headingFilter not bound
|
||||
!missing-selector! CLLocationManager::setHeadingFilter: not bound
|
||||
!missing-selector! CLLocationManager::headingOrientation not bound
|
||||
!missing-selector! CLLocationManager::setHeadingOrientation: not bound
|
||||
!missing-selector! CLLocationManager::locationServicesEnabled not bound
|
||||
!missing-selector! CLLocationManager::pausesLocationUpdatesAutomatically not bound
|
||||
!missing-selector! CLLocationManager::setPausesLocationUpdatesAutomatically: not bound
|
||||
!missing-selector! CLLocationManager::rangedRegions not bound
|
||||
!missing-selector! CLLocationManager::startMonitoringForRegion:desiredAccuracy: not bound
|
||||
!missing-selector! CLLocationManager::startRangingBeaconsInRegion: not bound
|
||||
!missing-selector! CLLocationManager::stopRangingBeaconsInRegion: not bound
|
||||
|
||||
# MediaPlayer API macOS 10.12.2
|
||||
|
||||
|
@ -444,15 +285,3 @@
|
|||
!missing-field! MTLDeviceRemovalRequestedNotification not bound
|
||||
!missing-field! MTLDeviceWasAddedNotification not bound
|
||||
!missing-field! MTLDeviceWasRemovedNotification not bound
|
||||
|
||||
## These are not available on macOS even if xtro says so.
|
||||
!missing-selector! EKCalendarItem::UUID not bound
|
||||
!missing-selector! EKEvent::birthdayPersonID not bound
|
||||
!missing-selector! EKEventStore::calendars not bound
|
||||
!missing-selector! EKEventStore::removeEvent:span:error: not bound
|
||||
!missing-selector! EKEventStore::saveEvent:span:error: not bound
|
||||
!missing-selector! EKSource::calendars not bound
|
||||
|
||||
#PDFKit
|
||||
## Deprecated
|
||||
!missing-selector! PDFAnnotation::initWithDictionary:forPage: not bound
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
!missing-protocol-member! AVAudioPlayerDelegate::audioPlayerEndInterruption:withFlags: not found
|
||||
!missing-selector! AVPlayerItem::preferredMaximumResolution not bound
|
||||
!missing-selector! AVPlayerItem::setPreferredMaximumResolution: not bound
|
||||
## OSX only - but only the member is marked (not the protocol itself)
|
||||
!missing-protocol! AVFragmentMinding not bound
|
||||
|
||||
## this was tvos 10.2 in Xcode 8.3 and changed to iOS-only in Xcode9 betas
|
||||
## it's still exposed by AVContentKeySessionDelegate which is available in tvos 10.2
|
||||
!unknown-type! AVPersistableContentKeyRequest bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!missing-protocol-member! AVAudioPlayerDelegate::audioPlayerEndInterruption:withFlags: not found
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
!missing-selector! AVPlayerItem::preferredMaximumResolution not bound
|
||||
!missing-selector! AVPlayerItem::setPreferredMaximumResolution: not bound
|
|
@ -1,7 +1,13 @@
|
|||
## shown as available in iOS 9.3 in tvOS header files (from Xcode 7.3) so normally available in tvOS 9.2
|
||||
## In reality it's only available in the simulator, not on AppleTV devices (all fields are null)
|
||||
!missing-field! NSUbiquitousUserDefaultsCompletedInitialSyncNotification not bound
|
||||
!missing-field! NSUbiquitousUserDefaultsDidChangeAccountsNotification not bound
|
||||
!missing-field! NSUserDefaultsSizeLimitExceededNotification not bound
|
||||
!missing-selector! +NSURLConnection::sendSynchronousRequest:returningResponse:error: not bound
|
||||
|
||||
## does not exists in iOS (or tvOS) as a type - but some API refers to it (messy)
|
||||
!unknown-type! NSPortMessage bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!missing-selector! +NSURLConnection::sendSynchronousRequest:returningResponse:error: not bound
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
!missing-designated-initializer! NSArray::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSDate::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSDictionary::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSISO8601DateFormatter::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSItemProvider::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableArray::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableDictionary::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableOrderedSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSOrderedSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSOutputStream::initToMemory is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSString::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSThread::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSUUID::init is missing an [DesignatedInitializer] attribute
|
|
@ -1,5 +1,15 @@
|
|||
## typedef is used + untyped enum in GKPeerPickerController.h: typedef NSUInteger GKPeerPickerConnectionType
|
||||
!unknown-native-enum! GKPeerPickerConnectionType bound
|
||||
|
||||
## GKVoiceChatService is not in tvOS so nothing uses GKVoiceChatClient
|
||||
!missing-protocol! GKVoiceChatClient not bound
|
||||
|
||||
## all members are not available so the protocol is empty
|
||||
## however this is confusing because some protocols have no members (so it can't just be ignored)
|
||||
!missing-protocol! GKFriendRequestComposeViewControllerDelegate not bound
|
||||
!missing-protocol! GKSavedGameListener not bound
|
||||
|
||||
## GKSession is not in the tvOS API but the GKSessionDelegate is not marked
|
||||
## looks like mistakes as the API is not used anywhere else
|
||||
## easier to add later, if needed, than remove
|
||||
!missing-protocol! GKSessionDelegate not bound
|
||||
!missing-protocol! GKVoiceChatClient not bound
|
||||
!unknown-native-enum! GKPeerPickerConnectionType bound
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
## only on macOS (but removing would be a breaking change)
|
||||
!unknown-native-enum! MTLSamplerBorderColor bound
|
|
@ -1,16 +1,28 @@
|
|||
!missing-designated-initializer! UISpringTimingParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-enum! UIImpactFeedbackStyle not bound
|
||||
!missing-enum! UINotificationFeedbackType not bound
|
||||
!missing-enum! UIPreferredPresentationStyle not bound
|
||||
!missing-protocol! UIActivityItemSource not bound
|
||||
!missing-protocol! UIPreviewInteractionDelegate not bound
|
||||
!missing-protocol-member! UIApplicationDelegate::application:handleIntent:completionHandler: not found
|
||||
## lack of availabilty macros on NSItemProvder.PreferredPresentationStyle - intro says they are not available
|
||||
!missing-selector! NSItemProvider::preferredPresentationStyle not bound
|
||||
!missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound
|
||||
## and that also means the (enum/returned) type is unused
|
||||
!missing-enum! UIPreferredPresentationStyle not bound
|
||||
|
||||
## Added on UIAccessibility
|
||||
!missing-selector! NSObject::accessibilityHeaderElements not bound
|
||||
!missing-selector! NSObject::setAccessibilityHeaderElements: not bound
|
||||
!missing-selector! UIInputViewController::requestSupplementaryLexiconWithCompletion: not bound
|
||||
!missing-selector! UIScrollView::pinchGestureRecognizer not bound
|
||||
|
||||
## Intent not yet available on tvOS
|
||||
!missing-protocol-member! UIApplicationDelegate::application:handleIntent:completionHandler: not found
|
||||
|
||||
## Headers says it is available but none of its members or implementor class are available
|
||||
!missing-protocol! UIPreviewInteractionDelegate not bound
|
||||
|
||||
## enums only exposed from properties marked with UIKIT_CLASS_AVAILABLE_IOS_ONLY(10_0)
|
||||
!missing-enum! UIImpactFeedbackStyle not bound
|
||||
!missing-enum! UINotificationFeedbackType not bound
|
||||
|
||||
## Marked as not in tvOS in Xcode 8.2 beta 1 but it's a breaking change and it's fixed only in XAMCORE_4_0
|
||||
!unknown-native-enum! UICloudSharingPermissionOptions bound
|
||||
|
||||
## headers are unclear (added in iOS9.1) but Apple web documentation does not show those members
|
||||
## and several only make sense for the stylus touches
|
||||
!missing-selector! UITouch::altitudeAngle not bound
|
||||
!missing-selector! UITouch::azimuthAngleInView: not bound
|
||||
!missing-selector! UITouch::azimuthUnitVectorInView: not bound
|
||||
|
@ -19,7 +31,23 @@
|
|||
!missing-selector! UITouch::estimationUpdateIndex not bound
|
||||
!missing-selector! UITouch::preciseLocationInView: not bound
|
||||
!missing-selector! UITouch::precisePreviousLocationInView: not bound
|
||||
|
||||
## the signature use UILexicon which is not part of tvOS
|
||||
!missing-selector! UIInputViewController::requestSupplementaryLexiconWithCompletion: not bound
|
||||
|
||||
## the UIActivityItemSource protocol is not marked as unavailable but all it's members use UIActivityViewController which is not allowed on tvOS
|
||||
!missing-protocol! UIActivityItemSource not bound
|
||||
|
||||
## confusing header wrt categories, defined in: UIAdaptivePresentations (UIViewController)
|
||||
## UIPopoverPresentationController, the returned type, is not available in tvOS
|
||||
!missing-selector! UIViewController::popoverPresentationController not bound
|
||||
!unknown-native-enum! UICloudSharingPermissionOptions bound
|
||||
|
||||
## property not decorated as unavailable but UIPinchGestureRecognizer, the returned type, is not available in tvOS
|
||||
!missing-selector! UIScrollView::pinchGestureRecognizer not bound
|
||||
|
||||
|
||||
## unsorted
|
||||
|
||||
!missing-designated-initializer! UISpringTimingParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!unknown-native-enum! UILineBreakMode bound
|
||||
!unknown-native-enum! UITextAlignment bound
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
!missing-designated-initializer! NSLayoutManager::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSShadow::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBarButtonItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBarItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIBezierPath::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UICollectionViewLayout::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UICubicTimingParameters::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIImageAsset::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIKeyCommand::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UIMotionEffect::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UITabBarItem::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! UITraitCollection::init is missing an [DesignatedInitializer] attribute
|
|
@ -1,192 +0,0 @@
|
|||
# AVFoundation
|
||||
|
||||
## OSX only - but only the member is marked (not the protocol itself)
|
||||
!missing-protocol! AVFragmentMinding not bound
|
||||
|
||||
## OSX only - category "AVFragmentedAsset (AVFragmentedAssetTrackInspection)" is not decorated
|
||||
## but AVFragmentedAsset is only available on 10.11 (so it does not build)
|
||||
!missing-selector! AVFragmentedAsset::trackWithTrackID: not bound
|
||||
!missing-selector! AVFragmentedAsset::tracksWithMediaCharacteristic: not bound
|
||||
!missing-selector! AVFragmentedAsset::tracksWithMediaType: not bound
|
||||
|
||||
## AVCaptureDevice_AVCaptureDeviceAuthorization category over AVCaptureDevice - not in tvOS
|
||||
!missing-selector! +AVCaptureDevice::authorizationStatusForMediaType: not bound
|
||||
!missing-selector! +AVCaptureDevice::requestAccessForMediaType:completionHandler: not bound
|
||||
|
||||
## AVCaptureDevice_AVCaptureDeviceColorSpaceSupport category over AVCaptureDevice - not in tvOS
|
||||
!missing-selector! AVCaptureDevice::activeColorSpace not bound
|
||||
!missing-selector! AVCaptureDevice::setActiveColorSpace: not bound
|
||||
|
||||
## AVCaptureDevice_AVCaptureDeviceExposure category over AVCaptureDevice - not in tvOS
|
||||
!missing-selector! AVCaptureDevice::ISO not bound
|
||||
!missing-selector! AVCaptureDevice::exposureDuration not bound
|
||||
!missing-selector! AVCaptureDevice::exposureTargetBias not bound
|
||||
!missing-selector! AVCaptureDevice::exposureTargetOffset not bound
|
||||
!missing-selector! AVCaptureDevice::lensAperture not bound
|
||||
!missing-selector! AVCaptureDevice::maxExposureTargetBias not bound
|
||||
!missing-selector! AVCaptureDevice::minExposureTargetBias not bound
|
||||
!missing-selector! AVCaptureDevice::setExposureTargetBias:completionHandler: not bound
|
||||
!missing-selector! AVCaptureDevice::setExposureModeCustomWithDuration:ISO:completionHandler: not bound
|
||||
|
||||
## AVCaptureDevice_AVCaptureDeviceFlash
|
||||
!missing-selector! AVCaptureDevice::flashMode not bound
|
||||
!missing-selector! AVCaptureDevice::isFlashActive not bound
|
||||
!missing-selector! AVCaptureDevice::isFlashAvailable not bound
|
||||
!missing-selector! AVCaptureDevice::isFlashModeSupported: not bound
|
||||
!missing-selector! AVCaptureDevice::setFlashMode: not bound
|
||||
|
||||
## AVCaptureDevice_AVCaptureDeviceFocus category over AVCaptureDevice - not in tvOS
|
||||
!missing-selector! AVCaptureDevice::autoFocusRangeRestriction not bound
|
||||
!missing-selector! AVCaptureDevice::isAutoFocusRangeRestrictionSupported not bound
|
||||
!missing-selector! AVCaptureDevice::isSmoothAutoFocusEnabled not bound
|
||||
!missing-selector! AVCaptureDevice::isSmoothAutoFocusSupported not bound
|
||||
!missing-selector! AVCaptureDevice::lensPosition not bound
|
||||
!missing-selector! AVCaptureDevice::setAutoFocusRangeRestriction: not bound
|
||||
!missing-selector! AVCaptureDevice::setFocusModeLockedWithLensPosition:completionHandler: not bound
|
||||
!missing-selector! AVCaptureDevice::setSmoothAutoFocusEnabled: not bound
|
||||
!missing-selector! AVCaptureDevice::isLockingFocusWithCustomLensPositionSupported not bound
|
||||
!missing-selector! AVCaptureDevice::isLockingWhiteBalanceWithCustomDeviceGainsSupported not bound
|
||||
|
||||
## AVCaptureDevice_AVCaptureDeviceHighDynamicRangeSupport
|
||||
!missing-selector! AVCaptureDevice::automaticallyAdjustsVideoHDREnabled not bound
|
||||
!missing-selector! AVCaptureDevice::isVideoHDREnabled not bound
|
||||
!missing-selector! AVCaptureDevice::setAutomaticallyAdjustsVideoHDREnabled: not bound
|
||||
!missing-selector! AVCaptureDevice::setVideoHDREnabled: not bound
|
||||
|
||||
## AVCaptureDevice_AVCaptureDeviceLowLightBoost
|
||||
!missing-selector! AVCaptureDevice::automaticallyEnablesLowLightBoostWhenAvailable not bound
|
||||
!missing-selector! AVCaptureDevice::isLowLightBoostEnabled not bound
|
||||
!missing-selector! AVCaptureDevice::isLowLightBoostSupported not bound
|
||||
!missing-selector! AVCaptureDevice::setAutomaticallyEnablesLowLightBoostWhenAvailable: not bound
|
||||
|
||||
## AVCaptureDevice_AVCaptureDeviceSubjectAreaChangeMonitoring
|
||||
!missing-selector! AVCaptureDevice::isSubjectAreaChangeMonitoringEnabled not bound
|
||||
!missing-selector! AVCaptureDevice::setSubjectAreaChangeMonitoringEnabled: not bound
|
||||
|
||||
## AVCaptureDevice_AVCaptureDeviceTorch
|
||||
!missing-selector! AVCaptureDevice::isTorchActive not bound
|
||||
!missing-selector! AVCaptureDevice::isTorchAvailable not bound
|
||||
!missing-selector! AVCaptureDevice::setTorchModeOnWithLevel:error: not bound
|
||||
!missing-selector! AVCaptureDevice::torchLevel not bound
|
||||
|
||||
## AVCaptureDevice_AVCaptureDeviceVideoZoom
|
||||
!missing-selector! AVCaptureDevice::isRampingVideoZoom not bound
|
||||
!missing-selector! AVCaptureDevice::rampToVideoZoomFactor:withRate: not bound
|
||||
!missing-selector! AVCaptureDevice::videoZoomFactor not bound
|
||||
!missing-selector! AVCaptureDevice::setVideoZoomFactor: not bound
|
||||
|
||||
## AVCaptureDevice_AVCaptureDeviceWhiteBalance
|
||||
!missing-selector! AVCaptureDevice::chromaticityValuesForDeviceWhiteBalanceGains: not bound
|
||||
!missing-selector! AVCaptureDevice::deviceWhiteBalanceGains not bound
|
||||
!missing-selector! AVCaptureDevice::deviceWhiteBalanceGainsForChromaticityValues: not bound
|
||||
!missing-selector! AVCaptureDevice::deviceWhiteBalanceGainsForTemperatureAndTintValues: not bound
|
||||
!missing-selector! AVCaptureDevice::grayWorldDeviceWhiteBalanceGains not bound
|
||||
!missing-selector! AVCaptureDevice::maxWhiteBalanceGain not bound
|
||||
!missing-selector! AVCaptureDevice::setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:completionHandler: not bound
|
||||
!missing-selector! AVCaptureDevice::temperatureAndTintValuesForDeviceWhiteBalanceGains: not bound
|
||||
|
||||
## AVCaptureStillImageOutput_BracketedCaptureMethods category over AVCaptureStillImageOutput - not in tvOS (and deprecated)
|
||||
!missing-selector! AVCaptureStillImageOutput::captureStillImageBracketAsynchronouslyFromConnection:withSettingsArray:completionHandler: not bound
|
||||
!missing-selector! AVCaptureStillImageOutput::isLensStabilizationDuringBracketedCaptureEnabled not bound
|
||||
!missing-selector! AVCaptureStillImageOutput::isLensStabilizationDuringBracketedCaptureSupported not bound
|
||||
!missing-selector! AVCaptureStillImageOutput::maxBracketedCaptureStillImageCount not bound
|
||||
!missing-selector! AVCaptureStillImageOutput::prepareToCaptureStillImageBracketFromConnection:withSettingsArray:completionHandler: not bound
|
||||
!missing-selector! AVCaptureStillImageOutput::setLensStabilizationDuringBracketedCaptureEnabled: not bound
|
||||
|
||||
|
||||
# Foundation
|
||||
|
||||
## shown as available in iOS 9.3 in tvOS header files (from Xcode 7.3) so normally available in tvOS 9.2
|
||||
## In reality it's only available in the simulator, not on AppleTV devices (all fields are null)
|
||||
!missing-field! NSUbiquitousUserDefaultsCompletedInitialSyncNotification not bound
|
||||
!missing-field! NSUbiquitousUserDefaultsDidChangeAccountsNotification not bound
|
||||
!missing-field! NSUserDefaultsSizeLimitExceededNotification not bound
|
||||
|
||||
|
||||
# GameKit
|
||||
|
||||
## all members are not available so the protocol is empty
|
||||
## however this is confusing because some protocols have no members (so it can't just be ignored)
|
||||
!missing-protocol! GKFriendRequestComposeViewControllerDelegate not bound
|
||||
!missing-protocol! GKSavedGameListener not bound
|
||||
|
||||
## GKSession is not in the tvOS API but the GKSessionDelegate is not marked
|
||||
## looks like mistakes as the API is not used anywhere else
|
||||
## easier to add later, if needed, than remove
|
||||
!missing-protocol! GKSessionDelegate not bound
|
||||
!missing-selector! GKSessionDelegate::session:connectionWithPeerFailed:withError: not bound
|
||||
!missing-selector! GKSessionDelegate::session:didFailWithError: not bound
|
||||
!missing-selector! GKSessionDelegate::session:didReceiveConnectionRequestFromPeer: not bound
|
||||
!missing-selector! GKSessionDelegate::session:peer:didChangeState: not bound
|
||||
|
||||
## GKVoiceChatService is not in tvOS so nothing uses GKVoiceChatClient
|
||||
!missing-protocol! GKVoiceChatClient not bound
|
||||
!missing-selector! GKVoiceChatClient::participantID not bound
|
||||
!missing-selector! GKVoiceChatClient::voiceChatService:didNotStartWithParticipantID:error: not bound
|
||||
!missing-selector! GKVoiceChatClient::voiceChatService:didReceiveInvitationFromParticipantID:callID: not bound
|
||||
!missing-selector! GKVoiceChatClient::voiceChatService:didStartWithParticipantID: not bound
|
||||
!missing-selector! GKVoiceChatClient::voiceChatService:didStopWithParticipantID:error: not bound
|
||||
!missing-selector! GKVoiceChatClient::voiceChatService:sendData:toParticipantID: not bound
|
||||
!missing-selector! GKVoiceChatClient::voiceChatService:sendRealTimeData:toParticipantID: not bound
|
||||
|
||||
## type is not available in tvOS but it's defined multiple times in the headers (so it gets picked up without the __TVOS_UNAVAILABLE)
|
||||
!missing-selector! GKFriendRequestComposeViewController::addRecipientPlayers: not bound
|
||||
|
||||
|
||||
# UIKit
|
||||
|
||||
## Implemented in managed code
|
||||
!missing-selector! UIColor::getHue:saturation:brightness:alpha: not bound
|
||||
!missing-selector! UIColor::getRed:green:blue:alpha: not bound
|
||||
|
||||
## the UIActivityItemSource protocol is not marked as unavailable but all it's members use
|
||||
## UIActivityViewController which is not allowed on tvOS
|
||||
!missing-protocol! UIActivityItemSource not bound
|
||||
!missing-selector! UIActivityItemSource::activityViewController:dataTypeIdentifierForActivityType: not bound
|
||||
!missing-selector! UIActivityItemSource::activityViewController:itemForActivityType: not bound
|
||||
!missing-selector! UIActivityItemSource::activityViewController:subjectForActivityType: not bound
|
||||
!missing-selector! UIActivityItemSource::activityViewController:thumbnailImageForActivityType:suggestedSize: not bound
|
||||
!missing-selector! UIActivityItemSource::activityViewControllerPlaceholderItem: not bound
|
||||
|
||||
## HACK (as documented in uikit.cs)
|
||||
!incorrect-protocol-member! UITextInputTraits::setAutocapitalizationType: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setAutocorrectionType: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setEnablesReturnKeyAutomatically: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setKeyboardAppearance: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setKeyboardType: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setReturnKeyType: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setSecureTextEntry: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::setSpellCheckingType: is OPTIONAL and should NOT be abstract
|
||||
|
||||
## We only define tintColor on UIView, not on the subclasses (not needed for us)
|
||||
!missing-selector! UIButton::setTintColor: not bound
|
||||
!missing-selector! UIButton::tintColor not bound
|
||||
!missing-selector! UIImageView::setTintColor: not bound
|
||||
!missing-selector! UIImageView::tintColor not bound
|
||||
!missing-selector! UINavigationBar::setTintColor: not bound
|
||||
!missing-selector! UINavigationBar::tintColor not bound
|
||||
!missing-selector! UISearchBar::setTintColor: not bound
|
||||
!missing-selector! UISearchBar::tintColor not bound
|
||||
!missing-selector! UISegmentedControl::setTintColor: not bound
|
||||
!missing-selector! UISegmentedControl::tintColor not bound
|
||||
!missing-selector! UITabBar::setTintColor: not bound
|
||||
!missing-selector! UITabBar::tintColor not bound
|
||||
!missing-selector! UITableViewHeaderFooterView::setTintColor: not bound
|
||||
!missing-selector! UITableViewHeaderFooterView::tintColor not bound
|
||||
|
||||
## lack of availabilty macros on NSItemProvder.PreferredPresentationStyle - intro says they are not available
|
||||
!missing-selector! NSItemProvider::preferredPresentationStyle not bound
|
||||
!missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound
|
||||
## and that also means the (enum/returned) type is unused
|
||||
!missing-enum! UIPreferredPresentationStyle not bound
|
||||
|
||||
## Added on UIAccessibility
|
||||
!missing-selector! NSObject::accessibilityHeaderElements not bound
|
||||
!missing-selector! NSObject::setAccessibilityHeaderElements: not bound
|
||||
|
||||
|
||||
# OpenTK
|
||||
|
||||
## never been exposed in XI either
|
||||
!missing-pinvoke! CVOpenGLESTextureCacheGetTypeID is not bound
|
||||
!missing-pinvoke! CVOpenGLESTextureGetTypeID is not bound
|
|
@ -1,164 +0,0 @@
|
|||
# AVFoundation
|
||||
|
||||
## there's no *Capture* possibility on AppleTV - looks like an Apple mistake
|
||||
!missing-field! AVCaptureExposureDurationCurrent not bound
|
||||
!missing-field! AVCaptureExposureTargetBiasCurrent not bound
|
||||
!missing-field! AVCaptureISOCurrent not bound
|
||||
!missing-field! AVCaptureLensPositionCurrent not bound
|
||||
!missing-field! AVCaptureMaxAvailableTorchLevel not bound
|
||||
!missing-field! AVCaptureWhiteBalanceGainsCurrent not bound
|
||||
|
||||
## this was tvos 10.2 in Xcode 8.3 and changed to iOS-only in Xcode9 betas
|
||||
## it's still exposed by AVContentKeySessionDelegate which is available in tvos 10.2
|
||||
!unknown-type! AVPersistableContentKeyRequest bound
|
||||
|
||||
|
||||
# CloudKit
|
||||
|
||||
## Apple added the API / headers but they are not included by default (so xtro do not have it)
|
||||
!unknown-type! CKFetchWebAuthTokenOperation bound
|
||||
|
||||
|
||||
# CoreMedia
|
||||
|
||||
## kCMFormatDescription* are not bound for iOS either (common.unclassified)
|
||||
!missing-field! kCMFormatDescriptionYCbCrMatrix_DCI_P3 not bound
|
||||
!missing-field! kCMFormatDescriptionYCbCrMatrix_P3_D65 not bound
|
||||
|
||||
|
||||
# GameplayKit
|
||||
|
||||
## Xcode 7.1 added those types - but they are not in Xcode 7.2 SDK ??? Apple merge conflict
|
||||
!unknown-type! GKHybridStrategist bound
|
||||
!unknown-type! GKMonteCarloStrategist bound
|
||||
!unknown-type! GKQuadTree bound
|
||||
!unknown-type! GKQuadTreeNode bound
|
||||
|
||||
|
||||
# Metal
|
||||
|
||||
## new Apple abstract member (breaking change) fixed in XAMCORE_4_0
|
||||
!incorrect-protocol-member! MTLRenderCommandEncoder::setDepthClipMode: is REQUIRED and should be abstract
|
||||
|
||||
## only on macOS (but removing would be a vreaking change)
|
||||
!unknown-native-enum! MTLSamplerBorderColor bound
|
||||
|
||||
|
||||
|
||||
|
||||
# Security
|
||||
|
||||
## Xcode 8 beta (tvOS 10) marked them with __TVOS_UNAVAILABLE so we'll not expose them in 9.x
|
||||
!missing-pinvoke! SecAddSharedWebCredential is not bound
|
||||
!missing-pinvoke! SecCreateSharedWebCredentialPassword is not bound
|
||||
!missing-pinvoke! SecRequestSharedWebCredential is not bound
|
||||
!missing-field! kSecSharedPassword not bound
|
||||
|
||||
|
||||
# UIKit
|
||||
|
||||
# TODO: MUST BE FIXED by SR0 or SR1 of iOS 10 related bug https://bugzilla.xamarin.com/show_bug.cgi?id=43579
|
||||
!missing-protocol-member! UITextFieldDelegate::textFieldDidEndEditing:reason: not found
|
||||
!missing-protocol-member! UITextViewDelegate::textView:shouldInteractWithTextAttachment:inRange:interaction: not found
|
||||
!missing-protocol-member! UITextViewDelegate::textView:shouldInteractWithURL:inRange:interaction: not found
|
||||
|
||||
## Apple docs: This property is inherited from the UIView parent class. This class changes the default value of this property to NO.
|
||||
!missing-selector! UIImageView::isUserInteractionEnabled not bound
|
||||
!missing-selector! UIImageView::setUserInteractionEnabled: not bound
|
||||
!missing-selector! UILabel::isUserInteractionEnabled not bound
|
||||
!missing-selector! UILabel::setUserInteractionEnabled: not bound
|
||||
|
||||
## headers are unclear (added in iOS9.1) but Apple web documentation does not show those members
|
||||
## and several only make sense for the stylus touches
|
||||
!missing-selector! UITouch::altitudeAngle not bound
|
||||
!missing-selector! UITouch::azimuthAngleInView: not bound
|
||||
!missing-selector! UITouch::azimuthUnitVectorInView: not bound
|
||||
!missing-selector! UITouch::estimatedProperties not bound
|
||||
!missing-selector! UITouch::estimatedPropertiesExpectingUpdates not bound
|
||||
!missing-selector! UITouch::estimationUpdateIndex not bound
|
||||
!missing-selector! UITouch::preciseLocationInView: not bound
|
||||
!missing-selector! UITouch::precisePreviousLocationInView: not bound
|
||||
|
||||
## confusing header wrt categories, defined in: UIAdaptivePresentations (UIViewController)
|
||||
## UIPopoverPresentationController, the returned type, is not available in tvOS
|
||||
!missing-selector! UIViewController::popoverPresentationController not bound
|
||||
|
||||
## property not decorated as unavailable but
|
||||
## UIPinchGestureRecognizer, the returned type, is not available in tvOS
|
||||
!missing-selector! UIScrollView::pinchGestureRecognizer not bound
|
||||
|
||||
## the signature use UILexicon which is not part of tvOS
|
||||
!missing-selector! UIInputViewController::requestSupplementaryLexiconWithCompletion: not bound
|
||||
|
||||
## the [Sealed] attributes removes the [Export] one so it seems missing (but it's not)
|
||||
!missing-selector! UIGestureRecognizer::ignorePress:forEvent: not bound
|
||||
|
||||
## UIAccessibilityContainer is an informal protocol
|
||||
## that we bound as a protocol but is (objc encoding) a category
|
||||
!missing-selector! NSObject::accessibilityElementAtIndex: not bound
|
||||
!missing-selector! NSObject::accessibilityElements not bound
|
||||
!missing-selector! NSObject::indexOfAccessibilityElement: not bound
|
||||
!missing-selector! NSObject::setAccessibilityElements: not bound
|
||||
|
||||
## It's a ObjC Category / .NET static type so it's assumed the selector is for an instance
|
||||
## and as it's a really static (both ways). That fails at xtro verification (can't know it's
|
||||
## static). That's weird construct with managed helper method (so it looks ok)
|
||||
!missing-selector! +NSAttributedString::attributedStringWithAttachment: not bound
|
||||
|
||||
## fixed in XAMCORE_4_0 - API break
|
||||
!incorrect-protocol-member! UIDynamicAnimatorDelegate::dynamicAnimatorDidPause: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UIDynamicAnimatorDelegate::dynamicAnimatorWillResume: is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UILayoutSupport::bottomAnchor is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UILayoutSupport::heightAnchor is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! UILayoutSupport::topAnchor is REQUIRED and should be abstract
|
||||
|
||||
## it's technically optional but there's no point in adopting the protocol if you do not provide the implemenation
|
||||
!incorrect-protocol-member! UIInputViewAudioFeedback::enableInputClicksWhenVisible is OPTIONAL and should NOT be abstract
|
||||
|
||||
## static method cannot be overriden "normally" they must be re-exposed with [Export]
|
||||
!incorrect-protocol-member! +UIPopoverBackgroundViewMethods::arrowBase is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! +UIPopoverBackgroundViewMethods::arrowHeight is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! +UIPopoverBackgroundViewMethods::contentViewInsets is REQUIRED and should be abstract
|
||||
|
||||
## hack to get them inlined into UITextView and UITextField
|
||||
!incorrect-protocol-member! UITextInputTraits::autocapitalizationType is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::autocorrectionType is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::enablesReturnKeyAutomatically is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::isSecureTextEntry is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::keyboardAppearance is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::keyboardType is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::returnKeyType is OPTIONAL and should NOT be abstract
|
||||
!incorrect-protocol-member! UITextInputTraits::spellCheckingType is OPTIONAL and should NOT be abstract
|
||||
|
||||
## Headers says it is available but none of its members or implementor class are available
|
||||
!missing-protocol! UIPreviewInteractionDelegate not bound
|
||||
|
||||
## Header says they are available in tvOS but intro says nope nope nope radar:27929711
|
||||
## Undefined _OBJC_CLASS_$_UICloudSharingController
|
||||
!missing-protocol! UICloudSharingControllerDelegate not bound
|
||||
!missing-type! UICloudSharingController not bound
|
||||
!missing-selector! UICloudSharingController::availablePermissions not bound
|
||||
!missing-selector! UICloudSharingController::delegate not bound
|
||||
!missing-selector! UICloudSharingController::initWithPreparationHandler: not bound
|
||||
!missing-selector! UICloudSharingController::initWithShare:container: not bound
|
||||
!missing-selector! UICloudSharingController::setAvailablePermissions: not bound
|
||||
!missing-selector! UICloudSharingController::setDelegate: not bound
|
||||
!missing-selector! UICloudSharingController::share not bound
|
||||
|
||||
## It seems that Apple added a setter but it seems it is a mistake on the newly added property radar:27929872
|
||||
!missing-selector! UIViewController::setDisablesAutomaticKeyboardDismissal: not bound
|
||||
|
||||
## enums only exposed from properties marked with UIKIT_CLASS_AVAILABLE_IOS_ONLY(10_0)
|
||||
!missing-enum! UIImpactFeedbackStyle not bound
|
||||
!missing-enum! UINotificationFeedbackType not bound
|
||||
|
||||
## Marked as not in tvOS in Xcode 8.2 beta 1 but it's a breaking change and it's fixed only in XAMCORE_4_0
|
||||
!unknown-native-enum! UICloudSharingPermissionOptions bound
|
||||
|
||||
## Intent not yet available on tvOS
|
||||
!missing-protocol-member! UIApplicationDelegate::application:handleIntent:completionHandler: not found
|
||||
|
||||
## CoreNFC has just enums available in Xcode 9 Beta 1
|
||||
!missing-enum! NFCReaderError not bound
|
||||
!missing-enum! NFCTagType not bound
|
||||
!missing-enum! NFCTypeNameFormat not bound
|
|
@ -1,2 +1,5 @@
|
|||
## does not exists in iOS (or watchOS) as a type - but some API refers to it (messy)
|
||||
!unknown-type! NSPortMessage bound
|
||||
|
||||
## type was not marked as unavailable before Xcode9
|
||||
!unknown-type! NSUbiquitousKeyValueStore bound
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
!missing-designated-initializer! NSArray::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSDate::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSDictionary::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSISO8601DateFormatter::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSItemProvider::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableArray::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableDictionary::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableOrderedSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSMutableSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSOrderedSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSOutputStream::initToMemory is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSSet::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSString::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSThread::init is missing an [DesignatedInitializer] attribute
|
||||
!missing-designated-initializer! NSUUID::init is missing an [DesignatedInitializer] attribute
|
|
@ -1,5 +1,14 @@
|
|||
!missing-enum! INBookRestaurantReservationIntentCode not bound
|
||||
## Deprecated so not exposing it into Xamarin.Watch.dll
|
||||
##!missing-selector! INRequestRideIntent::initWithPickupLocation:dropOffLocation:rideOptionName:partySize:paymentMethod: not bound
|
||||
!missing-selector! INRideDriver::initWithPersonHandle:nameComponents:displayName:image:rating:phoneNumber: not bound
|
||||
|
||||
## False positive the class INBookRestaurantReservationIntentResponse is not available on watchOS
|
||||
!missing-enum! INBookRestaurantReservationIntentCode not bound
|
||||
|
||||
## Bound with no availability information, removing them is a breaking change
|
||||
## but I am not sure if they should be in WatchOS since they are from last year
|
||||
## and seems that intro did not complain, also there are others INCar* that are
|
||||
## explicitly available in WatchOS
|
||||
!unknown-type! INCarAirCirculationModeResolutionResult bound
|
||||
!unknown-type! INCarAudioSourceResolutionResult bound
|
||||
!unknown-type! INCarDefrosterResolutionResult bound
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
!missing-designated-initializer! UIBezierPath::init is missing an [DesignatedInitializer] attribute
|
|
@ -1,17 +0,0 @@
|
|||
# UNLIKELY TO BE EVER FIXED
|
||||
|
||||
|
||||
# UIKit
|
||||
|
||||
## Implemented in managed code
|
||||
!missing-selector! UIColor::getHue:saturation:brightness:alpha: not bound
|
||||
!missing-selector! UIColor::getRed:green:blue:alpha: not bound
|
||||
|
||||
## Not implemented (ctor signature conflict) but there's a static method available that does the job
|
||||
!missing-selector! UIColor::initWithHue:saturation:brightness:alpha: not bound
|
||||
|
||||
|
||||
# Apple internals (we do not expose them)
|
||||
|
||||
!missing-field! _NSConstantStringClassReference not bound
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
# TO BE FIXED - but maybe only in the far future / profiles
|
||||
|
||||
|
||||
# Foundation
|
||||
|
||||
## type was not marked as unavailable before Xcode9
|
||||
!unknown-type! NSUbiquitousKeyValueStore bound
|
||||
|
||||
|
||||
|
||||
# Intents
|
||||
|
||||
## Deprecated so not exposing it into Xamarin.Watch.dll
|
||||
!missing-selector! INRequestRideIntent::initWithPickupLocation:dropOffLocation:rideOptionName:partySize:paymentMethod: not bound
|
||||
!missing-selector! INRideDriver::initWithHandle:displayName:image:rating:phoneNumber: not bound
|
||||
!missing-selector! INRideDriver::initWithHandle:nameComponents:image:rating:phoneNumber: not bound
|
||||
!missing-selector! INRideDriver::initWithPersonHandle:nameComponents:displayName:image:rating:phoneNumber: not bound
|
||||
!missing-selector! INRideOption::identifier not bound
|
||||
!missing-selector! INRideOption::setIdentifier: not bound
|
||||
|
||||
## False positive the class INBookRestaurantReservationIntentResponse is not available on watchOS
|
||||
!missing-enum! INBookRestaurantReservationIntentCode not bound
|
||||
|
||||
## INPayBillIntentHandling && INSearchForBillsIntentHandling are new protocols added in iOS 10.3. This two protocols
|
||||
## were added to the existing Protocol INPaymentsDomainHandling so making this two required would be a breaking change
|
||||
!incorrect-protocol-member! INPayBillIntentHandling::handlePayBill:completion: is REQUIRED and should be abstract
|
||||
!incorrect-protocol-member! INSearchForBillsIntentHandling::handleSearchForBills:completion: is REQUIRED and should be abstract
|
||||
|
||||
## Waiting on a radar https://trello.com/c/h8xBlKTt
|
||||
!missing-selector! +INPreferences::requestSiriAuthorization: not bound
|
||||
|
||||
## Bound with no availability information, removing them is a breaking change
|
||||
## but I am not sure if they should be in WatchOS since they are from last year
|
||||
## and seems that intro did not complain, also there are others INCar* that are
|
||||
## explicitly available in WatchOS
|
||||
!unknown-type! INCarAirCirculationModeResolutionResult bound
|
||||
!unknown-type! INCarAudioSourceResolutionResult bound
|
||||
!unknown-type! INCarDefrosterResolutionResult bound
|
||||
!unknown-type! INCarSeatResolutionResult bound
|
||||
!unknown-type! INRadioTypeResolutionResult bound
|
||||
!unknown-type! INRelativeReferenceResolutionResult bound
|
||||
!unknown-type! INRelativeSettingResolutionResult bound
|
||||
|
||||
## Added and removed in watchOS 4
|
||||
!missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound
|
||||
|
||||
|
||||
# UIKit
|
||||
|
||||
## Not bound intentionally, Factory method FromDisplayP3 is available and adding this as a ctor would make the api usage ugly since signature matches colorWithRed:green:blue:alpha:
|
||||
!missing-selector! UIColor::initWithDisplayP3Red:green:blue:alpha: not bound
|
||||
|
||||
|
||||
# others
|
||||
|
||||
## might not be usable unless our ToString output is parsable as an input (includes locale issues)
|
||||
!missing-pinvoke! CFUUIDCreateFromString is not bound
|
||||
!missing-pinvoke! CGAffineTransformFromString is not bound
|
||||
!missing-pinvoke! CGPointFromString is not bound
|
||||
!missing-pinvoke! CGRectFromString is not bound
|
||||
!missing-pinvoke! CGSizeFromString is not bound
|
||||
!missing-pinvoke! NSStringFromCGAffineTransform is not bound
|
||||
!missing-pinvoke! NSStringFromCGPoint is not bound
|
||||
!missing-pinvoke! NSStringFromCGRect is not bound
|
||||
!missing-pinvoke! NSStringFromCGSize is not bound
|
||||
!missing-pinvoke! NSStringFromUIOffset is not bound
|
||||
!missing-pinvoke! UIOffsetFromString is not bound
|
|
@ -90,6 +90,8 @@ namespace Extrospection {
|
|||
static string InputDirectory { get; set; }
|
||||
static string ReportFolder { get; set; }
|
||||
|
||||
static List<string> Frameworks = new List<string> ();
|
||||
|
||||
static readonly string [] Platforms = new [] { "iOS", "tvOS", "watchOS", "macOS" };
|
||||
|
||||
public static bool ProcessFramework (string framework)
|
||||
|
@ -145,6 +147,14 @@ namespace Extrospection {
|
|||
return count;
|
||||
}
|
||||
|
||||
static void AddFramework (string file)
|
||||
{
|
||||
var filename = Path.GetFileNameWithoutExtension (file);
|
||||
var fx = filename.Substring (filename.IndexOf ('-') + 1);
|
||||
if (!Frameworks.Contains (fx))
|
||||
Frameworks.Add (fx);
|
||||
}
|
||||
|
||||
public static int Main (string [] args)
|
||||
{
|
||||
InputDirectory = args.Length == 0 ? "." : args [0];
|
||||
|
@ -154,7 +164,6 @@ namespace Extrospection {
|
|||
|
||||
int width = 100 / ((full ? 2 : 1) + (full ? 3 : 2) * Platforms.Length);
|
||||
|
||||
var frameworks = new List<string> ();
|
||||
var allfiles = new List<string> ();
|
||||
|
||||
ReportFolder = args.Length > 1 ? args [1] : "report";
|
||||
|
@ -176,17 +185,14 @@ namespace Extrospection {
|
|||
log.WriteLine ("</tr>");
|
||||
|
||||
log.WriteLine ("<tr>");
|
||||
if (full) {
|
||||
if (full)
|
||||
log.WriteLine ($"<td align='center' bgcolor='green' width='{width}%'>Common</td>");
|
||||
foreach (var platform in Platforms) {
|
||||
foreach (var platform in Platforms) {
|
||||
if (full)
|
||||
log.WriteLine ($"<td align='center' bgcolor='green' width='{width}%'>{platform}</td>");
|
||||
var files = Directory.GetFiles (InputDirectory, $"{platform}-*.ignore");
|
||||
foreach (var file in files) {
|
||||
var filename = Path.GetFileNameWithoutExtension (file);
|
||||
var fx = filename.Substring (filename.IndexOf ('-') + 1);
|
||||
if (!frameworks.Contains (fx))
|
||||
frameworks.Add (fx);
|
||||
}
|
||||
var files = Directory.GetFiles (InputDirectory, $"{platform}-*.ignore");
|
||||
foreach (var file in files) {
|
||||
AddFramework (file);
|
||||
}
|
||||
}
|
||||
foreach (var platform in Platforms) {
|
||||
|
@ -194,10 +200,11 @@ namespace Extrospection {
|
|||
var files = Directory.GetFiles (InputDirectory, $"{platform}-*.unclassified");
|
||||
foreach (var file in files) {
|
||||
allfiles.Add (file);
|
||||
var filename = Path.GetFileNameWithoutExtension (file);
|
||||
var fx = filename.Substring (filename.IndexOf ('-') + 1);
|
||||
if (!frameworks.Contains (fx))
|
||||
frameworks.Add (fx);
|
||||
AddFramework (file);
|
||||
}
|
||||
var todos = Directory.GetFiles (InputDirectory, $"{platform}-*.todo");
|
||||
foreach (var file in todos) {
|
||||
AddFramework (file);
|
||||
}
|
||||
}
|
||||
foreach (var platform in Platforms)
|
||||
|
@ -216,8 +223,8 @@ namespace Extrospection {
|
|||
var todo = new int [Platforms.Length];
|
||||
int errors = 0;
|
||||
|
||||
frameworks.Sort ();
|
||||
foreach (var fx in frameworks) {
|
||||
Frameworks.Sort ();
|
||||
foreach (var fx in Frameworks) {
|
||||
if (Filter (fx))
|
||||
continue;
|
||||
log.WriteLine ("<tr>");
|
||||
|
@ -250,8 +257,8 @@ namespace Extrospection {
|
|||
}
|
||||
}
|
||||
for (int i = 0; i < Platforms.Length; i++) {
|
||||
string filename = $"{InputDirectory}/{Platforms [i]}-{fx}.unclassified";
|
||||
var count = ProcessFile (filename);
|
||||
string filename = $"{Platforms [i]}-{fx}.unclassified";
|
||||
var count = ProcessFile (Path.Combine (InputDirectory, filename));
|
||||
log.Write ("<td align='center'");
|
||||
if (count < 1)
|
||||
log.Write (" bgcolor='salmon'>-");
|
||||
|
@ -262,8 +269,8 @@ namespace Extrospection {
|
|||
errors += count;
|
||||
}
|
||||
for (int i = 0; i < Platforms.Length; i++) {
|
||||
string filename = $"{InputDirectory}/{Platforms [i]}-{fx}.todo";
|
||||
var count = ProcessFile (filename);
|
||||
string filename = $"{Platforms [i]}-{fx}.todo";
|
||||
var count = ProcessFile (Path.Combine (InputDirectory, filename));
|
||||
log.Write ("<td align='center' ");
|
||||
if (count <= 0)
|
||||
log.Write ("bgcolor='peachpuff'>-");
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
// Information about this assembly is defined by the following attributes.
|
||||
// Change them to the values specific to your project.
|
||||
|
||||
[assembly: AssemblyTitle ("xtro-sanity")]
|
||||
[assembly: AssemblyDescription ("")]
|
||||
[assembly: AssemblyConfiguration ("")]
|
||||
[assembly: AssemblyCompany ("")]
|
||||
[assembly: AssemblyProduct ("")]
|
||||
[assembly: AssemblyCopyright ("")]
|
||||
[assembly: AssemblyTrademark ("")]
|
||||
[assembly: AssemblyCulture ("")]
|
||||
|
||||
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
|
||||
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
|
||||
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
|
||||
|
||||
[assembly: AssemblyVersion ("1.0.*")]
|
||||
|
||||
// The following attributes are used to specify the signing key for the assembly,
|
||||
// if desired. See the Mono documentation for more information about signing.
|
||||
|
||||
//[assembly: AssemblyDelaySign(false)]
|
||||
//[assembly: AssemblyKeyFile("")]
|
|
@ -0,0 +1,215 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
namespace Extrospection {
|
||||
class Sanitizer {
|
||||
|
||||
static readonly string [] Platforms = new [] { "iOS", "tvOS", "watchOS", "macOS" };
|
||||
|
||||
static bool IsEntry (string line)
|
||||
{
|
||||
return line.Length > 0 && line [0] == '!';
|
||||
}
|
||||
|
||||
// Entries are correct if each line
|
||||
// * is empty; or
|
||||
// * starts with a '!' (entries); or
|
||||
// * starts with a "#" (comments) except for
|
||||
// * "#!" since it's a commented entry (and should not be committed)
|
||||
static void CorrectEntries (List<string> entries, string filename)
|
||||
{
|
||||
foreach (var entry in entries) {
|
||||
if (IsEntry (entry))
|
||||
continue;
|
||||
if (entry.Length == 0)
|
||||
continue;
|
||||
if (entry [0] != '#') {
|
||||
Log ($"?bad-entry? '{entry}' in '{filename}'");
|
||||
} else if (entry [1] == '!') {
|
||||
Log ($"?bad-comment? '{entry}' in '{filename}'");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Comments can be duplicated but not entries
|
||||
static void UniqueEntries (List<string> entries, string filename)
|
||||
{
|
||||
for (int i = 0; i < entries.Count; i++) {
|
||||
var entry = entries [i];
|
||||
if (!IsEntry (entry))
|
||||
continue;
|
||||
for (int j = i + 1; j < entries.Count; j++) {
|
||||
if (entry == entries [j])
|
||||
Log ($"?dupe-entry? {entry} in '{filename}'");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// it's either common (for all/most) or platform specific - not both
|
||||
static void NoDuplicateInCommonIgnores ()
|
||||
{
|
||||
foreach (var kvp in commons) {
|
||||
var fx = kvp.Key;
|
||||
var common = kvp.Value;
|
||||
foreach (var platform in Platforms) {
|
||||
var p = Path.Combine (directory, $"{platform}-{fx}.ignore");
|
||||
if (!File.Exists (p))
|
||||
continue;
|
||||
foreach (var entry in File.ReadAllLines (p)) {
|
||||
if (!IsEntry (entry))
|
||||
continue;
|
||||
if (!common.Contains (entry))
|
||||
continue;
|
||||
Log ($"?dupe-common? Entry '{entry}' in both 'common-{fx}.ignore' and '{Path.GetFileName (p)}' files");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// it's either something in our todo list or something we can ignore - not both
|
||||
static void NoIgnoredTodo ()
|
||||
{
|
||||
foreach (var file in Directory.GetFiles (directory, "*.todo")) {
|
||||
var last = file.LastIndexOf ('-');
|
||||
var fx = file.Substring (last + 1, file.Length - last - 6);
|
||||
// check if it's in common or in the same platform
|
||||
if (commons.TryGetValue (fx, out var common)) {
|
||||
foreach (var entry in File.ReadAllLines (file)) {
|
||||
if (!IsEntry (entry))
|
||||
continue;
|
||||
if (common.Contains (entry))
|
||||
Log ($"?dupe-todo? Entry '{entry}' in both 'common-{fx}.ignore' and '{Path.GetFileName (file)}' files");
|
||||
}
|
||||
}
|
||||
var platform = Path.ChangeExtension (file, ".ignore");
|
||||
if (File.Exists (platform)) {
|
||||
var specific = new List<string> (File.ReadAllLines (platform));
|
||||
foreach (var entry in File.ReadAllLines (file)) {
|
||||
if (!IsEntry (entry))
|
||||
continue;
|
||||
if (specific.Contains (entry))
|
||||
Log ($"?dupe-todo? Entry '{entry}' in both '{Path.GetFileName (platform)}' and '{Path.GetFileName (file)}' files");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static string directory;
|
||||
static Dictionary<string, List<string>> commons = new Dictionary<string, List<string>> ();
|
||||
static int count;
|
||||
|
||||
public static void Log (string s)
|
||||
{
|
||||
Console.WriteLine (s);
|
||||
count++;
|
||||
}
|
||||
|
||||
public static int Main (string [] args)
|
||||
{
|
||||
directory = args.Length == 0 ? "." : args [0];
|
||||
|
||||
// cache stuff
|
||||
foreach (var file in Directory.GetFiles (directory, "common-*.ignore")) {
|
||||
var path = Path.GetFileName (file);
|
||||
var fx = path.Substring (7, path.Length - 14);
|
||||
var common = new List<string> (File.ReadAllLines (file));
|
||||
commons.Add (fx, common);
|
||||
}
|
||||
|
||||
// *.ignore validations
|
||||
|
||||
// basic sanity for ignores
|
||||
foreach (var kvp in commons) {
|
||||
var fx = kvp.Key;
|
||||
var common = kvp.Value;
|
||||
CorrectEntries (common, $"common-{fx}.ignore");
|
||||
}
|
||||
foreach (var file in Directory.GetFiles (directory, "*.ignore")) {
|
||||
var filename = Path.GetFileName (file);
|
||||
// already processed from cache - don't reload them
|
||||
if (filename.StartsWith ("common-", StringComparison.Ordinal))
|
||||
continue;
|
||||
var entries = new List<string> (File.ReadAllLines (file));
|
||||
CorrectEntries (entries, filename);
|
||||
}
|
||||
|
||||
// uniqueness - check that each .ignore file has no duplicate
|
||||
foreach (var kvp in commons) {
|
||||
var fx = kvp.Key;
|
||||
var common = kvp.Value;
|
||||
UniqueEntries (common, $"common-{fx}.ignore");
|
||||
}
|
||||
foreach (var file in Directory.GetFiles (directory, "*.ignore")) {
|
||||
var entries = new List<string> (File.ReadAllLines (file));
|
||||
UniqueEntries (entries, Path.GetFileName (file));
|
||||
}
|
||||
|
||||
// platform specific ignore entries should *not* be duplicated in common-*.ignore
|
||||
NoDuplicateInCommonIgnores ();
|
||||
|
||||
// TODO entries present in all platforms .ignore files should be moved to common
|
||||
|
||||
// ignored entries should all exists in the unfiltered .unclassified (raw)
|
||||
// * common-{fx}.ignored must be part of _at least_ one *-{fx}.raw file
|
||||
foreach (var kvp in commons) {
|
||||
var fx = kvp.Key;
|
||||
var common = kvp.Value;
|
||||
//ExistingCommonEntries (common, $"common-{fx}.ignore");
|
||||
List<string> [] raws = new List<string> [Platforms.Length];
|
||||
for (int i=0; i < raws.Length; i++) {
|
||||
var fname = Path.Combine (directory, $"{Platforms[i]}-{fx}.raw");
|
||||
if (File.Exists (fname))
|
||||
raws [i] = new List<string> (File.ReadAllLines (fname));
|
||||
else
|
||||
raws [i] = new List<string> ();
|
||||
}
|
||||
foreach (var entry in common) {
|
||||
if (!entry.StartsWith ("!", StringComparison.Ordinal))
|
||||
continue;
|
||||
bool found = false;
|
||||
foreach (var platform in raws) {
|
||||
found = platform.Contains (entry);
|
||||
if (found)
|
||||
break;
|
||||
}
|
||||
if (!found)
|
||||
Log ($"?unknown-entry? {entry} in 'common-{fx}.ignore'");
|
||||
}
|
||||
}
|
||||
// * a platform ignore must existing in it's corresponding raw file
|
||||
foreach (var file in Directory.GetFiles (directory, "*.ignore")) {
|
||||
var shortname = Path.GetFileName (file);
|
||||
if (shortname.StartsWith ("common-", StringComparison.Ordinal))
|
||||
continue;
|
||||
// FIXME temporary hack for old data files
|
||||
if (!shortname.Contains ("-"))
|
||||
continue;
|
||||
var rawfile = Path.ChangeExtension (file, ".raw");
|
||||
var raws = new List<string> (File.ReadAllLines (rawfile));
|
||||
foreach (var entry in File.ReadAllLines (file)) {
|
||||
if (!entry.StartsWith ("!", StringComparison.Ordinal))
|
||||
continue;
|
||||
if (raws.Contains (entry))
|
||||
continue;
|
||||
Log ($"?unknown-entry? {entry} in '{shortname}'");
|
||||
}
|
||||
}
|
||||
|
||||
// *.todo validations
|
||||
|
||||
// entries in .todo files should *not* be present in *.ignore files
|
||||
NoIgnoredTodo ();
|
||||
|
||||
// TODO entries in .todo should be found in .raw files
|
||||
|
||||
if (count == 0)
|
||||
Console.WriteLine ("Sanity check passed");
|
||||
else
|
||||
Console.WriteLine ($"Sanity check failed ({count})");
|
||||
|
||||
// useful when updating stuff locally - we report but we don't fail
|
||||
return Environment.GetEnvironmentVariable ("XTRO_SANITY_SKIP") == "1" ? 0 : count;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{E4D9B627-EF24-43AF-B6F2-60F38694C905}</ProjectGuid>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RootNamespace>xtrosanity</RootNamespace>
|
||||
<AssemblyName>xtro-sanity</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug</OutputPath>
|
||||
<DefineConstants>DEBUG;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ExternalConsole>true</ExternalConsole>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release</OutputPath>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ExternalConsole>true</ExternalConsole>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Sanitizer.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
|
@ -5,6 +5,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xtro-sharpie", "xtro-sharpi
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xtro-report", "xtro-report\xtro-report.csproj", "{F3CFAA8D-3D2D-4F7F-9C71-5488CFEB5EB3}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xtro-sanity", "xtro-sanity\xtro-sanity.csproj", "{E4D9B627-EF24-43AF-B6F2-60F38694C905}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -19,5 +21,9 @@ Global
|
|||
{F3CFAA8D-3D2D-4F7F-9C71-5488CFEB5EB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F3CFAA8D-3D2D-4F7F-9C71-5488CFEB5EB3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F3CFAA8D-3D2D-4F7F-9C71-5488CFEB5EB3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E4D9B627-EF24-43AF-B6F2-60F38694C905}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E4D9B627-EF24-43AF-B6F2-60F38694C905}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E4D9B627-EF24-43AF-B6F2-60F38694C905}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E4D9B627-EF24-43AF-B6F2-60F38694C905}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
Загрузка…
Ссылка в новой задаче