在VS2017上的Xamarin iOS模拟器在Windows中显示黑屏

问题描述 投票:0回答:3

我在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,由于某些原因,主界面是(无),无论我是否正确设置,当我重新打开时它显示(无)。我在VS2017上的同一个项目中复制了info.plist和MAC相同的问题:Black Screen。

为了检查我是否做错了,我重新打开了一个项目,该项目使用了一个带有导航控制器的故事板,我在几个月前做过这个项目,并且它在Windows上的Visual Studio 2017中的iOS模拟器中在同一台PC上完美运行,并且突然间它现在没用了。在Windows上的iOS模拟器上显示相同的黑屏。我在MAC上测试了这个应用程序,它运行得很好。

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

ios visual-studio xamarin xamarin.ios visual-studio-2017
3个回答
3
投票

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

如果你在你的应用程序中使用storyboard作为主界面,你必须在info.plist中设置它,用info.plist打开XML(Text) Editor,你可以在那里看到UIMainStoryboardFile

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

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

我也面临着你的问题,我想MAC代理可能有问题。

完成上述操作后,如果仍然无效,

What I do

  • 修改构建配置,再次运行。 enter image description here
  • 关闭应用程序,删除项目中的binobj文件夹,然后清理并再次运行。
  • 重新连接mac代理。
  • 重新启动Windows PC和Mac。

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


1
投票

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

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

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

固定:

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

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

如果出现任何问题:

  • 让Mac单独停留10分钟,以确保模拟器完成启动。
  • 再次完成所有步骤。

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


0
投票

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

Info.plist似乎正在工作/保存就好了。删除bin / obj目录,清理,重建等没有帮助(因为我的代码不正确的明显原因)。

谢谢,

如。