- Notifications
You must be signed in to change notification settings - Fork548
[UIKit] Partial update to Xcode 11 Beta 1, 2 and 3 - Part 2 of ?#6553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Missing bindings for* NSDiffableDataSourceSnapshot* UICollectionViewDiffableDataSource* UITableViewDiffableDataSourcedue to a registrar issue git generics.
monojenkins commentedJul 11, 2019
Build failure Test results11 tests failed, 80 tests passed.Failed tests
|
rolfbjarne left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
LGTM, just a few minor things.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>
monojenkins commentedJul 11, 2019
Build failure |
Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>
monojenkins commentedJul 11, 2019
Build failure !!! Couldn't read commit file !!! |
Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>
monojenkins commentedJul 11, 2019
Build failure 🔥Build failed 🔥 |
dalexsoto commentedJul 11, 2019
Thank you@rolfbjarne I addressed your comments :) |
monojenkins commentedJul 11, 2019
Build failure ✅Build succeeded |
src/UIKit/UIEnums.cs Outdated
| publicenumNSWritingDirection:long{ | ||
| #else | ||
| publicenumUITextWritingDirection:long{ | ||
| #endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
This is becoming confusing
src/AppKit/Enums.cs: public enum NSWritingDirection : long {src/Foundation/Enum.cs: [Obsolete ("Use NSWritingDirection in AppKit instead.")]src/Foundation/Enum.cs: public enum NSWritingDirection : long {and, for us, it's really different types (if some new, shared macOS+iOS API, start using them)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Oh woow nice catch@spouliot will expose AppKit's into xkit.cs and use that instead 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Fixed in692b68b
| [Native] | ||
| publicenumNSTextScalingType:long | ||
| { | ||
| publicenumNSTextScalingType:long{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
try not to fix style in the same commit that adds code
ease reviewing (now) and blaming (later)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Yeah I agree but (🙃) I decided to fix this on the stuff that I included in my last PR it would not ease review but will still blame back to me
| [Export ("stopProvidingItemAtURL:")] | ||
| void StopProvidingItemAtUrl (NSUrl url); | ||
| // TODO: Enable with new iOS 13 FileProvider bindings. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
better file an issue (or add it to the xcode11 checklist) or we might forget about it...
dalexsotoJul 11, 2019 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Xtro never forgets! This is not removed from Xtro FileProvider todo files, do you still want an issue for this? I just created the bindings because I needed the name in one of the Deprecated attributes
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
| [iOS (13,0), TV (13,0)] | ||
| [Export ("imageWithConfiguration:")] | ||
| UIImage FromConfiguration (UIImageConfiguration configuration); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
did we not choseCreate* last time ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Unfortunately there are otherFrom members and IIRC we agreed that create would be for new types to be consistent
[Export ("imageWithTraitCollection:")]UIImage FromTraitCollection (UITraitCollection traitCollection);| [Deprecated (PlatformName.iOS, 13, 0, message: "Use 'VerticalScrollIndicatorInsets' or 'HorizontalScrollIndicatorInsets' instead.")] | ||
| [Deprecated (PlatformName.TvOS, 13, 0, message: "Use 'VerticalScrollIndicatorInsets' or 'HorizontalScrollIndicatorInsets' instead.")] | ||
| get; | ||
| set; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
weird, only thegetter is deprecated ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Yup
@property(nonatomic) UIEdgeInsets scrollIndicatorInsets; // use the setter only, as a convenience for setting both verticalScrollIndicatorInsets and horizontalScrollIndicatorInsets to the same value. if those properties have been set to different values, the return value of this getter (deprecated) is undefined.- (UIEdgeInsets)scrollIndicatorInsets API_DEPRECATED("The scrollIndicatorInsets getter is deprecated, use the verticalScrollIndicatorInsets and horizontalScrollIndicatorInsets getters instead.", ios(2.0, 13.0), tvos(9.0, 13.0));Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
spouliot commentedJul 11, 2019
api-diff complains about
Those might be fine depending on the type hierarchy - in doubt add a test ;-)
Those are breaking changes |
dalexsoto commentedJul 11, 2019 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@spouliot Yes but those were introduced in iOS 13 in my last PR. |
monojenkins commentedJul 11, 2019
Build failure Test results9 tests failed, 82 tests passed.Failed tests
|
| } | ||
| #endif// !XAMCORE_4_0 | ||
| [Watch(6,0),TV(13,0),Mac(10,15,onlyOn64:true),iOS(13,0)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Do you need to create this because it is not supported in C#? When do you know if you need to create an additional file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I need to create this because thegenerator does not know how to handle certain types and these need to be manually bound, meaning C# does support this it is just the generator does not know how to output the right C# code for these.
Generally the generator will yell at you when it does not know how to handle a type but basically C arrays and types that do not inherit from NSObject.
| } | ||
| [iOS(13,0),TV(13,0)] | ||
| [DllImport(Constants.UIKitLibrary)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Is Constants.UIKitLibrary a third party dll?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Nope,UIKitLibrary points to the system's path where this library is located, the value changes between simulator and devices.
Uh oh!
There was an error while loading.Please reload this page.
NSWritingDirection exists in both Foundation and AppKit, appledoes expose it in AppKit and UIKit so moving NSWritingDirectionto xkit.cs is the right thing to do but since it is a breakingchange we just XAMCORE_4_0 the fix which is:1. Remove from Foundation2. Expose in UIKit and AppKit to mimic Apple's SDK
This also disables* FloatRangeTest.Equals* FloatRangeTest.ManagedVersusNativedue toxamarin/maccore#1885
dalexsoto commentedJul 12, 2019 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@spouliot I think I have answered and/or fixed all your feedback, thanks!! 👍 I forgot to mention, about
This is not entirely true, |
monojenkins commentedJul 12, 2019
Build failure ✅Build succeeded |
monojenkins commentedJul 12, 2019
Build failure 🔥Build failed 🔥 |
dalexsoto commentedJul 12, 2019
build |
monojenkins commentedJul 12, 2019
Build success |
… did not really fix it 🙃This reverts commit692b68b.The right fix is to expose NSWritingDirection in foundation
But the complete fix is for another timedotnet#6573
dalexsoto commentedJul 12, 2019
monojenkins commentedJul 12, 2019
Build success |
| [NullAllowed, Export ("sceneClass", ArgumentSemantic.Assign)] | ||
| Class SceneClass { get; set; } | ||
| Type SceneType { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
What is this SceneType doing?
dalexsotoJul 12, 2019 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
@tj-devel709SceneClass is type ofClass which is an Objective-C type that is not as .NET friendly as its C# counterpartType. I created a nicer wrapper around it calledSceneType you can set/get a C#Type and this property will convert it into an Objective-CClass and set/get it toSceneClass. This allows you to do something likeSceneType = typeof (NSObject) which is a little cleaner code that looking for aClass manually.
[Advice("You can use 'SceneType' with a 'Type' instead.")][NullAllowed,Export("sceneClass",ArgumentSemantic.Assign)]ClassSceneClass{get;set;}Type SceneType{[Wrap("Class.Lookup(SceneClass)")]get;[Wrap("SceneClass = value == null ? null : new Class (value)")] set;}
You can read more aboutWrapAttribute here.
Uh oh!
There was an error while loading.Please reload this page.
Missing bindings for
due to a registrar issue with generics.
intro tested in the following versions locally (green)
There are some availability attributes older than 13 here. Also pardon some spaces v.s. tabs changes, those are intentional when I introduced something either on my last PR or I modified something in this PR.
Breaking changes justification
Type Changed: UIKit.UIAccessibilityElement
Modified base type:
Type Changed: UIKit.UIDragPreviewParameters
Modified base type:
Removed properties:
Type Changed: UIKit.UIDragPreviewTarget
Modified base type:
Removed properties:
Type Changed: UIKit.UIKeyCommand
Modified base type:
Removed method:
Type Changed: UIKit.UIMenu
Removed method:
Type Changed: UIKit.UITargetedDragPreview
Modified base type:
Removed Type UIKit.UIActionOptions
Removed Type UIKit.UICommandState