将 Xamarin 应用部署到 iPhone - 无用的“部署失败”消息

Deploying Xamarin app to iPhone - unhelpful "Deploy failed" message

提问人:CarlJ 提问时间:11/5/2023 最后编辑:CarlJ 更新时间:11/7/2023 访问量:72

问:

我正在使用 Visual Studio 2022 for Windows,与 Mac Mini(其中插入了 iPhone)配对。当我尝试构建我的应用程序并将其部署到远程 iPhone 时,构建可以正常工作,但部署会立即失败。我从 Build 窗口输出中得到的只是这几行非常无用的行:

2>------ Deploy started: Project: SS1, Configuration: Debug Any CPU ------
2>Deploy failed
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
========== Build completed at 11:09 AM and took 02:44.424 minutes ==========
========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========
========== Deploy completed at 11:09 AM and took 02:44.425 minutes ==========

我的应用程序使用 MonoGame 3.8,但我不知道它有多相关。我设法让“Platformer2D”MonoGame 示例应用程序正常工作。换句话说,我可以构建该示例代码并将其部署到 iPhone。我一直在寻找这个项目和我的项目之间的明显差异,但这很困难,因为部署输出让我不知道问题可能是什么。

我在 Visual Studio 中打开了“诊断”级别生成日志记录。这为构建生成了 190K 行输出,但仍然只有这两行用于部署:-(。

在此过程中,我捕获了iPhone设备日志,但是我看不到与可能的部署相关的任何内容(错误或其他)。

我尝试在当前生产的 Visual Studio 版本(即 TargetFramework=“net6.0-ios”)上使用 .NET 6,并在即将推出的 Visual Studio 预览版(“net8.0-ios”)上使用 .NET 8。无论哪种方式,我都会遇到同样的问题。

关于如何获得比“部署失败”更有用的输出的任何想法?例如,Mac 上的某个地方写了什么吗?


更新:我发现我的生成保存在 Mac 上的 Library/Cache/Xamarin/mtbs 文件夹中。 使用 GitHub 中的“ios-deploy”工具(在 Mac 上的终端窗口中运行),我能够将应用程序部署到我的 iPhone!那么为什么Visual Studio不能做同样的事情呢?!

iOS iPhone Visual-Studio Xamarin Monogame

评论

0赞 GregHNZ 11/5/2023
我建议你检查你的苹果开发证书,并确保你安装了正确的、最新的证书(使用私钥),并且你使用的手机与你的苹果开发者账户相关联。如果一切正常,可以尝试在 Mac 上安装 Visual Studio for Mac,然后从那里运行它。不能保证它会有所帮助,但它会移除一个移动部件。你能在模拟器上运行它吗?显然,值得在手机上卸载任何以前版本的应用程序并重新启动所有内容。
0赞 Sean He-MSFT 11/6/2023
您是否尝试过创建一个空项目来检查它是否可以成功部署到 iOS 设备?
0赞 CarlJ 11/6/2023
是的。事实上,正如我所说,我已经走得更远了。Platformer2D MonoGame 示例是一个相当复杂的应用,它可以很好地部署到 iOS 设备。但我不明白为什么它在我的应用程序(在许多方面相似)失败时起作用。因此,我希望从部署过程中获取更多诊断信息。

答:

0赞 CarlJ 11/7/2023 #1

好吧,我切换到代码的另一个分支,该分支部署得很好。不幸的是,我真的没有了解为什么 VS 如此不喜欢我的其他分支,所以我无法向将来遇到这种情况的任何人提供任何见解。