簡體   English   中英

XCode 7:啟動屏幕可能未設置自定義類名

[英]XCode 7: Launch screens may not set custom classnames

我使用Xcode 7 Beta 2創建了一個簡單的應用程序。該應用程序僅包含類MyAppDelegateMyViewControllerMyMain.storyBoardMyLaunchScreen.storyboard 用Xcode 7 Beta 4重新編譯應用程序后,出現錯誤“啟動屏幕可能未設置自定義類名”。 有什么建議么?

請注意,啟動屏幕不是完全可自定義的視圖控制器。 您無法在情節提要中指定自定義類名稱,並且不能期望系統在此階段通過調用viewDidLoad為您提供執行代碼的選項。 請記住,該應用尚未啟動。

啟動屏幕約束

  • 系統在啟動應用程序之前會加載啟動屏幕文件,這會對其包含的內容產生一些限制(其中一些可能會迫使您返回靜態圖像文件):
  • 該應用程序尚未加載,因此視圖層次結構不存在,系統無法調用您可能在應用程序中擁有的任何自定義視圖控制器設置代碼(例如viewDidLoad)
  • 您只能使用標准的UIKit類,因此可以使用UIView或UIViewController,但不能使用自定義子類。 如果嘗試設置自定義類,則會在Xcode中收到“非法配置”錯誤。
  • 啟動屏幕文件只能使用基本的UIKit視圖,例如UIImageView和UILabel。 您不能使用UIWebView。
  • 如果使用情節提要,則可以指定多個視圖控制器,但同樣存在一些限制。 例如,您可以將視圖控制器嵌入導航或標簽欄控制器中,但是更復雜的容器類(例如UISplitViewController)不起作用(至少目前還不行)。
  • 當前本地化啟動屏幕文件似乎沒有任何效果。 始終使用基本本地化,因此您可能要避免在啟動屏幕上顯示文本。
  • 您不能為iPad和iPhone指定其他啟動屏幕文件。 如果這些設備的接口截然不同,則可能會出現問題,因為自動布局和尺寸類別只能做很多事情。

如果要部署到iOS 7,則仍然需要包括靜態啟動映像文件。 您可以同時包含啟動屏幕文件和靜態啟動圖像。 運行iOS 8的iPhone 6等設備將使用啟動屏幕文件,而iOS 7設備將回退到啟動圖像。

欲了解更多詳情,請點擊這里

這是一個簡單的答案,但是我做了,甚至不知道。 我認為在iOS 7中,現在有一個main.storyboard和launchscreen.storyboard。 我無意間試圖在啟動screen.storyboard上構建我的初始功能屏幕。 那不是不。

希望這對您有所幫助,並祝您編程愉快!

在Main.storyboard中瀏覽視圖控制器,並確保沒有同時設置為自定義類的視圖控制器:

在此處輸入圖片說明

已檢查“是否為初始視圖控制器”:

在此處輸入圖片說明

您只能做一個或另一個。 不知何故,我仍然錯誤地檢查了“ Is Initial View Controller”,這花了我一段時間才能找到答案!

我最近使用Xcode 8 Beta創建了一個應用程序,但是無法使用Beta軟件將其提交到應用程序商店。 我有相同的錯誤消息:“啟動屏幕可能未設置自定義類名”和其他幾個錯誤消息。

我的解決方案:轉到主情節提要的文件檢查器,然后取消選擇“用作啟動屏幕”選項。 簡單吧? 希望這對您也有用。

這是尋找內容的圖片

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM