xamarin / xamarin-macios

.NET for iOS, Mac Catalyst, macOS, and tvOS provide open-source bindings of the Apple SDKs for use with .NET managed languages such as C#
Other
2.47k stars 514 forks source link

Xamarin.Mac binding for decodeObjectOfClass:forKey: on NSCoder #4471

Open bradumbaugh opened 6 years ago

bradumbaugh commented 6 years ago

Steps to Reproduce

  1. In a Xamarin.Mac project, attempt to use a binding for decodeObjectOfClass:forKey: on an NSCoder object
  2. Binding does not exist

Expected Behavior

Expect to see a binding for decodeObjectOfClass:forKey

Actual Behavior

No binding exists

Environment

Visual Studio Enterprise 2017 for Mac
Version 7.5.3 (build 7)
Installation UUID: 623d8c09-02dc-4241-ad34-5c29ea2d12f7
Runtime:
    Mono 5.10.1.57 (2017-12/ea8a24b1bbf) (64-bit)
    GTK+ 2.24.23 (Raleigh theme)
    Xamarin.Mac 4.4.1.178 (master / eeaeb7e6)

    Package version: 510010057

NuGet
Version: 4.3.1.4445

.NET Core
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
    2.1.1
    2.0.5
    2.0.3
SDK: /usr/local/share/dotnet/sdk/2.1.301/Sdks
SDK Versions:
    2.1.301
    2.1.4
    2.0.3
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/5.10.1/lib/mono/msbuild/15.0/bin/Sdks

Xamarin.Profiler
Version: 1.6.2
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

Apple Developer Tools
Xcode 10.0 (14301.4)
Build 10L201y

Xamarin.Mac
Version: 4.99.1.166 (Visual Studio Enterprise)

Xamarin.iOS
Version: 11.99.1.46 (Visual Studio Enterprise)
Hash: 60398bf5
Branch: HEAD
Build date: 2018-07-10 13:34:27-0400

Xamarin.Android
Version: 8.3.3.2 (Visual Studio Enterprise)
Android SDK: /Users/bradumbaugh/Library/Developer/Xamarin/android-sdk-macosx
    Supported Android versions:
        2.3   (API level 10)
        4.0.3 (API level 15)
        4.2   (API level 17)
        4.4   (API level 19)
        5.0   (API level 21)
        6.0   (API level 23)
        7.0   (API level 24)
        7.1   (API level 25)
        8.1   (API level 27)

SDK Tools Version: 26.1.1
SDK Platform Tools Version: 28.0.0
SDK Build Tools Version: 28.0.0

Java SDK: /usr
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

Xamarin Inspector
Version: 1.4.0
Hash: b3f92f9
Branch: master
Build date: Fri, 19 Jan 2018 22:00:34 GMT
Client compatibility: 1

Build Information
Release ID: 705030007
Git revision: 13cecd02aceddf29a1ed57b86f81c02994df1483
Build date: 2018-06-14 15:48:08-04
Xamarin addins: 7065de97cf22c9038fdc39dd627f2c30790fd8af
Build lane: monodevelop-lion-d15-7

Operating System
Mac OS X 10.13.6
Darwin 17.7.0 Darwin Kernel Version 17.7.0
    Thu Jun 21 22:53:14 PDT 2018
    root:xnu-4570.71.2~1/RELEASE_X86_64 x86_64

Enabled user installed addins
MonoGame Extension 3.7.0.1
Vim 0.61.0
Internet of Things (IoT) development (Preview) 7.5.3

Build Logs

Example Project (If Possible)

n/a

VincentDondain commented 6 years ago

Indeed there are a bunch of missing NSCoder selectors.

!missing-selector! NSCoder::allowsKeyedCoding not bound
!missing-selector! NSCoder::decodeArrayOfObjCType:count:at: not bound
!missing-selector! NSCoder::decodeIntForKey: not bound
!missing-selector! NSCoder::decodeObjectOfClass:forKey: not bound
!missing-selector! NSCoder::decodeObjectOfClasses:forKey: not bound
!missing-selector! NSCoder::decodePropertyListForKey: not bound
!missing-selector! NSCoder::decodeValueOfObjCType:at: not bound
!missing-selector! NSCoder::decodeValueOfObjCType:at:size: not bound
!missing-selector! NSCoder::decodeValuesOfObjCTypes: not bound
!missing-selector! NSCoder::encodeArrayOfObjCType:count:at: not bound
!missing-selector! NSCoder::encodeBycopyObject: not bound
!missing-selector! NSCoder::encodeByrefObject: not bound
!missing-selector! NSCoder::encodeBytes:length: not bound
!missing-selector! NSCoder::encodeConditionalObject: not bound
!missing-selector! NSCoder::encodeDataObject: not bound
!missing-selector! NSCoder::encodeInt:forKey: not bound
!missing-selector! NSCoder::encodeValueOfObjCType:at: not bound
!missing-selector! NSCoder::encodeValuesOfObjCTypes: not bound
!missing-selector! NSCoder::setObjectZone: not bound
!missing-selector! NSCoder::versionForClassName: not bound