0

我正在尝试编写一个支持多个窗口的 iPadOS/macOS Catalyst 应用程序。当我运行时,我收到日志错误消息:

[SceneConfiguration] Info.plist configuration "Default Configuration" for UIWindowSceneSessionRoleApplication contained UISceneDelegateClassName key, but could not load class with name "WTF? Viewer.SceneDelegate".

Info.plist 文件中的“Delegate Class Name”条目已填写,其值(不带引号)“WTF?Viewer.SceneDelegate”。类存在。为什么加载不出来?

我尝试了“委托类名称”值的几种变体,例如:

WTF?\ Viewer.SceneDelegate
WTF\?\ Viewer.SceneDelegate
WTF?\\ Viewer.SceneDelegate
WTF\\?\\ Viewer.SceneDelegate
4

2 回答 2

0

这是不正确的。正确的前缀是 $(SWIFT_MODULE_NAME) 因为系统需要知道 Swift 模块(如果您使用 Swift 语言创建委托)来加载类。

对于许多项目,$(PRODUCT_MODULE_NAME) 与 $(SWIFT_MODULE_NAME) 相同。

在您的项目编译器设置中查找条目“Swift Module Name”,这是要使用的名称。

于 2019-11-01T03:38:16.973 回答
0

对于 Info.plist 中“Delegate Class Name”的值,使用:

$(PRODUCT_MODULE_NAME).SceneDelegate
于 2019-10-30T04:03:06.857 回答