[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:
Sebastien Pouliot 2017-12-18 10:49:07 -05:00 коммит произвёл GitHub
Родитель f8d7c54a0f
Коммит fffaba2414
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
58 изменённых файлов: 745 добавлений и 1685 удалений

1
tests/xtro-sharpie/.gitignore поставляемый
Просмотреть файл

@ -1,6 +1,7 @@
*.results *.results
*.pch* *.pch*
*.unclassified *.unclassified
*.raw
*.g.cs *.g.cs
*.html *.html
report/ report/

Просмотреть файл

@ -24,9 +24,9 @@ namespace Extrospection {
else if (td.Namespace.StartsWith ("OpenTK.", StringComparison.Ordinal)) { else if (td.Namespace.StartsWith ("OpenTK.", StringComparison.Ordinal)) {
// OpenTK duplicate a lots of enums between it's versions // OpenTK duplicate a lots of enums between it's versions
} else { } else {
var sorted = Helpers.Sort (type.FullName, td.FullName); var sorted = Helpers.Sort (type, td);
var framework = Helpers.GetFramework (type); var framework = Helpers.GetFramework (sorted.Item1);
Log.On (framework).Add ($"!duplicate-type-name! {name} enum exists as both {sorted.Item1} and {sorted.Item2}"); 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) if (StringComparer.Ordinal.Compare (o1.ToString (), o2.ToString ()) < 0)
return (s1, s2); return (o2, o1);
else else
return (s2, s1); return (o1, o2);
} }
} }
} }

Просмотреть файл

@ -23,6 +23,11 @@ namespace Extrospection {
foreach (var kvp in lists) { foreach (var kvp in lists) {
var framework = kvp.Key; var framework = kvp.Key;
var list = kvp.Value.Distinct ().ToList (); 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 // load ignore and pending files and remove them
// 1. common.framework.ignore - long term (shared cross platforms) **preferred** // 1. common.framework.ignore - long term (shared cross platforms) **preferred**
Remove (list, $"common-{framework}.ignore"); 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 $(XWATCHOS_PCH) $(XWATCHOS)
$(MONO) bin/Debug/xtro-sharpie.exe $(XTVOS_PCH) $(XTVOS) $(XTVOS_GL) $(MONO) bin/Debug/xtro-sharpie.exe $(XTVOS_PCH) $(XTVOS) $(XTVOS_GL)
$(MONO) bin/Debug/xtro-sharpie.exe $(XMAC_PCH) $(XMAC) $(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 all: classify report

Просмотреть файл

@ -52,10 +52,10 @@ namespace Extrospection {
if (!type_map.TryGetValue (rname, out td)) if (!type_map.TryGetValue (rname, out td))
type_map.Add (rname, type); type_map.Add (rname, type);
else { else {
var framework = Helpers.GetFramework (type);
// always report in the same order (for unique error messages) // always report in the same order (for unique error messages)
var sorted = Helpers.Sort (type.FullName, td.FullName); var sorted = Helpers.Sort (type, td);
Log.On (framework).Add ($"!duplicate-register! {rname} exists as both {sorted.Item1} and {sorted.Item2}"); 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; ManagedSimdInfo existing;
if (managed_methods.TryGetValue (key, out existing)) { if (managed_methods.TryGetValue (key, out existing)) {
if (very_strict) { if (very_strict) {
var framework = method.DeclaringType.Namespace; var sorted = Helpers.Sort (existing.Method, method);
var sorted = Helpers.Sort (existing.Method.FullName, method.FullName); var framework = sorted.Item1.DeclaringType.Namespace;
Log.On (framework).Add ($"!duplicate-type-mapping! same key '{key}' for both '{sorted.Item1}' and '{sorted.Item2}'"); Log.On (framework).Add ($"!duplicate-type-mapping! same key '{key}' for both '{sorted.Item1.FullName}' and '{sorted.Item2.FullName}'");
} }
} else { } else {
managed_methods [key] = new ManagedSimdInfo { managed_methods [key] = new ManagedSimdInfo {

Просмотреть файл

@ -7,7 +7,6 @@
!missing-field! AVVideoCodecHEVC not bound !missing-field! AVVideoCodecHEVC not bound
!missing-field! AVVideoTransferFunction_ITU_R_2100_HLG not bound !missing-field! AVVideoTransferFunction_ITU_R_2100_HLG not bound
!missing-field! AVVideoTransferFunction_SMPTE_ST_2084_PQ not bound !missing-field! AVVideoTransferFunction_SMPTE_ST_2084_PQ not bound
!missing-protocol! AVFragmentMinding not bound
!missing-protocol! AVVideoCompositionInstruction not bound !missing-protocol! AVVideoCompositionInstruction not bound
!missing-protocol-conformance! AVAsset should conform to AVAsynchronousKeyValueLoading !missing-protocol-conformance! AVAsset should conform to AVAsynchronousKeyValueLoading
!missing-protocol-conformance! AVAssetTrack 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! kABGroupNameProperty not bound
!missing-field! kABHomeLabel not bound !missing-field! kABHomeLabel not bound
!missing-field! kABOtherLabel not bound !missing-field! kABOtherLabel not bound
@ -87,4 +92,3 @@
!missing-field! kABSourceNameProperty not bound !missing-field! kABSourceNameProperty not bound
!missing-field! kABSourceTypeProperty not bound !missing-field! kABSourceTypeProperty not bound
!missing-field! kABWorkLabel 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 ## special case, see bug https://bugzilla.xamarin.com/show_bug.cgi?id=22940
!wrong-base-type! NSProxy expected actual NSObject !wrong-base-type! NSProxy expected actual NSObject
!missing-selector! +NSProxy::allocWithZone: not bound !missing-selector! +NSProxy::allocWithZone: not bound
@ -10,26 +27,16 @@
## Xamarin (not Apple) type ## Xamarin (not Apple) type
!unknown-type! InternalNSNotificationHandler bound !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 ## unsorted
!extra-designated-initializer! NSSortDescriptor::initWithCoder: is incorrectly decorated with an [DesignatedInitializer] attribute !extra-designated-initializer! NSSortDescriptor::initWithCoder: is incorrectly decorated with an [DesignatedInitializer] attribute
!incorrect-protocol-member! NSProgressReporting::progress is REQUIRED and should be abstract !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! NSBinarySearchingOptions not bound
!missing-enum! NSMachPortOptions not bound !missing-enum! NSMachPortOptions not bound
!missing-enum! NSNetServicesError not bound !missing-enum! NSNetServicesError not bound
@ -40,8 +47,6 @@
!missing-enum! NSXMLParserError not bound !missing-enum! NSXMLParserError not bound
!missing-enum! NSXMLParserExternalEntityResolvingPolicy not bound !missing-enum! NSXMLParserExternalEntityResolvingPolicy not bound
!missing-enum! NSXPCConnectionOptions not bound !missing-enum! NSXPCConnectionOptions not bound
!missing-field! _NSConstantStringClassReference not bound
!missing-field! NSAssertionHandlerKey not bound
!missing-field! NSAverageKeyValueOperator not bound !missing-field! NSAverageKeyValueOperator not bound
!missing-field! NSBuddhistCalendar not bound !missing-field! NSBuddhistCalendar not bound
!missing-field! NSBundleDidLoadNotification not bound !missing-field! NSBundleDidLoadNotification not bound
@ -167,7 +172,6 @@
!missing-selector! +NSArray::arrayWithContentsOfURL: not bound !missing-selector! +NSArray::arrayWithContentsOfURL: not bound
!missing-selector! +NSArray::arrayWithObject: not bound !missing-selector! +NSArray::arrayWithObject: not bound
!missing-selector! +NSArray::arrayWithObjects: not bound !missing-selector! +NSArray::arrayWithObjects: not bound
!missing-selector! +NSAssertionHandler::currentHandler not bound
!missing-selector! +NSAutoreleasePool::addObject: not bound !missing-selector! +NSAutoreleasePool::addObject: not bound
!missing-selector! +NSBundle::preferredLocalizationsFromArray: not bound !missing-selector! +NSBundle::preferredLocalizationsFromArray: not bound
!missing-selector! +NSBundle::preferredLocalizationsFromArray:forPreferences: not bound !missing-selector! +NSBundle::preferredLocalizationsFromArray:forPreferences: not bound
@ -317,8 +321,6 @@
!missing-selector! NSArray::sortedArrayWithOptions:usingComparator: not bound !missing-selector! NSArray::sortedArrayWithOptions:usingComparator: not bound
!missing-selector! NSArray::subarrayWithRange: not bound !missing-selector! NSArray::subarrayWithRange: not bound
!missing-selector! NSArray::writeToURL:atomically: 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! NSAutoreleasePool::addObject: not bound
!missing-selector! NSBundle::executableArchitectures not bound !missing-selector! NSBundle::executableArchitectures not bound
!missing-selector! NSBundle::loadAndReturnError: not bound !missing-selector! NSBundle::loadAndReturnError: not bound
@ -413,7 +415,6 @@
!missing-selector! NSFileManager::fileSystemRepresentationWithPath: not bound !missing-selector! NSFileManager::fileSystemRepresentationWithPath: not bound
!missing-selector! NSFileManager::stringWithFileSystemRepresentation:length: not bound !missing-selector! NSFileManager::stringWithFileSystemRepresentation:length: not bound
!missing-selector! NSFileSecurity::initWithCoder: not bound !missing-selector! NSFileSecurity::initWithCoder: not bound
!missing-selector! NSFileWrapper::initWithSerializedRepresentation: not bound
!missing-selector! NSHashTable::addObject: not bound !missing-selector! NSHashTable::addObject: not bound
!missing-selector! NSHashTable::allObjects not bound !missing-selector! NSHashTable::allObjects not bound
!missing-selector! NSHashTable::anyObject not bound !missing-selector! NSHashTable::anyObject not bound
@ -694,7 +695,6 @@
!missing-selector! NSString::description not bound !missing-selector! NSString::description not bound
!missing-selector! NSString::doubleValue not bound !missing-selector! NSString::doubleValue not bound
!missing-selector! NSString::enumerateLinesUsingBlock: 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::enumerateSubstringsInRange:options:usingBlock: not bound
!missing-selector! NSString::fastestEncoding not bound !missing-selector! NSString::fastestEncoding not bound
!missing-selector! NSString::fileSystemRepresentation not bound !missing-selector! NSString::fileSystemRepresentation not bound
@ -724,7 +724,6 @@
!missing-selector! NSString::intValue not bound !missing-selector! NSString::intValue not bound
!missing-selector! NSString::isEqualToString: not bound !missing-selector! NSString::isEqualToString: not bound
!missing-selector! NSString::lengthOfBytesUsingEncoding: 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::localizedCaseInsensitiveCompare: not bound
!missing-selector! NSString::localizedCompare: not bound !missing-selector! NSString::localizedCompare: not bound
!missing-selector! NSString::localizedStandardCompare: not bound !missing-selector! NSString::localizedStandardCompare: not bound
@ -782,7 +781,6 @@
!missing-selector! NSURLProtocol::initWithTask:cachedResponse:client: not bound !missing-selector! NSURLProtocol::initWithTask:cachedResponse:client: not bound
!missing-selector! NSURLProtocol::task not bound !missing-selector! NSURLProtocol::task not bound
!missing-selector! NSURLRequest::HTTPShouldUsePipelining not bound !missing-selector! NSURLRequest::HTTPShouldUsePipelining not bound
!missing-selector! NSURLSession::getTasksWithCompletionHandler: not bound
!missing-selector! NSUUID::initWithUUIDBytes: not bound !missing-selector! NSUUID::initWithUUIDBytes: not bound
!missing-selector! NSValue::getValue:size: not bound !missing-selector! NSValue::getValue:size: not bound
!missing-selector! NSValue::initWithBytes:objCType: not bound !missing-selector! NSValue::initWithBytes:objCType: not bound
@ -835,8 +833,6 @@
!missing-selector! NSXPCListener::delegate not bound !missing-selector! NSXPCListener::delegate not bound
!missing-selector! NSXPCListener::endpoint not bound !missing-selector! NSXPCListener::endpoint not bound
!missing-selector! NSXPCListener::setDelegate: 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! NSCountedSet not bound
!missing-type! NSDecimalNumberHandler not bound !missing-type! NSDecimalNumberHandler not bound
!missing-type! NSFileSecurity not bound !missing-type! NSFileSecurity not bound
@ -847,7 +843,6 @@
!missing-type! NSPointerArray not bound !missing-type! NSPointerArray not bound
!missing-type! NSPointerFunctions not bound !missing-type! NSPointerFunctions not bound
!missing-type! NSScanner not bound !missing-type! NSScanner not bound
!missing-type! NSSimpleCString not bound
!missing-type! NSXMLParser not bound !missing-type! NSXMLParser not bound
!missing-type! NSXPCConnection not bound !missing-type! NSXPCConnection not bound
!missing-type! NSXPCInterface not bound !missing-type! NSXPCInterface not bound
@ -864,4 +859,3 @@
!unknown-native-enum! NSUrlErrorCancelledReason bound !unknown-native-enum! NSUrlErrorCancelledReason bound
!unknown-protocol! NSObject bound !unknown-protocol! NSObject bound
!unknown-type! 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 !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! GKEntity::init is missing an [DesignatedInitializer] attribute
!missing-designated-initializer! GKRandomSource::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 !missing-designated-initializer! GKRuleSystem::init is missing an [DesignatedInitializer] attribute

Просмотреть файл

@ -28,19 +28,30 @@
!missing-selector! +INVisualCodeTypeResolutionResult::confirmationRequiredWithValueToConfirm: not bound !missing-selector! +INVisualCodeTypeResolutionResult::confirmationRequiredWithValueToConfirm: not bound
!missing-selector! +INVisualCodeTypeResolutionResult::successWithResolvedValue: not bound !missing-selector! +INVisualCodeTypeResolutionResult::successWithResolvedValue: not bound
## added and deprecated in Xcode9 (but not removed from headers)
## 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
!missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound
!missing-selector! INPerson::handle not bound
!missing-selector! INPerson::initWithHandle:displayName:contactIdentifier: not bound ## The following were deprecated in ios(10.0, 10.0)
!missing-selector! INPerson::initWithHandle:nameComponents:contactIdentifier: not bound
!missing-selector! INPerson::initWithHandle:nameComponents:displayName:image:contactIdentifier: not bound
!missing-selector! INRideDriver::initWithHandle:displayName:image:rating:phoneNumber: 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::initWithHandle:nameComponents:image:rating:phoneNumber: not bound
!missing-selector! INRideOption::identifier not bound !missing-selector! INRideOption::identifier not bound
!missing-selector! INRideOption::setIdentifier: 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::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::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 !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::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::setColorStoreAction:atIndex: is REQUIRED and should be abstract
!incorrect-protocol-member! MTLRenderCommandEncoder::setColorStoreActionOptions: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::setDepthStoreAction: is REQUIRED and should be abstract
!incorrect-protocol-member! MTLRenderCommandEncoder::setDepthStoreActionOptions: 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 !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 !incorrect-protocol-member! MTLTexture::usage is REQUIRED and should be abstract
!unknown-field! MTLRenderPipelineErrorDomain bound !unknown-field! MTLRenderPipelineErrorDomain bound
!unknown-native-enum! MTLRenderPipelineError 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 ## typedef is used (no value) in UITextInput.h: typedef NSInteger UITextDirection
!unknown-native-enum! UITextDirection bound !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::arrowBase is REQUIRED and should be abstract
!incorrect-protocol-member! +UIPopoverBackgroundViewMethods::arrowHeight 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 !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::dynamicAnimatorDidPause: is OPTIONAL and should NOT be abstract
!incorrect-protocol-member! UIDynamicAnimatorDelegate::dynamicAnimatorWillResume: 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::bottomAnchor is REQUIRED and should be abstract
!incorrect-protocol-member! UILayoutSupport::heightAnchor 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! 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 ## the [Sealed] attributes removes the [Export] one so it seems missing (but it's not)
!incorrect-protocol-member! UITextDocumentProxy::selectedText is REQUIRED and should be abstract !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::autocapitalizationType is OPTIONAL and should NOT be abstract
!incorrect-protocol-member! UITextInputTraits::autocorrectionType 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::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::setSecureTextEntry: is OPTIONAL and should NOT be abstract
!incorrect-protocol-member! UITextInputTraits::setSpellCheckingType: 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! 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 ## UIAccessibility
!incorrect-protocol-member! UIViewControllerTransitionCoordinatorContext::isInterruptible is REQUIRED and should be abstract ## We can't expose them as categories of NSObject so we have custom types instead
!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
!missing-selector! NSObject::accessibilityActivationPoint not bound !missing-selector! NSObject::accessibilityActivationPoint not bound
!missing-selector! NSObject::accessibilityAttributedHint not bound !missing-selector! NSObject::accessibilityAttributedHint not bound
!missing-selector! NSObject::accessibilityAttributedLabel not bound !missing-selector! NSObject::accessibilityAttributedLabel not bound
!missing-selector! NSObject::accessibilityAttributedValue not bound !missing-selector! NSObject::accessibilityAttributedValue not bound
!missing-selector! NSObject::accessibilityContainerType not bound !missing-selector! NSObject::accessibilityContainerType not bound
!missing-selector! NSObject::accessibilityCustomActions 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::accessibilityElementsHidden not bound
!missing-selector! NSObject::accessibilityFrame not bound !missing-selector! NSObject::accessibilityFrame not bound
!missing-selector! NSObject::accessibilityHint not bound !missing-selector! NSObject::accessibilityHint not bound
@ -114,7 +122,6 @@
!missing-selector! NSObject::accessibilityTraits not bound !missing-selector! NSObject::accessibilityTraits not bound
!missing-selector! NSObject::accessibilityValue not bound !missing-selector! NSObject::accessibilityValue not bound
!missing-selector! NSObject::accessibilityViewIsModal not bound !missing-selector! NSObject::accessibilityViewIsModal not bound
!missing-selector! NSObject::indexOfAccessibilityElement: not bound
!missing-selector! NSObject::isAccessibilityElement not bound !missing-selector! NSObject::isAccessibilityElement not bound
!missing-selector! NSObject::setAccessibilityActivationPoint: not bound !missing-selector! NSObject::setAccessibilityActivationPoint: not bound
!missing-selector! NSObject::setAccessibilityAttributedHint: not bound !missing-selector! NSObject::setAccessibilityAttributedHint: not bound
@ -122,7 +129,6 @@
!missing-selector! NSObject::setAccessibilityAttributedValue: not bound !missing-selector! NSObject::setAccessibilityAttributedValue: not bound
!missing-selector! NSObject::setAccessibilityContainerType: not bound !missing-selector! NSObject::setAccessibilityContainerType: not bound
!missing-selector! NSObject::setAccessibilityCustomActions: not bound !missing-selector! NSObject::setAccessibilityCustomActions: not bound
!missing-selector! NSObject::setAccessibilityElements: not bound
!missing-selector! NSObject::setAccessibilityElementsHidden: not bound !missing-selector! NSObject::setAccessibilityElementsHidden: not bound
!missing-selector! NSObject::setAccessibilityFrame: not bound !missing-selector! NSObject::setAccessibilityFrame: not bound
!missing-selector! NSObject::setAccessibilityHint: not bound !missing-selector! NSObject::setAccessibilityHint: not bound
@ -136,12 +142,30 @@
!missing-selector! NSObject::setIsAccessibilityElement: not bound !missing-selector! NSObject::setIsAccessibilityElement: not bound
!missing-selector! NSObject::setShouldGroupAccessibilityChildren: not bound !missing-selector! NSObject::setShouldGroupAccessibilityChildren: not bound
!missing-selector! NSObject::shouldGroupAccessibilityChildren 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 ## @required members added to exixting interfaces (breaking change), fixed on XAMCORE_4_0
!missing-selector! UIColor::initWithDisplayP3Red:green:blue:alpha: not bound !incorrect-protocol-member! UIFocusEnvironment::preferredFocusEnvironments is REQUIRED and should be abstract
!missing-selector! UIColor::initWithHue:saturation:brightness:alpha: not bound !incorrect-protocol-member! UITextDocumentProxy::documentInputMode is REQUIRED and should be abstract
!missing-selector! UIGestureRecognizer::ignorePress:forEvent: not bound !incorrect-protocol-member! UITextDocumentProxy::documentIdentifier is REQUIRED and should be abstract
!missing-selector! UIImageView::isUserInteractionEnabled not bound !incorrect-protocol-member! UITextDocumentProxy::selectedText is REQUIRED and should be abstract
!missing-selector! UIImageView::setUserInteractionEnabled: not bound !incorrect-protocol-member! UIViewControllerContextTransitioning::pauseInteractiveTransition is REQUIRED and should be abstract
!missing-selector! UILabel::isUserInteractionEnabled not bound !incorrect-protocol-member! UIViewControllerTransitionCoordinator::notifyWhenInteractionChangesUsingBlock: is REQUIRED and should be abstract
!missing-selector! UILabel::setUserInteractionEnabled: not bound !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 # 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 # 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 ## collections - many are special
!missing-type! NSCountedSet not bound !missing-type! NSCountedSet not bound
@ -189,10 +89,6 @@
!missing-selector! NSDecimalNumberHandler::initWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero: not bound !missing-selector! NSDecimalNumberHandler::initWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero: not bound
!missing-protocol! NSDecimalNumberBehaviors not bound !missing-protocol! NSDecimalNumberBehaviors not bound
## coredata
!missing-type! NSExpressionDescription not bound
!missing-type! NSFetchRequestExpression not bound
## stub for CFFileSecurity? ## stub for CFFileSecurity?
!missing-type! NSFileSecurity not bound !missing-type! NSFileSecurity not bound
@ -237,16 +133,6 @@
!missing-type! NSValueTransformer not bound !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) ## there's a type of the same name (like NSObject, check what Swift did)
!missing-protocol! AVVideoCompositionInstruction not bound !missing-protocol! AVVideoCompositionInstruction not bound
@ -339,10 +225,6 @@
!incorrect-protocol-member! MTLTexture::iosurface is REQUIRED and should be abstract !incorrect-protocol-member! MTLTexture::iosurface is REQUIRED and should be abstract
!incorrect-protocol-member! MTLTexture::iosurfacePlane 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 # Protocols we decided not to expose
!missing-protocol! NSFastEnumeration not bound !missing-protocol! NSFastEnumeration not bound
!missing-protocol-conformance! AVCaptureSynchronizedDataCollection should conform to NSFastEnumeration !missing-protocol-conformance! AVCaptureSynchronizedDataCollection should conform to NSFastEnumeration
@ -424,211 +306,6 @@
!missing-selector! NSXMLParserDelegate::parserDidEndDocument: is not bound !missing-selector! NSXMLParserDelegate::parserDidEndDocument: is not bound
!missing-selector! NSXMLParserDelegate::parserDidStartDocument: 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 # ModelIO
@ -638,42 +315,3 @@
!incorrect-protocol-member! MDLTransformComponent::keyTimes is REQUIRED and should be abstract !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::resetsTransform is REQUIRED and should be abstract
!incorrect-protocol-member! MDLTransformComponent::setResetsTransform: 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! AVAssetDownloadedAssetEvictionPriorityDefault not bound
!missing-field! AVAssetDownloadedAssetEvictionPriorityImportant not bound !missing-field! AVAssetDownloadedAssetEvictionPriorityImportant not bound
!missing-protocol-conformance! AVCaptureSynchronizedDataCollection should conform to NSFastEnumeration !missing-protocol-conformance! AVCaptureSynchronizedDataCollection should conform to NSFastEnumeration
@ -15,8 +28,5 @@
!missing-selector! AVMetadataMachineReadableCodeObject::descriptor not bound !missing-selector! AVMetadataMachineReadableCodeObject::descriptor not bound
!missing-selector! AVMutableAssetDownloadStorageManagementPolicy::priority not bound !missing-selector! AVMutableAssetDownloadStorageManagementPolicy::priority not bound
!missing-selector! AVMutableAssetDownloadStorageManagementPolicy::setPriority: not bound !missing-selector! AVMutableAssetDownloadStorageManagementPolicy::setPriority: not bound
!unknown-field! AVMediaTypeTimedMetadata bound
!unknown-native-enum! AVAudioSessionFlags bound !unknown-native-enum! AVAudioSessionFlags bound
!unknown-native-enum! AVAudioSessionInterruptionFlags 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_CurrentRouteDescription not bound
!missing-field! kAudioSession_AudioRouteChangeKey_PreviousRouteDescription not bound !missing-field! kAudioSession_AudioRouteChangeKey_PreviousRouteDescription not bound
!missing-field! kAudioSession_AudioRouteKey_Inputs not bound !missing-field! kAudioSession_AudioRouteKey_Inputs not bound
@ -8,6 +9,8 @@
!missing-field! kAudioSession_OutputDestinationKey_Description not bound !missing-field! kAudioSession_OutputDestinationKey_Description not bound
!missing-field! kAudioSession_OutputDestinationKey_ID not bound !missing-field! kAudioSession_OutputDestinationKey_ID not bound
!missing-field! kAudioSession_RouteChangeKey_Reason 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_BluetoothHFP not bound
!missing-field! kAudioSessionInputRoute_BuiltInMic not bound !missing-field! kAudioSessionInputRoute_BuiltInMic not bound
!missing-field! kAudioSessionInputRoute_HeadsetMic not bound !missing-field! kAudioSessionInputRoute_HeadsetMic not bound
@ -22,5 +25,11 @@
!missing-field! kAudioSessionOutputRoute_Headphones not bound !missing-field! kAudioSessionOutputRoute_Headphones not bound
!missing-field! kAudioSessionOutputRoute_LineOut not bound !missing-field! kAudioSessionOutputRoute_LineOut not bound
!missing-field! kAudioSessionOutputRoute_USBAudio not bound !missing-field! kAudioSessionOutputRoute_USBAudio not bound
## deprecated in iOS 7
!missing-pinvoke! AudioSessionRemovePropertyListenerWithUserData is not bound !missing-pinvoke! AudioSessionRemovePropertyListenerWithUserData is not bound
## unsorted
!missing-pinvoke! MusicTrackGetDestMIDIEndpoint is not bound !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:didRetrieveConnectedPeripherals: found
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrievePeripherals: 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 !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 !missing-pinvoke! MKRoadWidthAtZoomScale is not bound
## unsorted
!missing-field! MKAnnotationCalloutInfoDidChangeNotification not bound
!missing-protocol-conformance! MKUserLocation should conform to MKAnnotation !missing-protocol-conformance! MKUserLocation should conform to MKAnnotation
!missing-protocol-member! MKOverlay::coordinate not found !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-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 !missing-selector! MPMediaEntity::persistentID not bound
## unsorted
!missing-selector! MPMediaItem::albumArtist not bound !missing-selector! MPMediaItem::albumArtist not bound
!missing-selector! MPMediaItem::albumArtistPersistentID not bound !missing-selector! MPMediaItem::albumArtistPersistentID not bound
!missing-selector! MPMediaItem::albumPersistentID not bound !missing-selector! MPMediaItem::albumPersistentID not bound
@ -38,5 +48,3 @@
!missing-selector! MPMediaItem::skipCount not bound !missing-selector! MPMediaItem::skipCount not bound
!missing-selector! MPMediaItem::title not bound !missing-selector! MPMediaItem::title not bound
!missing-selector! MPMediaItem::userGrouping 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::dispatchThreads:threadsPerThreadgroup: is REQUIRED and should be abstract
!incorrect-protocol-member! MTLComputeCommandEncoder::setImageblockWidth:height: 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 !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 ## 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 !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! UIKeyboardCenterBeginUserInfoKey bound
!unknown-field! UIKeyboardCenterEndUserInfoKey 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 ## 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::accessibilityDragSourceDescriptors not bound
!missing-selector! NSObject::accessibilityDropPointDescriptors not bound !missing-selector! NSObject::accessibilityDropPointDescriptors not bound
!missing-selector! NSObject::setAccessibilityDragSourceDescriptors: 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) ## unfortunate (but required for API compatibility) the name exists in both WatchKit and WebKit namespaces
!duplicate-type-name! WKErrorCode enum exists as both WatchKit.WKErrorCode and WebKit.WKErrorCode ## 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 !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 !incorrect-protocol-member! AVFragmentMinding::isAssociatedWithFragmentMinder is REQUIRED and should be abstract
!missing-field! AVMediaCharacteristicEasyToRead not bound !missing-field! AVMediaCharacteristicEasyToRead not bound
!missing-field! AVVideoDecompressionPropertiesKey not bound !missing-field! AVVideoDecompressionPropertiesKey not bound
@ -19,12 +25,9 @@
!missing-selector! AVPlayerItem::isAuthorizationRequiredForPlayback not bound !missing-selector! AVPlayerItem::isAuthorizationRequiredForPlayback not bound
!missing-selector! AVPlayerItem::isContentAuthorizedForPlayback not bound !missing-selector! AVPlayerItem::isContentAuthorizedForPlayback not bound
!missing-selector! AVPlayerItem::mediaDataCollectors not bound !missing-selector! AVPlayerItem::mediaDataCollectors not bound
!missing-selector! AVPlayerItem::preferredMaximumResolution not bound
!missing-selector! AVPlayerItem::removeMediaDataCollector: not bound !missing-selector! AVPlayerItem::removeMediaDataCollector: not bound
!missing-selector! AVPlayerItem::requestContentAuthorizationAsynchronouslyWithTimeoutInterval:completionHandler: not bound !missing-selector! AVPlayerItem::requestContentAuthorizationAsynchronouslyWithTimeoutInterval:completionHandler: not bound
!missing-selector! AVPlayerItem::setPreferredMaximumResolution: not bound
!missing-selector! AVPlayerItemOutput::itemTimeForCVTimeStamp: not bound !missing-selector! AVPlayerItemOutput::itemTimeForCVTimeStamp: not bound
!unknown-field! AVMediaTypeTimedMetadata bound
!unknown-native-enum! AVAudioSessionCategoryOptions bound !unknown-native-enum! AVAudioSessionCategoryOptions bound
!unknown-native-enum! AVAudioSessionErrorCode bound !unknown-native-enum! AVAudioSessionErrorCode bound
!unknown-native-enum! AVAudioSessionFlags 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 # https://bugzilla.xamarin.com/show_bug.cgi?id=30717
!duplicate-type-name! NSFileWrapperReadingOptions enum exists as both AppKit.NSFileWrapperReadingOptions and Foundation.NSFileWrapperReadingOptions !duplicate-register! _NSDatePickerCellDelegate exists as both AppKit.NSDatePickerCell/_NSDatePickerCellDelegate and AppKit.NSDatePicker/_NSDatePickerCellDelegate
!duplicate-type-name! NSWritingDirection enum exists as both AppKit.NSWritingDirection and Foundation.NSWritingDirection
# Proxy class for NSGraphicsContext internal to AppKit
!unknown-type! NSPrintPreviewGraphicsContext bound
## unsorted
!extra-enum-native! NSEventSubtype !extra-enum-native! NSEventSubtype
!extra-protocol-member! unexpected selector NSApplicationDelegate::orderFrontStandardAboutPanel: found !extra-protocol-member! unexpected selector NSApplicationDelegate::orderFrontStandardAboutPanel: found
!extra-protocol-member! unexpected selector NSApplicationDelegate::orderFrontStandardAboutPanelWithOptions: found !extra-protocol-member! unexpected selector NSApplicationDelegate::orderFrontStandardAboutPanelWithOptions: found
@ -1264,7 +1270,6 @@
!unknown-native-enum! NSWindowLevel bound !unknown-native-enum! NSWindowLevel bound
!unknown-native-enum! NSWindowStyle bound !unknown-native-enum! NSWindowStyle bound
!unknown-type! NSMenuView bound !unknown-type! NSMenuView bound
!unknown-type! NSPrintPreviewGraphicsContext bound
!unknown-type! NSRemoteOpenPanel bound !unknown-type! NSRemoteOpenPanel bound
!unknown-type! NSRemoteSavePanel bound !unknown-type! NSRemoteSavePanel bound
!wrong-enum-size! NSEventSubtype managed 8 vs native 2 !wrong-enum-size! NSEventSubtype managed 8 vs native 2

Просмотреть файл

@ -1,9 +1,9 @@
## old and different name for CBUUIDCharacteristicValidRangeString, removed in Xcode9 headers (27160443) ## old and different name for CBUUIDCharacteristicValidRangeString, removed in Xcode9 headers (27160443)
!unknown-field! CBUUIDValidRangeString bound !unknown-field! CBUUIDValidRangeString bound
## obsoleted (removed from headers) in iOS 8.4
## unsorted
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrieveConnectedPeripherals: found !extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrieveConnectedPeripherals: found
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrievePeripherals: 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 !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-designated-initializer! NSScriptCommand::initWithCoder: is incorrectly decorated with an [DesignatedInitializer] attribute
!extra-protocol-member! unexpected selector NSURLSessionDelegate::URLSessionDidFinishEventsForBackgroundURLSession: found !extra-protocol-member! unexpected selector NSURLSessionDelegate::URLSessionDidFinishEventsForBackgroundURLSession: found
!missing-designated-initializer! NSAffineTransform::init is missing an [DesignatedInitializer] attribute !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 # 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 # Defined in NSObject (NSDeprecatedTextStorageDelegateInterface
!extra-protocol-member! unexpected selector NSTextStorageDelegate::textStorageDidProcessEditing: found !extra-protocol-member! unexpected selector NSTextStorageDelegate::textStorageDidProcessEditing: found
!extra-protocol-member! unexpected selector NSTextStorageDelegate::textStorageWillProcessEditing: found !extra-protocol-member! unexpected selector NSTextStorageDelegate::textStorageWillProcessEditing: found
@ -54,12 +50,6 @@
!extra-protocol-member! unexpected selector NSOpenSavePanelDelegate::panel:shouldShowFilename: found !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 # In header as old style unnamaed enum
!unknown-native-enum! IKCellsStyle bound !unknown-native-enum! IKCellsStyle bound
!unknown-native-enum! IKGroupStyle bound !unknown-native-enum! IKGroupStyle bound
@ -98,11 +88,8 @@
!unknown-field! NSOperationNumber bound !unknown-field! NSOperationNumber bound
!unknown-field! NSTableColumn bound !unknown-field! NSTableColumn bound
!unknown-field! NSTextMovement bound !unknown-field! NSTextMovement bound
!unknown-field! PDFAnnotationHit bound
!unknown-field! item 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) # 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! MTLRenderPassDepthAttachmentDescriptor::setDepthResolveFilter: not bound
!missing-selector! MTLSamplerDescriptor::lodAverage not bound !missing-selector! MTLSamplerDescriptor::lodAverage not bound
!missing-selector! MTLSamplerDescriptor::setLodAverage: 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 --- # --- 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 # 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 CBPeripheralDelegate::xamarin:selector:removed: found
!extra-protocol-member! unexpected selector GKMatchDelegate::xamarin:selector:removed: found !extra-protocol-member! unexpected selector GKMatchDelegate::xamarin:selector:removed: found
@ -364,55 +248,12 @@
## CoreLocation ## CoreLocation
# False positives, not available on macOS as 10.12 # False positives, not available on macOS as 10.12
# Mostly __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_X_Y); # 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-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-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:didVisit: not found
!missing-protocol-member! CLLocationManagerDelegate::locationManager:didUpdateHeading: not found !missing-protocol-member! CLLocationManagerDelegate::locationManager:didUpdateHeading: not found
!missing-field! CLTimeIntervalMax not bound !missing-field! CLTimeIntervalMax not bound
!missing-selector! CLLocation::getDistanceFrom: 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 # MediaPlayer API macOS 10.12.2
@ -444,15 +285,3 @@
!missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceRemovalRequestedNotification not bound
!missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound
!missing-field! MTLDeviceWasRemovedNotification 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 ## OSX only - but only the member is marked (not the protocol itself)
!missing-selector! AVPlayerItem::preferredMaximumResolution not bound !missing-protocol! AVFragmentMinding not bound
!missing-selector! AVPlayerItem::setPreferredMaximumResolution: 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 !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! NSUbiquitousUserDefaultsCompletedInitialSyncNotification not bound
!missing-field! NSUbiquitousUserDefaultsDidChangeAccountsNotification not bound !missing-field! NSUbiquitousUserDefaultsDidChangeAccountsNotification not bound
!missing-field! NSUserDefaultsSizeLimitExceededNotification 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) ## does not exists in iOS (or tvOS) as a type - but some API refers to it (messy)
!unknown-type! NSPortMessage bound !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! GKFriendRequestComposeViewControllerDelegate not bound
!missing-protocol! GKSavedGameListener 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! 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 ## lack of availabilty macros on NSItemProvder.PreferredPresentationStyle - intro says they are not available
!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
!missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::preferredPresentationStyle not bound
!missing-selector! NSItemProvider::setPreferredPresentationStyle: 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::accessibilityHeaderElements not bound
!missing-selector! NSObject::setAccessibilityHeaderElements: 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::altitudeAngle not bound
!missing-selector! UITouch::azimuthAngleInView: not bound !missing-selector! UITouch::azimuthAngleInView: not bound
!missing-selector! UITouch::azimuthUnitVectorInView: not bound !missing-selector! UITouch::azimuthUnitVectorInView: not bound
@ -19,7 +31,23 @@
!missing-selector! UITouch::estimationUpdateIndex not bound !missing-selector! UITouch::estimationUpdateIndex not bound
!missing-selector! UITouch::preciseLocationInView: not bound !missing-selector! UITouch::preciseLocationInView: not bound
!missing-selector! UITouch::precisePreviousLocationInView: 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 !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! UILineBreakMode bound
!unknown-native-enum! UITextAlignment 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) ## does not exists in iOS (or watchOS) as a type - but some API refers to it (messy)
!unknown-type! NSPortMessage bound !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 !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! INCarAirCirculationModeResolutionResult bound
!unknown-type! INCarAudioSourceResolutionResult bound !unknown-type! INCarAudioSourceResolutionResult bound
!unknown-type! INCarDefrosterResolutionResult 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 InputDirectory { get; set; }
static string ReportFolder { get; set; } static string ReportFolder { get; set; }
static List<string> Frameworks = new List<string> ();
static readonly string [] Platforms = new [] { "iOS", "tvOS", "watchOS", "macOS" }; static readonly string [] Platforms = new [] { "iOS", "tvOS", "watchOS", "macOS" };
public static bool ProcessFramework (string framework) public static bool ProcessFramework (string framework)
@ -145,6 +147,14 @@ namespace Extrospection {
return count; 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) public static int Main (string [] args)
{ {
InputDirectory = args.Length == 0 ? "." : args [0]; InputDirectory = args.Length == 0 ? "." : args [0];
@ -154,7 +164,6 @@ namespace Extrospection {
int width = 100 / ((full ? 2 : 1) + (full ? 3 : 2) * Platforms.Length); int width = 100 / ((full ? 2 : 1) + (full ? 3 : 2) * Platforms.Length);
var frameworks = new List<string> ();
var allfiles = new List<string> (); var allfiles = new List<string> ();
ReportFolder = args.Length > 1 ? args [1] : "report"; ReportFolder = args.Length > 1 ? args [1] : "report";
@ -176,17 +185,14 @@ namespace Extrospection {
log.WriteLine ("</tr>"); log.WriteLine ("</tr>");
log.WriteLine ("<tr>"); log.WriteLine ("<tr>");
if (full) { if (full)
log.WriteLine ($"<td align='center' bgcolor='green' width='{width}%'>Common</td>"); 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>"); log.WriteLine ($"<td align='center' bgcolor='green' width='{width}%'>{platform}</td>");
var files = Directory.GetFiles (InputDirectory, $"{platform}-*.ignore"); var files = Directory.GetFiles (InputDirectory, $"{platform}-*.ignore");
foreach (var file in files) { foreach (var file in files) {
var filename = Path.GetFileNameWithoutExtension (file); AddFramework (file);
var fx = filename.Substring (filename.IndexOf ('-') + 1);
if (!frameworks.Contains (fx))
frameworks.Add (fx);
}
} }
} }
foreach (var platform in Platforms) { foreach (var platform in Platforms) {
@ -194,10 +200,11 @@ namespace Extrospection {
var files = Directory.GetFiles (InputDirectory, $"{platform}-*.unclassified"); var files = Directory.GetFiles (InputDirectory, $"{platform}-*.unclassified");
foreach (var file in files) { foreach (var file in files) {
allfiles.Add (file); allfiles.Add (file);
var filename = Path.GetFileNameWithoutExtension (file); AddFramework (file);
var fx = filename.Substring (filename.IndexOf ('-') + 1); }
if (!frameworks.Contains (fx)) var todos = Directory.GetFiles (InputDirectory, $"{platform}-*.todo");
frameworks.Add (fx); foreach (var file in todos) {
AddFramework (file);
} }
} }
foreach (var platform in Platforms) foreach (var platform in Platforms)
@ -216,8 +223,8 @@ namespace Extrospection {
var todo = new int [Platforms.Length]; var todo = new int [Platforms.Length];
int errors = 0; int errors = 0;
frameworks.Sort (); Frameworks.Sort ();
foreach (var fx in frameworks) { foreach (var fx in Frameworks) {
if (Filter (fx)) if (Filter (fx))
continue; continue;
log.WriteLine ("<tr>"); log.WriteLine ("<tr>");
@ -250,8 +257,8 @@ namespace Extrospection {
} }
} }
for (int i = 0; i < Platforms.Length; i++) { for (int i = 0; i < Platforms.Length; i++) {
string filename = $"{InputDirectory}/{Platforms [i]}-{fx}.unclassified"; string filename = $"{Platforms [i]}-{fx}.unclassified";
var count = ProcessFile (filename); var count = ProcessFile (Path.Combine (InputDirectory, filename));
log.Write ("<td align='center'"); log.Write ("<td align='center'");
if (count < 1) if (count < 1)
log.Write (" bgcolor='salmon'>-"); log.Write (" bgcolor='salmon'>-");
@ -262,8 +269,8 @@ namespace Extrospection {
errors += count; errors += count;
} }
for (int i = 0; i < Platforms.Length; i++) { for (int i = 0; i < Platforms.Length; i++) {
string filename = $"{InputDirectory}/{Platforms [i]}-{fx}.todo"; string filename = $"{Platforms [i]}-{fx}.todo";
var count = ProcessFile (filename); var count = ProcessFile (Path.Combine (InputDirectory, filename));
log.Write ("<td align='center' "); log.Write ("<td align='center' ");
if (count <= 0) if (count <= 0)
log.Write ("bgcolor='peachpuff'>-"); 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 EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xtro-report", "xtro-report\xtro-report.csproj", "{F3CFAA8D-3D2D-4F7F-9C71-5488CFEB5EB3}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xtro-report", "xtro-report\xtro-report.csproj", "{F3CFAA8D-3D2D-4F7F-9C71-5488CFEB5EB3}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xtro-sanity", "xtro-sanity\xtro-sanity.csproj", "{E4D9B627-EF24-43AF-B6F2-60F38694C905}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU 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}.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.ActiveCfg = Release|Any CPU
{F3CFAA8D-3D2D-4F7F-9C71-5488CFEB5EB3}.Release|Any CPU.Build.0 = 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 EndGlobalSection
EndGlobal EndGlobal