我在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。
答案 0 :(得分:3)
我检查了info.plist,由于某些原因,主界面是(无),无论我是否正确设置,当我重新打开时显示(无)。
如果您在应用中使用storyboard
作为主界面,则必须在info.plist
中进行设置,以info.plist
的方式打开XML(Text) Editor
,您可以看到{{1} }} 那里。
但我看到你使用xib类作为主界面,并在AppDelegate中以编程方式设置它,就像你不需要在plist中设置主界面一样。
当我在MAC中使用VS2017社区测试同一个项目时,效果非常好。
我也面临着你的问题,我想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上没有窗口显示它。]
修复:
结果:Mac上的模拟器正确启动。
如果出现任何问题:
注意:如果自从XCode更新以来没有运行模拟器,则可能需要先启动XCode,在偏好设置中进入您的帐户,然后重新输入Mac密码。
模拟器首次启动时可能还需要等待10分钟。
我怀疑它正在安装东西。
答案 3 :(得分:0)
几个小时后我发现了这一点。
我的问题在Info.plist上,低于我在Visual Studio for Windows上所做的事情:
在我的情况下,“源”设置为“无”。