У меня есть приложение, которое необходимо подключить к внешнему дисплею, и я хочу отображать разное содержимое на обоих экранах (не только зеркально отображать экран iPad).
Я попытался добавить конфигурацию сцены вmy Info.plist
:
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<true/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneConfigurationName</key>
<string>Default Configuration</string>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
<key>UISceneStoryboardFile</key>
<string>Main</string>
</dict>
<dict>
<key>UISceneConfigurationName</key>
<string>External Screen</string>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).ExtSceneDelegate</string>
<key>UISceneStoryboardFile</key>
<string>Ext</string>
</dict>
</array>
</dict>
</dict>
Я также добавил переключатель для возврата правильного UISceneConfiguration
для каждого экрана.
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
switch connectingSceneSession.role.rawValue {
case "UIWindowSceneSessionRoleApplication":
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
case "UIWindowSceneSessionRoleExternalDisplay":
return UISceneConfiguration(name: "External Screen", sessionRole: connectingSceneSession.role)
default:
fatalError("No such role, I think? \(connectingSceneSession.role.rawValue)")
}
}
В то время как точка останова, которую я установил в приведенном выше коде вconfigurationForConnecting
в моем AppDelegate
вызывается, когда я подключаю внешний экран, мое приложение все еще просто отражает экран iPad.
Я пытался следовать этому руководству , но с iOS 13 screen
сеттер устарел, и этот код не работает.
Я действительно не знаю, как я могу отображать различный контент на разных физических экранах, кто-то может указать мне правильное направление?