【发布时间】:2019-03-25 17:16:38
【问题描述】:
我正在尝试根据应用启动时的某些条件更改 rootVC。我所有的 VC 都是在故事板中制作的,所以我这样做:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
checkPhotoLibraryAccess()
return true
}
func checkPhotoLibraryAccess(){
if PHPhotoLibrary.authorizationStatus() == PHAuthorizationStatus.denied || PHPhotoLibrary.authorizationStatus() == PHAuthorizationStatus.notDetermined {
showPermissionVC()
} else {
showContainerVC()
}
}
func showPermissionVC (){
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let rootVC = storyboard.instantiateViewController(withIdentifier: "askPermissionVC")
UIApplication.shared.windows.first?.rootViewController = rootVC
self.window?.makeKeyAndVisible()
}
func showContainerVC (){
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let rootVC = storyboard.instantiateViewController(withIdentifier: "containerVC")
UIApplication.shared.windows.first?.rootViewController = rootVC
self.window?.makeKeyAndVisible()
}
我已经从情节提要中删除了显示初始 VC 的箭头,这样它就不会与代码发生冲突。但是,我收到了这个错误,模拟器的屏幕上什么也没显示:
[Application] 无法实例化默认视图控制器 UIMainStoryboardFile 'Main' - 也许指定的入口点是 没有设置?
我现在已经从 info.plist 中删除了“主故事板文件基本名称”属性。这次错误消失了,但仍然没有出现。我做错了什么?
【问题讨论】:
标签: ios swift storyboard rootviewcontroller