Xamarin.Forms - 可以在 iPhone 模拟器上运行,但不能在实际连接的 iPhone 设备上运行

问题描述

Windows 机器:

Windows 10 (OX Build 18363.1440)
VS 2019 16.9.4
Xamarin 16.9.000.273
Xamarin.iOS & Xamarin.Mac SDK  14.14.2.5

Mac 机:

Big Sur 11.3.1
VS 8.9.8 (build 7)
XCode 12.5
Xamarin iOS 14.14.2.5

我一直在研究我可以在网上找到的任何和所有信息,跳过所有必要的环节,让我的 Windows 开发机器上的 VS 在我的 Xamarin.Forms 解决方案中编译和运行 iOS 项目。我选择了自动配置,连接了我的 Apple 帐户,并在 developer.apple.com 上注册了设备。

我已经到了可以在模拟器上运行它的地步(在 mac 上......不会在 Windows 机器上运行模拟器),但我无法在实际的 iPhone 上部署它我已连接到 mac 机器的设备。我得到的错误和警告列表如下。我不知道如何开始解决这些问题或修复它们。

错误

无法协同设计“bin/iPhone/Debug/device-builds/iphone8.1-13.1.3/FirstApplicationPackt.iOS.app”:警告:无法为签名者“Apple 开发:[用户]" /Users/abe/Library/Caches/Xamarin/mtbs/builds/FirstApplicationPackt.iOS/[guid]/bin/iPhone/Debug/device-builds/iphone8.1-13.1.3/FirstApplicationPackt.iOS.app: errSec 内部组件

/usr/bin/codesign 以代码 1 退出

警告:

[xma]:尝试启动从“51549”到“53643”的转发端口时发生错误

尝试以访问权限禁止的方式访问套接字 在 ... ...在 Xamarin.Messaging.Ssh.MessagingService.d_80.MoveNext() 在 C:\A\1\230\s\src\Xamnarin.Messaging.Ssh\MessagingService.cs:line 309

[xma]:尝试连接时发生错误。详情:未提供详情

尝试以访问权限禁止的方式访问套接字 在 ... ...在 Xamarin.Messaging.Ssh.PortForwarder.StartForwardedPort(Int32 boundPort,Int32 port,ForwardedPortType type) in C:\A\1\230\s\src\Xamarin.Messaging.Ssh\PortForwarder.cs:line 109

感谢您的帮助。

解决方法

感谢两位提出的有用建议。我确实尝试过直接在 mac 上构建它,但发现它也不起作用,所以意识到有一个更大的问题。按照凯尔的建议,我发现我的开发人员证书不受信任。我尝试了几个“修复”,这些“修复”在网上的各个地方张贴,但都无济于事。我最终重新创建了证书,然后它就被信任了。

然而,应用程序仍然不会部署在连接的设备上。但是我尝试在 mac 上的 Visual Studio 中创建一个新项目,它确实按预期部署。然后我尝试在 Windows 机器上创建一个新项目,它也按预期部署到连接的设备。显然,现有应用已连接到不受信任的证书。