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.43k stars 507 forks source link

Support IB_DESIGNABLE and IBInspectable in Xamarin.Mac #8559

Open ffgiraldez opened 4 years ago

ffgiraldez commented 4 years ago

Working on Xamarin Mac project creating a custom view does facilitate the experience working with interface builder as not support IB_DESIGNABLE and IBInspectable keywords as described in docs here

Steps to Reproduce

  1. Create an xamarin mac project
  2. Create and register a custom view with `DesignTimeVisible(true) attribute
  3. Add a property Browsable(true) attribute
  4. Open Xcode and check translated class into Objective-C

Expected Behavior

The custom view should expose IB_DESIGNABLE header level and IBInspectable at property definition in order to support visualization on Xcode.

Actual Behavior

custom view created without IB_DESIGNABLE and IBInspectable

Environment

=== Visual Studio Community 2019 for Mac ===

Version 8.5.4 (build 12)
Installation UUID: fd75eb7e-8e28-4ec1-ac3c-be5df7d51bec
    GTK+ 2.24.23 (Raleigh theme)
    Xamarin.Mac 6.14.1.39 (d16-5 / 30e8706b4)

    Package version: 608000123

=== Mono Framework MDK ===

Runtime:
    Mono 6.8.0.123 (2019-10/1d0d939dc30) (64-bit)
    Package version: 608000123

=== Roslyn (Language Service) ===

3.5.0-beta4-20125-04+1baa0b3063238ed752ad1f0368b1df6b6901373e

=== NuGet ===

Version: 5.4.0.6315

=== .NET Core SDK ===

SDK: /usr/local/share/dotnet/sdk/3.1.201/Sdks
SDK Version: 3.1.201
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/6.8.0/lib/mono/msbuild/Current/bin/Sdks

=== .NET Core Runtime ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
    3.1.3
    2.1.17

=== Xamarin.Profiler ===

'/Applications/Xamarin Profiler.app' not found

=== Updater ===

Version: 11

=== Apple Developer Tools ===

Xcode 11.4.1 (16137)
Build 11E503a

=== Xamarin.Mac ===

Version: 6.16.0.13 (Visual Studio Community)
Hash: b75deaf82
Branch: d16-5-xcode11.4
Build date: 2020-04-01 21:33:18-0400

=== Xamarin.iOS ===

Xamarin.iOS not installed.
Can't find mtouch or the Version file at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current.

=== Xamarin Designer ===

Version: 16.5.0.471
Hash: 35aa4889d
Branch: remotes/origin/d16-5
Build date: 2020-02-25 00:52:08 UTC

=== Xamarin.Android ===

Not Installed

=== Microsoft Mobile OpenJDK ===

Java SDK: /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
1.8.0_252
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Android SDK Manager ===

Version: 16.5.0.39
Hash: 6fb4c79
Branch: remotes/origin/d16-5
Build date: 2020-04-15 20:49:08 UTC

=== Android Device Manager ===

Version: 16.5.0.71
Hash: 49194e8
Branch: remotes/origin/d16-5~1
Build date: 2020-04-15 20:49:28 UTC

=== Xamarin Inspector ===

Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1

=== Build Information ===

Release ID: 805040012
Git revision: 7642369422103e19b0b8d29ddc211abf2fd32607
Build date: 2020-04-16 08:55:15-04
Build branch: release-8.5
Xamarin extensions: 7642369422103e19b0b8d29ddc211abf2fd32607

=== Operating System ===

Mac OS X 10.15.4
Darwin 19.4.0 Darwin Kernel Version 19.4.0
    Wed Mar  4 22:28:40 PST 2020
    root:xnu-6153.101.6~15/RELEASE_X86_64 x86_64
KevinvdBurg commented 2 years ago

This also doesn't work in Xamarin.iOS, do I need to create a separated issue or is this a a combined issue?