xamarin / xamarin-macios

.NET for iOS, Mac Catalyst, macOS, and tvOS provide open-source bindings of the Apple SDKs for use with .NET managed languages such as C#
Other
2.42k stars 507 forks source link

Black screen after selecting Supports Multiple Windows on an existing app. #7596

Open jgold6 opened 4 years ago

jgold6 commented 4 years ago

Steps to Reproduce

  1. Get the LocalNotifications sample: https://docs.microsoft.com/en-us/samples/xamarin/ios-samples/localnotifications/
  2. Launch the app to an iOS 13 simulator. Note that the initial screen is shown
  3. Stop the app.
  4. Open the Info.plist and select the Supports Multiple Windows option
  5. Relaunch the app to the iOS 13 simulator

Expected Behavior

Will see the same start screen

Actual Behavior

Black screen is shown

Notes

The issue is that when that options is selected, the UIApplicationSceneManifest entry is added to the info.plist and the UIApplicationSupportsMultipleScenes key is set to true, but there is no UISceneConfigurations added so the storyboard is not getting set.

To resolve this, the developer will have to follow this guide: https://docs.microsoft.com/en-us/xamarin/ios/platform/ios13/multi-window-ipad

I am not sure what can be done about this, as in order to resolve this issue when the "Supports Multiple Windows" option is selected the IDE would also have to add SceneDelegate class and the other necessary keys to the Info.plist as per the above linked document.

Maybe there should be an Info button next to the option pointing the developer to the above document and letting them know they need to create the SceneDelegate class and add the UISceneConfigurations key with a configuration that sets the storyboard for the scene?

SO this is not a bug, per se, but a request to improve the developer experience when adding support for Multiple Windows to their existing app.

Environment

iOS 13

=== Visual Studio Enterprise 2019 for Mac ===

Version 8.3.11 (build 1)
Installation UUID: f86726f2-bd5d-4610-867e-44e82f306ca2
    GTK+ 2.24.23 (Raleigh theme)
    Xamarin.Mac 5.16.1.24 (d16-3 / 08809f5b)

    Package version: 604000208

=== Mono Framework MDK ===

Runtime:
    Mono 6.4.0.208 (2019-06/07c23f2ca43) (64-bit)
    Package version: 604000208

=== NuGet ===

Version: 5.3.0.6192

=== .NET Core SDK ===

SDK: /usr/local/share/dotnet/sdk/3.1.100/Sdks
SDK Versions:
    3.1.100
    3.0.101
    3.0.100
    3.0.100-preview8-013656
    2.1.701
    2.1.700
    2.1.505
    2.1.504
    2.1.503
    2.1.302
    2.1.301
    2.1.4
    2.0.0
    1.0.1
    1.0.0-preview2-003121
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/6.4.0/lib/mono/msbuild/Current/bin/Sdks

=== .NET Core Runtime ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
    3.1.0
    3.0.1
    3.0.0
    3.0.0-preview8-28405-07
    2.1.14
    2.1.13
    2.1.12
    2.1.11
    2.1.10
    2.1.9
    2.1.8
    2.1.7
    2.1.2
    2.1.1
    2.0.5
    2.0.0
    1.1.1
    1.0.4
    1.0.0

=== Xamarin.Profiler ===

Version: 1.6.12.29
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Updater ===

Version: 11

=== Apple Developer Tools ===

Xcode 11.3 (15712)
Build 11C29

=== Xamarin.Mac ===

Version: 6.6.0.12 (Visual Studio Enterprise)
Hash: e3c2b406d
Branch: xcode11.2
Build date: 2019-11-01 00:12:07-0400

=== Xamarin.iOS ===

Version: 13.6.0.12 (Visual Studio Enterprise)
Hash: e3c2b406d
Branch: xcode11.2
Build date: 2019-11-01 00:12:08-0400

=== Xamarin.Android ===

Version: 10.0.6.2 (Visual Studio Enterprise)
Commit: xamarin-android/d16-3/c407838
Android SDK: /Users/jongoldberger/Library/Developer/Xamarin/android-sdk-macosx
    Supported Android versions:
        4.4 (API level 19)
        5.0 (API level 21)
        5.1 (API level 22)
        6.0 (API level 23)
        7.0 (API level 24)
        7.1 (API level 25)
        8.0 (API level 26)
        8.1 (API level 27)

SDK Tools Version: 26.1.1
SDK Platform Tools Version: 28.0.2
SDK Build Tools Version: 28.0.3

Build Information: 
Mono: mono/mono/2019-06@476d72b9e32
Java.Interop: xamarin/java.interop/d16-3@5836f58
LibZipSharp: grendello/LibZipSharp/d16-3@71f4a94
LibZip: nih-at/libzip/rel-1-5-1@b95cf3fd
ProGuard: xamarin/proguard/master@905836d
SQLite: xamarin/sqlite/3.27.1@8212a2d
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-3@cb41333

=== Microsoft Mobile OpenJDK ===

Java SDK: /Users/jongoldberger/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.25
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Android SDK Manager ===

Version: 1.4.0.65
Hash: c33b107
Branch: remotes/origin/d16-3
Build date: 2019-11-19 20:33:22 UTC

=== Android Device Manager ===

Version: 1.2.0.116
Hash: d2b2af0
Branch: remotes/origin/d16-3
Build date: 2019-11-19 20:33:42 UTC

=== Xamarin Designer ===

Version: 16.3.0.256
Hash: 8a223bfd7
Branch: remotes/origin/d16-3
Build date: 2019-11-01 21:02:02 UTC

=== Xamarin Inspector ===

Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1

=== Build Information ===

Release ID: 803110001
Git revision: 6ee6ad2ec46ae5a08a1999ee4c815ac656a35b91
Build date: 2019-12-05 16:09:27+00
Build branch: release-8.3
Xamarin extensions: 56bd70ef2e327f71c615cfc29a47fd50685fadcb

=== Operating System ===

Mac OS X 10.15.1
Darwin 19.0.0 Darwin Kernel Version 19.0.0
    Thu Oct 17 16:17:15 PDT 2019
    root:xnu-6153.41.3~29/RELEASE_X86_64 x86_64

Build Logs

n/a/

Example Project (If Possible)

n/a (see steps to reproduce)

whitneyschmidt commented 4 years ago

@jgold6 Thanks for surfacing this bug!

I was able to reproduce it in VSMac following your steps.

I made an application in Xcode and launched w/ and w/o support for multiple windows. For both, the application successfully launched.

Marking as a bug since it's specific to our code and not an Apple bug.