克隆的iOS应用构建成功但崩溃,SideMenuSwift报控制器非空错误求助
我在Mac上运行公司的iOS应用时,构建完成后因SideMenuSwift这个Pod报错崩溃,但该应用在开发人员的电脑上运行完全正常。排查后未发现本地仓库或环境与开发人员的差异,仅注意到对方项目目录的部分文件夹有.DS_STORE文件,我这边没有。
Xcode控制台报错信息:
SideMenuSwift/SideMenuController.swift:172: Fatal error: [SideMenuSwift]
menuViewControllerorcontentViewControllershould not be nil.
本地仓库搭建步骤
- 执行
git clone project_link克隆仓库 - 执行
pod install - 执行
pod upgrade - 执行
open project_name.xcworkspace在Xcode中打开仓库
已尝试的排查操作
- 确保所有Pod文件、CocoaPods、Swift和Xcode版本与开发人员电脑完全一致
- 切换到开发人员电脑上可正常运行的分支与提交记录
- 检查
.gitignore文件,确保本地目录文件结构与对方一致 - 参照SideMenu官方文档,在
SceneDelegate.swift文件中添加视图控制器初始化代码(已指定有效的menuViewController和contentViewController):
import UIKit import SideMenuSwift class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? @objc func applicationDidFinishLaunching(_ application: UIApplication) { let contentViewController = myContentViewController() let menuViewController = myMenuViewController() window = UIWindow(frame: UIScreen.main.bounds) window?.rootViewController = SideMenuController(contentViewController: contentViewController, menuViewController: menuViewController) window?.makeKeyAndVisible() return true } // 其他代码
- 加载旧提交记录重新构建应用
- 针对iPhone 14、iPhone 15和iPad(第10代)分别进行构建测试
- 使用Xcode内置的Git克隆功能重新拉取仓库
内容的提问来源于stack exchange,提问作者uhhsoup
相关产品推荐
相关产品推荐

