Xamarin Forms iOS模拟器部署失败,安装出错。

5
我在Mac上安装了Xamarin,并按照此处的说明进行了远程登录设置(以便我可以在Windows机器上使用模拟器),我能够成功通过Mac代理连接,但是当我运行时,出现了以下错误:enter image description here。请问是否有人遇到过类似问题?在Xamarin Studio中创建解决方案并在MAC上运行应用程序时,没有任何错误提示... 有哪些可能会有所帮助的想法吗?更新:来自MAC的日志:
[2016-06-22 15:25:21.5] PERF:      - Bridge loaded in 358.017ms
[2016-06-22 15:25:21.5] PERF: Total time for bootstrapping process: 413ms
[2016-06-22 15:25:21.5] ERROR: com.xamarin.MTHosting.cb5bcd1: InstallAndLaunch (attempt 3): System.IO.DirectoryNotFoundException: /Users/Christian Agius/Library/Caches/Xamarin/mtbs/builds/DAAppiOS/6a5cceef9b57993d401c68f8154370ef/bin/iPhoneSimulator/Debug/DAAppiOS.app
 at MonoTouch.Hosting.Session.InstallApplication (System.String bundlePath) <0x87438e0 + 0x00213> in <filename unknown>:0 
 at MonoTouch.Hosting.Session.InstallAndLaunch (System.String appBundlePath, System.String[] appArgs) <0x87435e8 + 0x00047> in <filename unknown>:0 
[2016-06-22 15:25:21.5] ERROR: com.xamarin.MTHosting.cb5bcd1: InstallAndLaunch (attempt 4): System.IO.DirectoryNotFoundException: /Users/Christian Agius/Library/Caches/Xamarin/mtbs/builds/DAAppiOS/6a5cceef9b57993d401c68f8154370ef/bin/iPhoneSimulator/Debug/DAAppiOS.app
 at MonoTouch.Hosting.Session.InstallApplication (System.String bundlePath) <0x87438e0 + 0x00213> in <filename unknown>:0 
 at MonoTouch.Hosting.Session.InstallAndLaunch (System.String appBundlePath, System.String[] appArgs) <0x87435e8 + 0x00047> in <filename unknown>:0 
system: Jun 22 15:25:21 Christians-MacBook-Pro distnoted[10419]: # distnote server daemon  absolute time: 13226.136720649   civil time: Wed Jun 22 15:25:21 2016   pid: 10419 uid: 501  root: yes
Jun 22 15:25:21 Christians-MacBook-Pro locationd[10409]: BLP: Need a bundle path or a bundle identifier.
System.AggregateException: One or more errors occurred. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: src
 at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:copy_from_unmanaged (intptr,int,System.Array,int)
 at System.Runtime.InteropServices.Marshal.Copy (IntPtr source, System.Byte[] destination, Int32 startIndex, Int32 length) <0x1a89fe0 + 0x00032> in <filename unknown>:0 
 at Xamarin.Simulator.Server.ScreenManager+<OnDisplayUpdated>c__AnonStorey0.<>m__0 (Int32 i) <0x8740140 + 0x000e7> in <filename unknown>:0 
 at System.Threading.Tasks.Parallel+<ForWorker>c__AnonStorey3`1[TLocal].<>m__1 () <0x1b833d0 + 0x00318> in <filename unknown>:0 
 --- End of inner exception stack trace ---
 at System.Threading.Tasks.Task.ThrowIfExceptional (Boolean includeTaskCanceledExceptions) <0x1955280 + 0x00049> in <filename unknown>:0 
 at System.Threading.Tasks.Task.Wait (Int32 millisecondsTimeout, CancellationToken cancellationToken) <0x1956a70 + 0x000c8> in <filename unknown>:0 
 at System.Threading.Tasks.Task.Wait () <0x1956890 + 0x00033> in <filename unknown>:0 
 at System.Threading.Tasks.Parallel.ForWorker[TLocal] (Int32 fromInclusive, Int32 toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1 body, System.Action`2 bodyWithState, System.Func`4 bodyWithLocal, System.Func`1 localInit, System.Action`1 localFinally) <0x194a680 + 0x00688> in <filename unknown>:0 
---> (Inner Exception #0) System.ArgumentNullException: Value cannot be null.
Parameter name: src
 at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:copy_from_unmanaged (intptr,int,System.Array,int)
 at System.Runtime.InteropServices.Marshal.Copy (IntPtr source, System.Byte[] destination, Int32 startIndex, Int32 length) <0x1a89fe0 + 0x00032> in <filename unknown>:0 
 at Xamarin.Simulator.Server.ScreenManager+<OnDisplayUpdated>c__AnonStorey0.<>m__0 (Int32 i) <0x8740140 + 0x000e7> in <filename unknown>:0 
 at System.Threading.Tasks.Parallel+<ForWorker>c__AnonStorey3`1[TLocal].<>m__1 () <0x1b833d0 + 0x00318> in <filename unknown>:0 <---

system: Jun 22 15:25:21 --- last message repeated 1 time ---
Jun 22 15:25:21 Christians-MacBook-Pro CoreSimulatorBridge[10414]: Request received to remove pairs that are no longer paired by the host.
        hostPairedArray = (
    )
        simPairedArray=(
    )
        unpairArray=(
    )

请检查iOS日志以获取更多详细信息,并在此处发布。仅凭这个错误消息无法确定发生了什么。 - Gerald Versluis
我在跟进这个问题,我认为它与https://forums.xamarin.com/discussion/16770/failed-to-start-application-on-the-target-simulator-xamarin-ios-extension有关。 - fattikus
3个回答

16

我有同样的问题。在搜索解决方案4个小时之后......并在互联网上阅读了所有内容,我发现问题是当您的Mac机器上的用户帐户配置中,您具有不同的名称帐户和完整名称帐户时发生的。

这两个字段必须填写相同的名称。

否则,从VS iosEMualtor的路径不匹配(它采用完整名称)。

要做到这一点,请按照此Apple-KB文章的步骤操作:https://support.apple.com/zh-cn/HT201548 (下面显示的是Yosemite说明)

  1. 选择 Apple 菜单> 系统偏好设置,然后单击“用户与组”。
  2. 单击锁定按钮,然后输入管理员名称和密码。
  3. 从用户列表中,控制键单击或右键单击要重命名的用户。从快捷菜单中选择“高级选项”。
  4. 更改“全名”字段中的名称,然后单击“确定”。

1
谢谢,这非常有帮助。我发现在连接 Mac 和 VS 时,“账户名称”和“全名”不需要相同。事实上:在连接时不要使用“全名”,而是使用“账户名称”,现在远程调试仍然可以正常工作,iOS 模拟器也可以正常工作 :) - existenz31

0
昨天我在 Mac 和 Windows 上都更新了 Xamarin,然后遇到了这个错误。我能够在 Mac 上运行模拟器,但在 Windows 上却无法运行。我通过在 Windows 上安装预览版的 iso 模拟器来解决了这个问题,现在远程模拟器又可以正常工作了。iOS 模拟器(适用于 Windows)

0
  1. 删除文件夹 /Users/xxxx/Library/Caches/Xamarin/mtbs/builds/项目名称(在Mac上)
  2. 重新构建项目
  3. 在模拟器上运行调试

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接