Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[QuickLook] Update bindings for Xcode 13.0 beta 1,2,3,4 #12337
[QuickLook] Update bindings for Xcode 13.0 beta 1,2,3,4 #12337
Changes from all commits
75b150e
6adb0c5
5b72769
cae72a9
75ac7eb
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
Mac ?
without a
[Mac]
it means the oldest supported (10,9) has it available.Same for watchOS and tvOS. You likely want
[NoWatch, NoTV, NoMac]
if it's not available on macOS.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.
if there's no indication on the diffs, xtro, web docs, or header files - I tend to leave the availability of unmentioned platforms as is. But is it best to assume that there is no availability on those platforms? Since it's a breaking change to remove things, and it's always easier to introduce things later on?
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.
No. Lack of availability attributes means it's been available since our earliest supported versions.
E.g. lack of
[NoWatch]
implies it's[Watch (2,0)]
and that the API has been available in the past 6 years (or so)This is almost always wrong when adding bindings for a new Xcode (unless it added a new platform).
True :-) However it's true for code that we ship (post generation), not the binding sources!
Example:
[NoWatch]
-> means we're not generating the API on watchOS.If you don't add
[NoWatch]
(in binding sources) then the API will be present insideXamarin.WatchOS.dll
(and assumed to be available since 2.0 which is watchOS minimum supported version).If you want to fix that later, by adding
[NoWatch]
, then you are creating a breaking change (since the API won't be part ofXamarin.WatchOS.dll
in the next release).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.
Ah, I think my question was a bit confusing! I understand what you explained about the lack of availability attributes in our code - I meant instead to ask about how we should interpret the lack of mention of platform availability in diffs, xtro, web docs, and header files.
So in this case, there is no Watch availability or unavailability mentioned whatsoever in the diffs, xtro, web docs, or header files for this API. So I was asking if that means it's best to assume there's no watch availability and tag as [NoWatch] - does that make sense?
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.
Short answer: Whenever in doubt it's better to assume
[No*]
if availability is not mentioned because it means no code will be generated (and it won't be a breaking change to add it later).When you add (or modify) sharpie's output then it's good to add comments (for reviewers and people who will update the bindings... years later), e.g.
Long answer
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.
perfect, thank you!!!
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.
[QuickLook] QLPreviewSceneActivationConfiguration not yet bound in Xcode13 because base type UIWindowSceneActivationConfiguration is not yet bound in UIKit