realm / realm-dotnet

Realm is a mobile database: a replacement for SQLite & ORMs
https://realm.io
Apache License 2.0
1.24k stars 161 forks source link

Deployment of Xamarin.Forms app fails on iOS #2427

Closed IngweLand closed 3 years ago

IngweLand commented 3 years ago

Goals

Deploy the app

Expected Results

The app should deploy

Actual Results

Deployment fails on one of the last step with following message: PackageInspectionFailed: Failed to load Info.plist from bundle at path /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.d7ZVca/extracted/MyApp.iOS.app/Frameworks/realm-wrappers.framework; Extra info about Info.plist: Couldn't stat /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.d7ZVca/extracted/MyApp.iOS.app/Frameworks/realm-wrappers.framework/Info.plist: No such file or directory

Steps to Reproduce

Windows machine plus Mac build host.

  1. Delete mtbs folder on Mac to be sure that everything is clean
  2. Rebuild the project (succeeds)
  3. Hit F5 to debug the app
  4. View messages in the Build output in VS. Copying of files works. The failure is at one of the last step
  5. Might be relevant to Debug build only (the Release build on Azure with subsequent TestFlight installation works)

Code Sample

Version of Realm and Tooling

Installed Version: Enterprise

Visual C++ 2019 00433-90000-00004-AA386 Microsoft Visual C++ 2019

ADL Tools Service Provider 1.0 This package contains services used by Data Lake tools

ASA Service Provider 1.0

ASP.NET and Web Tools 2019 16.10.525.31942 ASP.NET and Web Tools 2019

ASP.NET Web Frameworks and Tools 2019 16.10.525.31942 For additional information, visit https://www.asp.net/

Azure App Service Tools v3.0.0 16.10.525.31942 Azure App Service Tools v3.0.0

Azure Data Lake Node 1.0 This package contains the Data Lake integration nodes for Server Explorer.

Azure Data Lake Tools for Visual Studio 2.6.3000.0 Microsoft Azure Data Lake Tools for Visual Studio

Azure Functions and Web Jobs Tools 16.10.525.31942 Azure Functions and Web Jobs Tools

Azure Stream Analytics Tools for Visual Studio 2.6.3000.0 Microsoft Azure Stream Analytics Tools for Visual Studio

C# Tools 3.10.0-4.21269.26+029847714208ebe49668667c60ea5b0a294e0fcb C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Common Azure Tools 1.10 Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Devart Entity Developer 6.4.719.0 Devart Entity Developer Copyright © 2008-2019 Devart. All rights reserved. Web: www.devart.com/entitydeveloper Support: support@devart.com

Entity Framework Core Power Tools 2.5 Adds useful design-time EF Core DbContext features to the Visual Studio Solution Explorer context menu.

Extensibility Message Bus 1.2.6 (master@34d6af2) Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.

Fabric.DiagnosticEvents 1.0 Fabric Diagnostic Events

GitHub.VisualStudio 2.11.106.19330 A Visual Studio Extension that brings the GitHub Flow into Visual Studio.

IntelliCode Extension 1.0 IntelliCode Visual Studio Extension Detailed Info

JetBrains ReSharper 2021.1.1 Build 211.0.20210409.154115 JetBrains ReSharper package for Microsoft Visual Studio. For more information about ReSharper, visit http://www.jetbrains.com/resharper. Copyright © 2021 JetBrains, Inc.

Microsoft Azure HDInsight Azure Node 2.6.3000.0 HDInsight Node under Azure Node

Microsoft Azure Hive Query Language Service 2.6.3000.0 Language service for Hive query

Microsoft Azure Service Fabric Tools for Visual Studio 16.10 Microsoft Azure Service Fabric Tools for Visual Studio

Microsoft Azure Stream Analytics Language Service 2.6.3000.0 Language service for Azure Stream Analytics

Microsoft Azure Stream Analytics Node 1.0 Azure Stream Analytics Node under Azure Node

Microsoft Azure Tools 2.9 Microsoft Azure Tools for Microsoft Visual Studio 2019 - v2.9.40423.1

Microsoft Continuous Delivery Tools for Visual Studio 0.4 Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.

Microsoft JVM Debugger 1.0 Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft Library Manager 2.1.113+g422d40002e.RR Install client-side libraries easily to any web project

Microsoft MI-Based Debugger 1.0 Provides support for connecting Visual Studio to MI compatible debuggers

Microsoft Visual C++ Wizards 1.0 Microsoft Visual C++ Wizards

Microsoft Visual Studio Tools for Containers 1.2 Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.

Microsoft Visual Studio VC Package 1.0 Microsoft Visual Studio VC Package

Mono Debugging for Visual Studio 16.10.15 (552afdf) Support for debugging Mono processes with Visual Studio.

NuGet Package Manager 5.10.0 NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

ProjectServicesPackage Extension 1.0 ProjectServicesPackage Visual Studio Extension Detailed Info

Razor (ASP.NET Core) 16.1.0.2122504+13c05c96ea6bdbe550bd88b0bf6cdddf8cde1725 Provides languages services for ASP.NET Core Razor.

Snapshot Debugging Extension 1.0 Snapshot Debugging Visual Studio Extension Detailed Info

SQL Server Data Tools 16.0.62105.04180 Microsoft SQL Server Data Tools

StylerPackage Extension 1.0 StylerPackage Visual Stuido Extension Detailed Info

ToolWindowHostedEditor 1.0 Hosting json editor into a tool window

TypeScript Tools 16.0.30429.2002 TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools 3.10.0-4.21269.26+029847714208ebe49668667c60ea5b0a294e0fcb Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools 16.10.0-beta.21262.7+1b23bbeda88ea3cb9be9af777f4c99fa8663df81 Microsoft Visual F# Tools

Visual Studio Code Debug Adapter Host Package 1.0 Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

Visual Studio Container Tools Extensions 1.0 View, manage, and diagnose containers within Visual Studio.

Visual Studio Tools for Containers 1.0 Visual Studio Tools for Containers

Visual Studio Tools for Kubernetes 1.0 Visual Studio Tools for Kubernetes

VisualStudio.DeviceLog 1.0 Information about my package

VisualStudio.Foo 1.0 Information about my package

VisualStudio.Mac 1.0 Mac Extension for Visual Studio

VSColorOutput 2.73 Color output for build and debug windows - https://mike-ward.net/vscoloroutput

Xamarin 16.10.000.228 (d16-10@1c8354c) Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer 16.10.0.115 (remotes/origin/c750fbf1bde3c720d077f51640fe197c6dac7cbe@c750fbf1b) Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin Templates 16.10.5 (355b57a) Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.

Xamarin.Android SDK 11.3.0.1 (d16-10/22fc2b3) Xamarin.Android Reference Assemblies and MSBuild support. 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

Xamarin.iOS and Xamarin.Mac SDK 14.20.0.1 (fe0e2c518) Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

nirinchev commented 3 years ago

We're aware of an issue with VS for Windows building iOS apps depending on Realm and are investigating it. In the meantime, you should be able to build just fine using VS for macOS. I know it's not an ideal workaround but at this point we're not yet sure if it's a Realm issue or a build host one. We'll update the issue when we know more.

nirinchev commented 3 years ago

This appears to be a duplicate of https://github.com/realm/realm-dotnet/issues/2378. We'll continue the investigation there.

IngweLand commented 3 years ago

I am not sure if these 2 issues are same. The build fails there and the previous nuget version works, while in my case build succeeds, deployment fails, and few previous version do not work as well.

nirinchev commented 3 years ago

The reason why I believe they are related is this forum post linked from the other issue which originally details the _CodeSignature error, but then mentions upgrading VS for Windows and getting the Info.plist one.

My guess is that there's a bug in VS for windows which causes it not to copy the info.plist file correctly, because it most definitely exists next to the framework in the nuget package.

IngweLand commented 3 years ago

The issue is still present on VS 16.10.1

nirinchev commented 3 years ago

VS for Win 16.10.2 should fix https://developercommunity.visualstudio.com/t/Cant-deliver-to-the-appstore-since-last/1436223#T-N1445242 which appears to be related - can you try upgrading VS and confirm whether that resolves the issue for you?

IngweLand commented 3 years ago

VS 16.10.2 does not fix the issue.

IngweLand commented 3 years ago

I can only confirm that building directly on OSX is indeed a workaround

IngweLand commented 3 years ago

VS 16.10.4 fixes the issue.

papafe commented 3 years ago

That's very good to hear!