故事板不包含仅在 TestFlight 上具有标识符的视图控制器
Storyboard doesn't contain a view controller with identifier only on TestFlight
我为 iOS 应用程序使用 XLPagerTabStrip 库。
我覆盖了这个库中的函数以创建控制器:
override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {
var controllers:[UIViewController] = []
let storyboard = UIStoryboard(name: "MediaStoryboard", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "VideosListController") as! VideosListController
controllers.append(controller)
let controllerNews = storyboard.instantiateViewController(withIdentifier: "NewsListController") as! NewsListController
controllers.append(controllerNews)
return controllers
}
我的MediaStoryboard.storyboard(NewsController):
当我 运行 通过 Xcode 时,一切都很好。但是当我将它上传到 iTunes Connect 并通过 TestFlight 运行 它时,我在日志中收到此错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Storyboard (<UIStoryboard: 0x1c447f4c0>) doesn't contain a view controller with identifier 'NewsListController''
*** First throw call stack:
(0x181b82d8c 0x180d3c5ec 0x18c0d1ea8 0x1004da07c 0x101561dfc
0x1015626fc 0x101562a48 0x101552064 0x101553238 0x1004d9b40 0x1004d9e6c
0x18b75eee0 0x18b75eacc 0x18ba9c3b4 0x18b80bac8 0x18b80b720 0x18b7ff424
0x18b757770 0x185cf925c 0x185cfd3ec 0x185c69aa0 0x185c915d0 0x18bb3054c
0x18c10d4c0 0x18c106258 0x181b2b404 0x181b2ac2c 0x181b2879c 0x181a48da8
0x183a2b020 0x18ba2978c 0x10044ce64 0x1814d9fc0)
为什么,你?
您现在可能已经找到了答案,我想有多种方法可以找到答案。但是对于来这里解决这个令人沮丧的问题的其他读者来说,这对我有用:
打开故事板并单击有问题的场景。如果你检查身份检查器,你可能会看到这样的东西:
在模块字段内单击并明确 select 模块,即使它似乎已经正确 selected。它现在看起来像这样:
清理、构建和 运行。
我为 iOS 应用程序使用 XLPagerTabStrip 库。 我覆盖了这个库中的函数以创建控制器:
override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {
var controllers:[UIViewController] = []
let storyboard = UIStoryboard(name: "MediaStoryboard", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "VideosListController") as! VideosListController
controllers.append(controller)
let controllerNews = storyboard.instantiateViewController(withIdentifier: "NewsListController") as! NewsListController
controllers.append(controllerNews)
return controllers
}
我的MediaStoryboard.storyboard(NewsController):
当我 运行 通过 Xcode 时,一切都很好。但是当我将它上传到 iTunes Connect 并通过 TestFlight 运行 它时,我在日志中收到此错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Storyboard (<UIStoryboard: 0x1c447f4c0>) doesn't contain a view controller with identifier 'NewsListController''
*** First throw call stack:
(0x181b82d8c 0x180d3c5ec 0x18c0d1ea8 0x1004da07c 0x101561dfc
0x1015626fc 0x101562a48 0x101552064 0x101553238 0x1004d9b40 0x1004d9e6c
0x18b75eee0 0x18b75eacc 0x18ba9c3b4 0x18b80bac8 0x18b80b720 0x18b7ff424
0x18b757770 0x185cf925c 0x185cfd3ec 0x185c69aa0 0x185c915d0 0x18bb3054c
0x18c10d4c0 0x18c106258 0x181b2b404 0x181b2ac2c 0x181b2879c 0x181a48da8
0x183a2b020 0x18ba2978c 0x10044ce64 0x1814d9fc0)
为什么,你?
您现在可能已经找到了答案,我想有多种方法可以找到答案。但是对于来这里解决这个令人沮丧的问题的其他读者来说,这对我有用:
打开故事板并单击有问题的场景。如果你检查身份检查器,你可能会看到这样的东西:
在模块字段内单击并明确 select 模块,即使它似乎已经正确 selected。它现在看起来像这样:
清理、构建和 运行。