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

时间:2017-09-27 20:51:32

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

我在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;

当我运行app并启动iOS模拟器时,它在模拟器上显示黑屏。模拟器上没有按钮工作(家庭,设置等)。显然我已经连接到MAC代理来做到这一点。

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

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

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

4 个答案:

答案 0 :(得分:3)

  

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

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

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

  

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

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

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

我做什么

  • 修改构建配置,再次运行。 enter image description here

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

  • 重新连接mac代理。

  • 重新启动Windows PC和Mac。

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

答案 1 :(得分:0)

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

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

谢谢,

A.S。

答案 2 :(得分:0)

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

在我的情况下,我刚刚在VS Mac上的Mac上运行了模拟器,以确保它可以正常工作并且是最新的。我原本希望在Mac上从PC上的VS中显示它。
但是我不知道PC上的VS 2017具有: 工具/选项/ Xamarin / iOS设置/ Windows的远程模拟器已选中。
(这意味着要在PC上显示模拟器。“远程”是OSX主机,  实际上正在运行模拟器代码。)

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

修复:

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

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

如果出现任何问题:

  • 让Mac静置10分钟,以确保模拟器启动完成。
  • 再次执行所有步骤。

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

答案 3 :(得分:0)

几个小时后我发现了这一点。

我的问题在Info.plist上,低于我在Visual Studio for Windows上所做的事情:

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

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

enter image description here