[UIKit] Updated UIKit to xcode8-beta6 (#636)
Expected extrospection test failures: - ios.unclassified:!missing-field! UIApplicationInvalidInterfaceOrientationException not bound Generator bugs: - HACK: We have a generator bug(?) that won't allow overloads (AmbiguousMatchException) in protocols tvOS/iOS 9 Introspection Expected failures (UIKit Only): - [FAIL] UIKit.UIContentSizeCategoryExtensions.UIContentSizeCategoryUnspecified Generated enum extensions do not honor availability on NSString properties API Diff, expected changes (verified and correct): Type Changed: UIKit.UIContentSizeCategory Modified fields: ExtraExtraExtraLarge = 6 7 ExtraExtraLarge = 5 6 ExtraLarge = 4 5 ExtraSmall = 0 1 Large = 3 4 Medium = 2 3 Small = 1 2 Added values: AccessibilityExtraExtraExtraLarge = 12, AccessibilityExtraExtraLarge = 11, AccessibilityExtraLarge = 10, AccessibilityLarge = 9, AccessibilityMedium = 8, Unspecified = 0,
This commit is contained in:
Родитель
9f2df4b2f3
Коммит
16d5d68503
|
@ -317,9 +317,10 @@ namespace XamCore.UIKit {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[iOS (10,0), TV (10,0)]
|
||||||
[DllImport (Constants.UIKitLibrary)]
|
[DllImport (Constants.UIKitLibrary)]
|
||||||
static extern bool UIAccessibilityIsAssistiveTouchRunning ();
|
static extern bool UIAccessibilityIsAssistiveTouchRunning ();
|
||||||
[iOS (10,0)]
|
[iOS (10,0), TV (10,0)]
|
||||||
public static bool IsAssistiveTouchRunning {
|
public static bool IsAssistiveTouchRunning {
|
||||||
get {
|
get {
|
||||||
return UIAccessibilityIsAssistiveTouchRunning ();
|
return UIAccessibilityIsAssistiveTouchRunning ();
|
||||||
|
@ -327,6 +328,7 @@ namespace XamCore.UIKit {
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !TVOS
|
#if !TVOS
|
||||||
|
[iOS (10,0)]
|
||||||
[DllImport (Constants.UIKitLibrary)]
|
[DllImport (Constants.UIKitLibrary)]
|
||||||
static extern nuint UIAccessibilityHearingDevicePairedEar ();
|
static extern nuint UIAccessibilityHearingDevicePairedEar ();
|
||||||
|
|
||||||
|
|
|
@ -484,6 +484,7 @@ namespace XamCore.UIKit {
|
||||||
DecimalPad,
|
DecimalPad,
|
||||||
Twitter,
|
Twitter,
|
||||||
WebSearch,
|
WebSearch,
|
||||||
|
[iOS (10, 0)]
|
||||||
AsciiCapableNumberPad
|
AsciiCapableNumberPad
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1618,8 +1619,11 @@ namespace XamCore.UIKit {
|
||||||
[iOS (8,0)]
|
[iOS (8,0)]
|
||||||
public enum UIBlurEffectStyle : nint {
|
public enum UIBlurEffectStyle : nint {
|
||||||
ExtraLight, Light, Dark,
|
ExtraLight, Light, Dark,
|
||||||
// Notice: value 3 is skipped
|
[TV (10,0), NoiOS, NoWatch]
|
||||||
|
ExtraDark,
|
||||||
|
[iOS (10,0)]
|
||||||
Regular = 4,
|
Regular = 4,
|
||||||
|
[iOS (10,0)]
|
||||||
Prominent = 5,
|
Prominent = 5,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1640,6 +1644,7 @@ namespace XamCore.UIKit {
|
||||||
|
|
||||||
[NoTV][NoWatch]
|
[NoTV][NoWatch]
|
||||||
[iOS (8,0)]
|
[iOS (8,0)]
|
||||||
|
[Deprecated (PlatformName.iOS, 10, 0, message:"Use UNAuthorizationOptions instead")]
|
||||||
[Native]
|
[Native]
|
||||||
[Flags]
|
[Flags]
|
||||||
public enum UIUserNotificationType : nuint {
|
public enum UIUserNotificationType : nuint {
|
||||||
|
@ -1651,6 +1656,7 @@ namespace XamCore.UIKit {
|
||||||
|
|
||||||
[NoTV][NoWatch]
|
[NoTV][NoWatch]
|
||||||
[iOS (8, 0)]
|
[iOS (8, 0)]
|
||||||
|
[Deprecated (PlatformName.iOS, 10, 0, message: "Use UNNotificationActionOptions instead")]
|
||||||
[Native]
|
[Native]
|
||||||
public enum UIUserNotificationActivationMode : nuint {
|
public enum UIUserNotificationActivationMode : nuint {
|
||||||
Foreground,
|
Foreground,
|
||||||
|
@ -1659,6 +1665,7 @@ namespace XamCore.UIKit {
|
||||||
|
|
||||||
[NoTV][NoWatch]
|
[NoTV][NoWatch]
|
||||||
[iOS (8, 0)]
|
[iOS (8, 0)]
|
||||||
|
[Deprecated (PlatformName.iOS, 10, 0, message: "Use UNNotificationCategory.Actions instead")]
|
||||||
[Native]
|
[Native]
|
||||||
public enum UIUserNotificationActionContext : nuint {
|
public enum UIUserNotificationActionContext : nuint {
|
||||||
Default,
|
Default,
|
||||||
|
@ -1774,6 +1781,7 @@ namespace XamCore.UIKit {
|
||||||
|
|
||||||
[NoTV][NoWatch]
|
[NoTV][NoWatch]
|
||||||
[iOS (9,0)]
|
[iOS (9,0)]
|
||||||
|
[Deprecated (PlatformName.iOS, 10, 0, message: "Use UNNotificationAction or UNTextInputNotificationAction instead")]
|
||||||
[Native]
|
[Native]
|
||||||
public enum UIUserNotificationActionBehavior : nuint
|
public enum UIUserNotificationActionBehavior : nuint
|
||||||
{
|
{
|
||||||
|
@ -1940,4 +1948,23 @@ namespace XamCore.UIKit {
|
||||||
Previous,
|
Previous,
|
||||||
Next
|
Next
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[iOS (10,0), TV (10,0), NoWatch]
|
||||||
|
[Native]
|
||||||
|
[Flags]
|
||||||
|
public enum UICloudSharingPermissionOptions : nuint {
|
||||||
|
Standard = 0,
|
||||||
|
AllowPublic = 1 << 0,
|
||||||
|
AllowPrivate = 1 << 1,
|
||||||
|
AllowReadOnly = 1 << 2,
|
||||||
|
AllowReadWrite = 1 << 3
|
||||||
|
}
|
||||||
|
|
||||||
|
[iOS (10,0), TV (10,0), NoWatch]
|
||||||
|
[Native]
|
||||||
|
public enum UITextFieldDidEndEditingReason : nint {
|
||||||
|
Committed,
|
||||||
|
[NoiOS]
|
||||||
|
Cancelled
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
482
src/uikit.cs
482
src/uikit.cs
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -410,6 +410,125 @@ namespace Introspection {
|
||||||
return !TestRuntime.CheckXcodeVersion (8,0);
|
return !TestRuntime.CheckXcodeVersion (8,0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "CALayerDelegate": // UIView now conforms to CALayerDelegate in iOS 10
|
||||||
|
switch (type.Name) {
|
||||||
|
case "UISearchBar":
|
||||||
|
case "UISegmentedControl":
|
||||||
|
case "UITableView":
|
||||||
|
case "UITableViewCell":
|
||||||
|
case "UITextField":
|
||||||
|
case "UITextView":
|
||||||
|
case "UIToolbar":
|
||||||
|
case "UIView":
|
||||||
|
case "MKPinAnnotationView":
|
||||||
|
case "UIImageView":
|
||||||
|
case "PHLivePhotoView":
|
||||||
|
case "UIInputView":
|
||||||
|
case "UILabel":
|
||||||
|
case "UIActionSheet":
|
||||||
|
case "UIButton":
|
||||||
|
case "UICollectionView":
|
||||||
|
case "UINavigationBar":
|
||||||
|
case "UIControl":
|
||||||
|
case "UIPickerView":
|
||||||
|
case "UIPageControl":
|
||||||
|
case "MPVolumeView":
|
||||||
|
case "UIPopoverBackgroundView":
|
||||||
|
case "UIProgressView":
|
||||||
|
case "UIRefreshControl":
|
||||||
|
case "HKActivityRingView":
|
||||||
|
case "UIScrollView":
|
||||||
|
case "CAInterAppAudioSwitcherView":
|
||||||
|
case "CAInterAppAudioTransportView":
|
||||||
|
case "UISlider":
|
||||||
|
case "UIStackView":
|
||||||
|
case "SCNView":
|
||||||
|
case "UIStepper":
|
||||||
|
case "UISwitch":
|
||||||
|
case "UITabBar":
|
||||||
|
case "UITableViewHeaderFooterView":
|
||||||
|
case "GLKView":
|
||||||
|
case "SKView":
|
||||||
|
case "MKMapView":
|
||||||
|
case "MKAnnotationView":
|
||||||
|
case "PKAddPassButton":
|
||||||
|
case "PKPaymentButton":
|
||||||
|
case "UIActivityIndicatorView":
|
||||||
|
case "UICollectionReusableView":
|
||||||
|
case "UIWebView":
|
||||||
|
case "UICollectionViewCell":
|
||||||
|
case "UIWindow":
|
||||||
|
case "UIDatePicker":
|
||||||
|
case "UIVisualEffectView":
|
||||||
|
case "WKWebView":
|
||||||
|
case "ADBannerView":
|
||||||
|
return !TestRuntime.CheckXcodeVersion (8, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "UIFocusItem": // UIView now conforms to UIFocusItem in iOS 10
|
||||||
|
switch (type.Name) {
|
||||||
|
case "UIButton":
|
||||||
|
case "UICollectionReusableView":
|
||||||
|
case "UICollectionView":
|
||||||
|
case "UICollectionViewCell":
|
||||||
|
case "MKAnnotationView":
|
||||||
|
case "UIControl":
|
||||||
|
case "MKMapView":
|
||||||
|
case "UISearchBar":
|
||||||
|
case "UISegmentedControl":
|
||||||
|
case "UITableView":
|
||||||
|
case "UITableViewCell":
|
||||||
|
case "UITextField":
|
||||||
|
case "UITextView":
|
||||||
|
case "MKPinAnnotationView":
|
||||||
|
case "UIView":
|
||||||
|
case "SKNode":
|
||||||
|
case "SKShapeNode":
|
||||||
|
case "SKVideoNode":
|
||||||
|
case "UIImageView":
|
||||||
|
case "UIInputView":
|
||||||
|
case "UILabel":
|
||||||
|
case "UINavigationBar":
|
||||||
|
case "UIPageControl":
|
||||||
|
case "UIPopoverBackgroundView":
|
||||||
|
case "UIProgressView":
|
||||||
|
case "SCNView":
|
||||||
|
case "UIScrollView":
|
||||||
|
case "SK3DNode":
|
||||||
|
case "MTKView":
|
||||||
|
case "SKAudioNode":
|
||||||
|
case "SKCameraNode":
|
||||||
|
case "SKCropNode":
|
||||||
|
case "SKEffectNode":
|
||||||
|
case "SKEmitterNode":
|
||||||
|
case "SKFieldNode":
|
||||||
|
case "SKLabelNode":
|
||||||
|
case "SKLightNode":
|
||||||
|
case "UIStackView":
|
||||||
|
case "UITabBar":
|
||||||
|
case "SKReferenceNode":
|
||||||
|
case "GLKView":
|
||||||
|
case "SKScene":
|
||||||
|
case "SKSpriteNode":
|
||||||
|
case "SKView":
|
||||||
|
case "UITableViewHeaderFooterView":
|
||||||
|
case "UIActivityIndicatorView":
|
||||||
|
case "UIVisualEffectView":
|
||||||
|
case "UIWindow":
|
||||||
|
return !TestRuntime.CheckXcodeVersion (8, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "UIContentSizeCategoryAdjusting": // new conformations of UIContentSizeCategoryAdjusting in iOS 10
|
||||||
|
switch (type.Name) {
|
||||||
|
case "UITextField":
|
||||||
|
case "UITextView":
|
||||||
|
case "UILabel":
|
||||||
|
return !TestRuntime.CheckXcodeVersion (8, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return base.Skip (type, protocolName);
|
return base.Skip (type, protocolName);
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,3 +161,52 @@
|
||||||
!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
|
||||||
|
|
||||||
|
# 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! 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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -145,3 +145,21 @@
|
||||||
!incorrect-protocol-member! UITextInputTraits::keyboardType 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::returnKeyType 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
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
|
@ -117,6 +117,9 @@
|
||||||
!missing-enum! NSTextAlignment not bound
|
!missing-enum! NSTextAlignment not bound
|
||||||
!unknown-native-enum! UITextAlignment bound
|
!unknown-native-enum! UITextAlignment 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
|
||||||
|
|
||||||
|
|
||||||
# others
|
# others
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче