Info.plist configuration “(no name)” for UIWindowSceneSessionRoleApplication contained UISceneClassName key, but could not load class with name “”.
May 9, 2024
目錄
1. 跳出錯誤訊息
⦿ 跳出錯誤訊息
跳出錯誤訊息
當 Xcode Build 時,跳出如下訊息:
Info.plist configuration "(no name)" for UIWindowSceneSessionRoleApplication contained UISceneClassName key,
but could not load class with name "".
這表示說在 iOS 13 以後,因為 Life Cycle 中加入 UIScene,不再是由 UIApplication 去管理 Windows,在 iPad 中會變得更好操作,然而在 Info.plist 中並沒有找到相應的 class。
所以我們要去檢查 Info.plist 中的 UIApplicationSceneManifest 的階層關係,如下:
以及當 Source Code 檢視時。
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<false/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneConfigurationName</key>
<string>Default Configuration</string>
<key>UISceneClassName</key>
<string>UIWindowScene</string>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
<key>UISceneStoryboardFile</key>
<string>Main</string>
</dict>
</array>
</dict>
</dict>
UIApplicationSceneManifest(Dictionary) => UISceneConfigurations(Dictionary) => UIWindowSceneSessionRoleApplication(Array)。
接著,Array 裡的 Item 0 是 Default Configuration(Dictionary),這個字典分別有四個 Key,其中的 Class Name 就是我們缺少的,錯誤訊息顯示空白,此時只要把後面的值放入 UIWindowScene
即可。
以 Source Code 呈現時,要放入如下:
<key>UISceneClassName</key>
<string>UIWindowScene</string>
這樣就完成了!
這次就分享到這,感謝您的閱讀。
繼續閱讀|回目錄