macOS Catalyst `requestSceneSessionActivation` 需要多窗口采用
macOS Catalyst `requestSceneSessionActivation` requires multiwindow adoption
尝试在 macOS Catalyst 应用程序中打开新的 window 时,我使用此枚举来描述 NSUserActivity
的实例:
enum Activity: String {
case list
case settings
var type: String {
"com.example.app.\(rawValue)"
}
var userActivity: NSUserActivity {
NSUserActivity(activityType: type)
}
}
然后打开一个新的 window,我在按钮点击处理程序中使用此代码,如 this raywenderlich.com tutorial:
中所述
UIApplication
.shared
.requestSceneSessionActivation(
nil,
userActivity: Activity.settings.userActivity,
options: nil,
errorHandler: nil
)
但是,这不起作用,我总是在调试器控制台中收到此错误消息:
[Scene] Calling -[UIApplication requestSceneSessionActivation:] requires multiwindow adoption.
此错误消息是什么意思,此处可能缺少哪些步骤以支持 Catalyst 应用程序中的多个 windows 工作?
实际起作用的是将 UIApplicationSceneManifest
字典中的 UIApplicationSupportsMultipleScenes
键设置为 Info.plist
:
中的 YES
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<true/>
</dict>
或者,如果您更喜欢 Xcode GUI,请查看此屏幕截图:
遗憾的是,the raywenderlich.com tutorial or in any of Apple's guides on Catalyst. It only seems to be documented on this Developer reference page 中似乎没有记录此设置。
尝试在 macOS Catalyst 应用程序中打开新的 window 时,我使用此枚举来描述 NSUserActivity
的实例:
enum Activity: String {
case list
case settings
var type: String {
"com.example.app.\(rawValue)"
}
var userActivity: NSUserActivity {
NSUserActivity(activityType: type)
}
}
然后打开一个新的 window,我在按钮点击处理程序中使用此代码,如 this raywenderlich.com tutorial:
中所述UIApplication
.shared
.requestSceneSessionActivation(
nil,
userActivity: Activity.settings.userActivity,
options: nil,
errorHandler: nil
)
但是,这不起作用,我总是在调试器控制台中收到此错误消息:
[Scene] Calling -[UIApplication requestSceneSessionActivation:] requires multiwindow adoption.
此错误消息是什么意思,此处可能缺少哪些步骤以支持 Catalyst 应用程序中的多个 windows 工作?
实际起作用的是将 UIApplicationSceneManifest
字典中的 UIApplicationSupportsMultipleScenes
键设置为 Info.plist
:
YES
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<true/>
</dict>
或者,如果您更喜欢 Xcode GUI,请查看此屏幕截图:
遗憾的是,the raywenderlich.com tutorial or in any of Apple's guides on Catalyst. It only seems to be documented on this Developer reference page 中似乎没有记录此设置。