Bug 48311 - Users of static registrar have warnings in their build
Summary: Users of static registrar have warnings in their build
Alias: None
Product: Xamarin.Mac
Classification: Desktop
Component: Library (Xamarin.Mac.dll) ()
Version: Master
Hardware: PC Mac OS
: Normal normal
Target Milestone: Future Cycle (TBD)
Assignee: Bugzilla
: 57750 ()
Depends on:
Reported: 2016-11-29 17:01 UTC by Chris Hamons
Modified: 2017-07-14 02:51 UTC (History)
5 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report for Bug 48311 on Developer Community or GitHub if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: Developer Community HTML or GitHub Markdown
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:

Comment 1 Rolf Bjarne Kvinge [MSFT] 2016-11-29 17:07:10 UTC
This happens for XI as well.
Comment 2 Rolf Bjarne Kvinge [MSFT] 2017-05-25 08:23:53 UTC

This warning won't be fixed with this PR:

    Xamarin.Mac.registrar.full.i386.m:34386:17: warning: method 'deviceBrowserView:selectionDidChange:' in protocol 'IKDeviceBrowserViewDelegate' not implemented [-Wprotocol]
    @implementation ImageKit_IKDeviceBrowserView__IKDeviceBrowserViewDelegate {
    /Applications/Xcode83.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Quartz.framework/Frameworks/ImageKit.framework/Headers/IKDeviceBrowserView.h:29:1: note: method 'deviceBrowserView:selectionDidChange:' declared here
    - (void)deviceBrowserView: (IKDeviceBrowserView *)deviceBrowserView selectionDidChange: (ICDevice *)device;

because it's due to a missing API: https://github.com/xamarin/xamarin-macios/blob/009eba435b5d62a84cc98c87e374ebadbcd8aacf/src/imagekit.cs#L166-L168

A similar thing happens with Xamarin.TVOS.dll:

    Xamarin.TVOS.registrar.tvos.m:12798:17: warning: method 'destinationForMixer:bus:' in protocol 'AVAudioMixing' not implemented [-Wprotocol]
    @implementation AVFoundation_AVAudioInputNode {
    /Applications/Xcode83.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator10.2.sdk/System/Library/Frameworks/AVFoundation.framework/Frameworks/AVFAudio.framework/Headers/AVAudioMixing.h:71:1: note: method 'destinationForMixer:bus:' declared here
    - (nullable AVAudioMixingDestination *)destinationForMixer:(AVAudioNode *)mixer bus:(AVAudioNodeBus)bus NS_AVAILABLE(10_11, 9_0);

where Apple kindly added a new required member: https://github.com/xamarin/xamarin-macios/blob/009eba435b5d62a84cc98c87e374ebadbcd8aacf/src/avfoundation.cs#L973-L980, which we can't do due to back compatibility.
Comment 3 Rolf Bjarne Kvinge [MSFT] 2017-05-29 14:21:10 UTC
Most of the warnings were fixed in https://github.com/xamarin/xamarin-macios/commit/05895c41f52424e6a1dca2421c12fbbb18581fe8, the only remaining ones are those in comment #2 (since this is not completely fixed, I'm keeping the bug open).
Comment 4 Rolf Bjarne Kvinge [MSFT] 2017-05-31 12:04:25 UTC
Both of these issues are API issues we might be able to fix when we get default interface implementations in C#.
Comment 5 Rolf Bjarne Kvinge [MSFT] 2017-06-27 12:31:52 UTC
*** Bug 57750 has been marked as a duplicate of this bug. ***