我正在尝试编写一个支持多个窗口的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类名称”条目已填写,并具有值(不带引号)“ WTF?Viewer.SceneDelegate”。该类存在。为什么它无法加载?
我尝试了“ Delegate Class Name”值的几种变体,例如:
WTF?\ Viewer.SceneDelegate
WTF\?\ Viewer.SceneDelegate
WTF?\\ Viewer.SceneDelegate
WTF\\?\\ Viewer.SceneDelegate
答案 0 :(得分:0)
对于Info.plist中“代表类名称”的值,请使用:
$(PRODUCT_MODULE_NAME).SceneDelegate
答案 1 :(得分:0)
这是不正确的。正确的前缀为$(SWIFT_MODULE_NAME),因为系统需要知道Swift模块(如果您正在使用Swift语言创建委托)来从中加载类。
对于许多项目,$(PRODUCT_MODULE_NAME)与$(SWIFT_MODULE_NAME)相同。
在项目编译器设置中找到条目“ Swift Module Name”(即要使用的名称)。