342 строки
17 KiB
Plaintext
342 строки
17 KiB
Plaintext
# 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
|
|
|
|
|
|
# CallKit
|
|
|
|
## +@property (nonatomic, strong, nullable) NSData *iconMaskImageData API_DEPRECATED_WITH_REPLACEMENT("iconTemplateImageData", ios(10.0, 10.0)); // Note: will be removed in a future beta SDK
|
|
!missing-selector! CXProviderConfiguration::iconMaskImageData not bound
|
|
!missing-selector! CXProviderConfiguration::setIconMaskImageData: 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
|
|
|
|
|
|
# HomeKit
|
|
|
|
## This was added and deprecated at the same time recommending the use of UpdateAudioStreamSetting.
|
|
## We decided not to bind it, as it could be that Apple is just keeping it around because it's needed
|
|
## somewhere else.
|
|
!missing-selector! HMCameraStream::setAudioStreamSetting: not bound
|
|
|
|
|
|
# Messages
|
|
|
|
## No enum to attach the domain with.
|
|
!missing-field! MSStickersErrorDomain not bound
|
|
|
|
|
|
# MessageUI
|
|
|
|
## [Native] available on XAMCORE_4_0
|
|
!missing-enum-native! MFMailComposeErrorCode
|
|
!missing-enum-native! MFMailComposeResult
|
|
!missing-enum-native! MessageComposeResult
|
|
!wrong-enum-size! MFMailComposeErrorCode managed 4 vs native 8
|
|
!wrong-enum-size! MFMailComposeResult managed 4 vs native 8
|
|
!wrong-enum-size! MessageComposeResult managed 4 vs native 8
|
|
|
|
|
|
# Metal
|
|
|
|
## only on macOS (but removing would be a vreaking 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
|
|
|
|
|
|
# Quicklook
|
|
|
|
## fixed for XAMCORE_4_0
|
|
!incorrect-protocol-member! QLPreviewItem::previewItemTitle is OPTIONAL and should NOT be abstract
|
|
|
|
|
|
# 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
|
|
|
|
|
|
# does not exists in iOS as a type - but some API refers to it (messy)
|
|
!unknown-type! NSPortMessage bound
|
|
|
|
# untyped enum but used as a NSInteger in the API, forcing us to use [Native]
|
|
!unknown-native-enum! TWRequestMethod bound
|
|
|
|
# unfortunate (but required for API compatibility) it also means one seems to be missing (same key)
|
|
!duplicate-type-name! WKErrorCode enum exists as both WatchKit.WKErrorCode and WebKit.WKErrorCode
|
|
!missing-enum! WKErrorCode 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! ADInterstitialAdDelegate::interstitialAdActionDidFinish: is OPTIONAL and should NOT be abstract
|
|
!incorrect-protocol-member! ADInterstitialAdDelegate::interstitialAdActionShouldBegin:willLeaveApplication: is OPTIONAL and should NOT be abstract
|
|
!incorrect-protocol-member! ADInterstitialAdDelegate::interstitialAdDidLoad: is OPTIONAL and should NOT be abstract
|
|
!incorrect-protocol-member! PKPaymentAuthorizationViewControllerDelegate::paymentAuthorizationViewControllerWillAuthorizePayment: is OPTIONAL and should NOT be abstract
|
|
!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
|
|
|
|
## availability macro says iOS 8.0 but constants are under a #if !TARGET_OS_IPHONE define.
|
|
## introspection does not report them as missing...
|
|
!unknown-field! kVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder bound
|
|
!unknown-field! kVTDecompressionPropertyKey_UsingHardwareAcceleratedVideoDecoder bound
|
|
!unknown-field! kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder bound
|
|
!unknown-field! kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder 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
|
|
|
|
## Apple made this protocol member optional in iOS 11 but it is a breaking change for us. Added to XAMCORE_4_0.
|
|
!incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT 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
|
|
|
|
# WatchKit
|
|
|
|
## unfortunate duplicated name
|
|
!duplicate-type-name! WKErrorCode enum exists as both WatchKit.WKErrorCode and WebKit.WKErrorCode
|
|
!duplicate-type-name! WKErrorCode enum exists as both WebKit.WKErrorCode and WatchKit.WKErrorCode
|
|
|
|
#PDFKit
|
|
# PDFAnnotationPopup is not available on iOS also deprecated in macOS 10,12
|
|
!missing-selector! PDFAnnotation::popup not bound
|
|
!missing-selector! PDFAnnotation::setPopup: not bound
|