【问题标题】:Xamarin iOS Simulator on VS2017 in Windows Showing Black ScreenWindows中VS2017上的Xamarin iOS模拟器显示黑屏
【发布时间】:2020-03-10 04:56:13
【问题描述】:

我在 Windows 上运行带有 Xamarin 的 Visual Studio 2017 版本 15.3.4。我是iOS的新手。我做了两个 iOS 项目来测试:一个空白的 iOS 应用程序,我在其中添加了 MainAppViewController.cs 和 MainAppViewController.xib。 Info.plist 主界面设置为 MainAppViewController。 AppDelegate 是:

public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
    {
        // create a new window instance based on the screen size
        Window = new UIWindow(UIScreen.MainScreen.Bounds);

        MainAppViewController mainViewController = new MainAppViewController();
        // If you have defined a root view controller, set it here:
        Window.RootViewController = mainViewController;

        // make the window visible
        Window.MakeKeyAndVisible();

        return true;

当我运行应用程序并启动 iOS 模拟器时,它在模拟器上显示黑屏。模拟器工作上没有按钮(主页、设置等)。显然我已连接到 MAC 代理来执行此操作。

当我在 MAC 中使用 VS2017 社区测试同一个项目时,效果很好。我检查了 info.plist 并且由于某些原因主界面是(无),无论我是否正确设置它,当我重新打开时它都会显示(无)。我在 MAC 上从 VS2017 中的同一个项目复制 info.plist,同样的问题:黑屏。

为了检查我是否做错了,我重新打开了一个项目,该项目使用带有导航控制器的情节提要,几个月前我做了这个项目,它在 Windows 上的 Visual Studio 2017 的 iOS 模拟器中的同一台 PC 上完美运行时间,突然它现在不起作用。在 Windows 上的 iOS 模拟器上显示相同的黑屏。我在 MAC 上测试了这个应用程序,它运行良好。

最近我用最新版本更新了 VS2017。

【问题讨论】:

标签: ios visual-studio xamarin xamarin.ios visual-studio-2017


【解决方案1】:

我检查了 info.plist 并且由于某些原因主界面是(无),无论我是否正确设置它,当我重新打开时它显示(无)。

如果您在应用中使用storyboard作为主界面,则必须将其设置在info.plist中,以XML(Text) Editor的方式打开info.plist,您可以在那里看到UIMainStoryboardFile

但我看到您使用 xib 类作为主界面,并以编程方式在 AppDelegate 中设置它,就像您不需要在 plist 中设置主界面一样。

当我在 MAC 中使用 VS2017 社区测试同一个项目时,效果很好。

我也遇到了你的问题,我猜可能是 MAC 代理有问题。

按照上面的操作,如果还是不行的话,

我做什么

  • 修改构建配置,再次运行。

  • 关闭应用程序,删除项目中的binobj文件夹,然后清理并再次运行。

  • 重新连接 mac 代理。

  • 重新启动 Windows PC 和 Mac。

尝试我提供的解决方案(根据优先级)。

【讨论】:

  • 感谢Cole Xia,删除bin和obj,重建解决了我的问题!
【解决方案2】:

从 Q 中我不清楚 iOS 模拟器是显示在 Mac 屏幕上还是 PC 屏幕上。

在我的情况下,我刚刚从 VS Mac 在 Mac 上运行模拟器,以确保它正常工作并且是最新的。我期待然后从 PC 上的 VS 在 Mac 上展示它。
但是我不知道 PC 上的 VS 2017 有: 工具/选项/Xamarin/iOS 设置/远程模拟器到 Windows 已检查。
(这意味着在 PC 本身上显示模拟器。“远程”是 w.r.t. OSX 主机 实际上是在运行模拟器代码。)

我停止在 Mac 上进行调试。
然后从 PC 远程调试。
Mac 模拟器重新启动 [在 Mac 显示器上],但模拟器屏幕是黑色的。
[好像部分代码认为它应该在 Mac 上显示,但随后屏幕图像被发送到边缘,试图转到 PC - 但 PC 上没有显示它的窗口。]

修复:

  • 停止调试(在 PC 上)。
  • 退出模拟器(在 Mac 上)。
  • 取消选中“远程模拟器到 Windows”。
  • 开始调试(在 PC 上)。

结果:Mac 上的模拟器正常启动。

如果出现问题:

  • 让 Mac 静置 10 分钟,以确保模拟器已完成启动。
  • 重新完成所有步骤。

注意:如果自 XCode 更新后还没有运行模拟器,可能需要先启动 XCode,在偏好设置中转到您的帐户,重新输入您的 Mac 密码。
模拟器首次启动可能还需要等待长达 10 分钟。
我怀疑它正在安装一些东西。

【讨论】:

    【解决方案3】:

    我在 VS2017 中针对 iOS 模拟器的启动黑屏问题在覆盖 AppDelegate 中的 Window 属性后得到解决,如以下视频所示:“如何在 Xamarin.iOS 中启动 App 后修复黑屏”https://www.youtube.com/watch?v=UVkbkXCm1vU

    Info.plist 似乎可以正常工作/保存。删除 bin/obj 目录、清理、重建等没有帮助(很明显我的代码不正确)。

    谢谢,

    a.s.

    【讨论】:

      【解决方案4】:

      几个小时后我就明白了。

      我的问题出现在 Info.plist 中,低于我在 Visual Studio for windows 上所做的操作:

      1. 右键单击 info.plist 并选择打开方式
      2. 选择 iOS 清单编辑器
      3. 点击标签的视觉效果
      4. 转到启动图像
      5. 确保选项源和启动屏幕设置正确
      6. 清理您的整个解决方案
      7. 重建项目
      8. 再试一次

      在我的情况下,源设置为无。

      enter image description here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-15
        • 2021-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-15
        • 2013-12-17
        相关资源
        最近更新 更多