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) (show other bugs)
Version: Master
Hardware: PC Mac OS
: Normal normal
Target Milestone: Future Cycle (TBD)
Assignee: Bugzilla
: 57750 (view as bug list)
Depends on:
Reported: 2016-11-29 17:01 UTC by Chris Hamons
Modified: 2017-07-14 02:51 UTC (History)
5 users (show)

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


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. ***

Note You need to log in before you can comment on or make changes to this bug.