xamarin-macios
xamarin-macios copied to clipboard
Xtro Selector Naming Bug
While doing the HealthKit binding updates for Xcode 14 beta 1-3, Xtro produced the following funky selector names:
!missing-selector! +HKUnit::degreeHKUnitUnit not bound
!missing-selector! +HKUnit::radianHKUnitUnit not bound
!missing-selector! +HKUnit::radianHKUnitUnitWithMetricPrefix: not bound
These selector names did not show up in the Xcode headers, Apple web docs, or in the sharpie output. After further examination and help from others, we found that the actual name for these selectors were
degreeAngleUnit
radianAngleUnit
radianAngleUnitWithMetricPrefix:
Somewhere, the word "Angle" was replaced with "HKUnit".
However, after adding in the correct selectors, Xtro did recognize that these selectors were updated and did not complain about them.
Sharpie Output
// @interface Angle (HKUnit)
[Category]
[BaseType (typeof(HKUnit))]
interface HKUnit_Angle
{
// +(instancetype _Nonnull)radianAngleUnitWithMetricPrefix:(HKMetricPrefix)prefix __attribute__((availability(ios, introduced=16.0))) __attribute__((availability(watchos, introduced=9.0))) __attribute__((availability(maccatalyst, introduced=16.0))) __attribute__((availability(macos, introduced=13.0)));
[Watch (9,0), MacCatalyst (16,0), Mac (13,0), iOS (16,0)]
[Static]
[Export ("radianAngleUnitWithMetricPrefix:")]
HKUnit RadianAngleUnitWithMetricPrefix (HKMetricPrefix prefix);
// +(instancetype _Nonnull)radianAngleUnit __attribute__((availability(ios, introduced=16.0))) __attribute__((availability(watchos, introduced=9.0))) __attribute__((availability(maccatalyst, introduced=16.0))) __attribute__((availability(macos, introduced=13.0)));
[Watch (9,0), MacCatalyst (16,0), Mac (13,0), iOS (16,0)]
[Static]
[Export ("radianAngleUnit")]
HKUnit RadianAngleUnit ();
// +(instancetype _Nonnull)degreeAngleUnit __attribute__((availability(ios, introduced=16.0))) __attribute__((availability(watchos, introduced=9.0))) __attribute__((availability(maccatalyst, introduced=16.0))) __attribute__((availability(macos, introduced=13.0)));
[Watch (9,0), MacCatalyst (16,0), Mac (13,0), iOS (16,0)]
[Static]
[Export ("degreeAngleUnit")]
HKUnit DegreeAngleUnit ();
}
@mandel-macaque