This reverts commit 0b6ac445ce.
Apple reverted this change later (beta?)
references (xtro):
common.unclassified:!missing-selector! MDLVertexAttributeData::setDataStart: not bound
common.unclassified:!missing-selector! MDLVertexAttributeData::setFormat: not bound
common.unclassified:!missing-selector! MDLVertexAttributeData::setMap: not bound
common.unclassified:!missing-selector! MDLVertexAttributeData::setStride: not bound
iOS 10.3 simulator (i386 only) will crash executing CTLineTests.
EnumerateCaretOffsets test case.
This does not happen on 64 bits (simulator) or on device builds,
including 32 bits builds. Running iOS 10.1 simulator (with Xcode 8.3)
also runs without problems.
reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=52162
They were thought to be macOS only but xtro corrected me, they are
new in iOS 10.3 even if some existed previously.
references (xtro):
!missing-pinvoke! SecCertificateCopyCommonName is not bound
!missing-pinvoke! SecCertificateCopyEmailAddresses is not bound
!missing-pinvoke! SecCertificateCopyNormalizedIssuerSequence is not bound
!missing-pinvoke! SecCertificateCopyNormalizedSubjectSequence is not bound
!missing-pinvoke! SecCertificateCopyPublicKey is not bound
!missing-pinvoke! SecCertificateCopySerialNumber is not bound
reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=52505
There's a lot of noise from the header diff, e.g. tabs changed to spaces,
but very few actual changes.
Note that there's more macOS specific code to review but this PR
handles iOS, tvOS and watchOS changes.
PR#1667 changed some code to allow null SourceAudioUnit - but it forgot
to remove the null check that throws an ArgumentNullException. Thanks
to Tim for spotting this.
The CloudKit headers for watchOS were updated to match the ones from
iOS and tvOS (from previous Xcode) so this mostly remove some watch
specific code.
Apple also made some previously broken `init` to be
NS_DESIGNATED_INITIALIZER so those are now enabled for watchOS.
* Updated API to reflect Xcode 8.3 beta 1 changes
* This commit also fixes availability metadata to avoid duplicating it
by moving member availability metadata into its container class where
possible.
* Enables VideoToolbox tests for tvOS.
We did not honor/reflect the availability information on the generated
code from StrongDictionary members/classes nor we would honor unavailability
attributes like NoiOS, NoTV and NoMac applied to members. This commit fixes
both scenarios
Spotted by xtro
!missing-protocol-member! UITableViewDataSource::sectionIndexTitlesForTableView: not found
!missing-protocol-member! UITableViewDataSource::tableView:sectionForSectionIndexTitle:atIndex: not found
and it was in the header diff too
--- (nullable NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView __TVOS_PROHIBITED; // return list of section titles to display in section index view (e.g. "ABCD...Z#")
--- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index __TVOS_PROHIBITED; // tell table which section corresponds to section title/index (e.g. "B",1))
-+- (nullable NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView; // return list of section titles to display in section index view (e.g. "ABCD...Z#")
-+- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index; // tell table which section corresponds to section title/index (e.g. "B",1))
Covers iOS, tvOS and macOS (no Metal on watch yet)
Most new members are _marked_ as @required (but are not really) by
Apple. We cannot make them `abstract` as it would be a breaking change.
The new field and both selectors are not really part of tvOS.
The field is not used anywhere (from available API).
The selectors are on a category on a type that is not part of tvOS.
Sadly they do not get annotated directly and require external data.
* introspection-ios
MPMusicPlayerControllerMutableQueue and MPMusicPlayerControllerQueue's headers show no trace of NSCoding, NSSecureCoding or NSMutableCopying therefore we're skipping them.
The exact values are not what we need to test for and varies with
different OS versions - making tests fails for no good reason (i.e.
they are not canary used to detect changes)
reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=51801
Apparently Xcode 8.3 does not like the iPhone 5s simulator, and deletes it.
Every time Xcode is updated.
Which is slightly annoying when it affects the bots, since then iPhone 5s have
to be re-created on every bot.
So succumb to the pressure, and switch to using the iPhone 6 simulator instead.