Why is Finder Sync extension working in Debug configuration and not in Release configuration?

user16014368 1 Reputation point
2021-06-07T08:38:09.627+00:00

I am developing an app using .NET Framework 4.5.2 under Visual Studio for Mac.

I have added a Finder Sync extension which shows badges next to specific files when the app is running. I am satisfied with how the extension works when I run the app in Debug configuration from Visual Studio, so I would like to create a package to distribute the app to other Mac users. They told me that no badge appeared in their Finder. Also, they have not the checkbox in the System Preferences' Extensions panel like I do. I tried running the package from my development computer and it seems that the extension is not loaded. I've been trying to figure out why for a while and now I'd like to get it working. What am I missing? Thanks in advance for any pointer.

I have copied the information from About Visual Studio, in case version numbers are of any help:

=== Visual Studio Community 2019 for Mac (Preview) ===

Version 8.10 Preview (8.10 build 1720)
Installation UUID: 4c0c4e8f-5757-42c9-828e-5023f03cd4de
    GTK+ 2.24.23 (Raleigh theme)
    Xamarin.Mac 6.18.0.23 (d16-6 / 088c73638)

    Package version: 612000140

=== Mono Framework MDK ===

Runtime:
    Mono 6.12.0.140 (2020-02/51d876a041e) (64-bit)
    Package version: 612000140

=== Roslyn (Language Service) ===

3.10.0-3.21226.12+c153357eb74f4b5c8fc905b7ae42168b76515531

=== NuGet ===

Version: 5.9.0.7134

=== .NET Core SDK ===

SDK: /usr/local/share/dotnet/sdk/5.0.203/Sdks
SDK Versions:
    5.0.203
    5.0.202
    5.0.201
    5.0.103
    5.0.102
    5.0.101
    5.0.100
    3.1.409
    3.1.408
    3.1.407
    3.1.406
    3.1.405
    3.1.404
    3.1.403
    3.1.402
    3.1.401
    3.1.302
    3.1.301
    3.1.202
MSBuild SDKs: /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/MSBuild/Current/bin/Sdks

=== .NET Core Runtime ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
    5.0.6
    5.0.5
    5.0.4
    5.0.3
    5.0.2
    5.0.1
    5.0.0
    3.1.15
    3.1.14
    3.1.13
    3.1.12
    3.1.11
    3.1.10
    3.1.9
    3.1.8
    3.1.7
    3.1.6
    3.1.5
    3.1.4
    2.1.23
    2.1.22
    2.1.21
    2.1.20
    2.1.19
    2.1.18

=== .NET Core 3.1 SDK ===

SDK: 3.1.409

=== Xamarin.Profiler ===

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

=== Updater ===

Version: 11

=== Xamarin Designer ===

Version: 16.10.0.115
Hash: c750fbf1b
Branch: remotes/origin/d16-10
Build date: 2021-05-03 09:46:50 UTC

=== Xamarin.Android ===

Version: 11.3.0.1 (Visual Studio Community)
Commit: xamarin-android/d16-10/22fc2b3
Android SDK: /Users/me/Library/Developer/Xamarin/android-sdk-macosx
    Supported Android versions:
        None installed

SDK Tools Version: 26.1.1
SDK Platform Tools Version: 30.0.4
SDK Build Tools Version: 30.0.2

Build Information: 
Mono: b4a3858
Java.Interop: xamarin/java.interop/d16-10@f39db25
ProGuard: Guardsquare/proguard/v7.0.1@912d149
SQLite: xamarin/sqlite/3.35.4@85460d3
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-10@c5732a0

=== Microsoft OpenJDK for Mobile ===

Java SDK: /Users/me/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.25
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Android SDK Manager ===

Version: 16.11.0.0
Hash: 5ba53c9
Branch: remotes/origin/HEAD
Build date: 2021-04-27 18:41:30 UTC

=== Android Device Manager ===

Version: 16.11.0.1
Hash: 62f2ed1
Branch: remotes/origin/HEAD
Build date: 2021-04-27 18:41:48 UTC

=== Apple Developer Tools ===

Xcode 12.4 (17801)
Build 12E262

=== Xamarin.Mac ===

Version: 7.13.0.7 (Visual Studio Community)
Hash: bb4428722
Branch: d16-10
Build date: 2021-04-29 04:38:53-0400

=== Xamarin.iOS ===

Version: 14.19.0.7 (Visual Studio Community)
Hash: bb4428722
Branch: d16-10
Build date: 2021-04-29 04:38:54-0400

=== Build Information ===

Release ID: 810001720
Git revision: 8e9c72f8275a76ad63a8b753d3d8f96fbcdfe0e0
Build date: 2021-05-06 11:14:39-04
Build branch: release-8.10

=== Operating System ===

Mac OS X 10.16.0
Darwin 20.4.0 Darwin Kernel Version 20.4.0
    Thu Apr 22 21:46:47 PDT 2021
    root:xnu-7195.101.2~1/RELEASE_X86_64 x86_64

Here is which checkbox is checked in project option.

The only difference I can think of between the Debug and Release configurations is that the released app is signed. I do not know exactly how the signing process works, but I know that it uses a certificate that is installed in Mac's Keychain Access application. I executed the following line in Mac's Terminal, after the build from Visual Studio, and before the creation of the DMG. I can check that the Contents/PlugIns/FinderExt.appex is there in the DMG, so it looks like the problem is not with the .appex not being correctly included in the DMG, so I thought maybe Mac refused to detect it or use it because of signing issue, but it still does not work even with the following command.

codesign -v --deep --force --sign "Developer ID Application: MyCompany ([...])" "MyApp/bin/Release/$bundlename/Contents/PlugIns/FinderExt.appex"
Xamarin
Xamarin
A Microsoft open-source app platform for building Android and iOS apps with .NET and C#.
5,297 questions
.NET
.NET
Microsoft Technologies based on the .NET software framework.
3,415 questions
0 comments No comments
{count} votes