我有一个独特的问题。我的任务是让公司的 iOS 应用程序在我的 Mac 上运行。但在构建完成后,我收到一个名为 SideMenuSwift 的 pod 错误,导致应用程序崩溃。这种情况的奇怪之处在于,该应用程序在编写它的笔记本电脑上运行得非常好。我无法弄清楚我的本地存储库或环境与开发人员相比有什么不同。我能够发现的唯一区别是在开发人员的计算机上,项目目录内的某些文件夹包含 DS_STORE,而我的不包含。
这是我在 xcode 控制台中遇到的错误:
SideMenuSwift/SideMenuController.swift:172:致命错误:[SideMenuSwift] `menuViewController` 或 `contentViewController` 不应为零。
我在我的机器上设置存储库所采取的步骤:
使用
git clone project_link
克隆了存储库
跑
pod install
跑
pod upgrade
通过运行
open project_name.xcworkspace
在 Xcode 中打开存储库
我尝试过的:
我确保所有 pod 文件、CocoaPods、Swift 和 Xcode 的版本与开发人员的笔记本电脑相同。
我确保我与开发人员笔记本电脑上的工作版本位于同一分支和同一提交。
我检查了 .gitignore 并确保我的目录中的所有文件都与开发人员目录中的相同。
我按照docs,添加了下面的函数来初始化我的 SceneDelegate.swift 文件中的 ViewController,并找到了适合 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
}
// Other stuff
在 Xcode 中加载较旧的提交
为 iPhone 14、iPhone 15 和 iPad(第 10 代)构建应用程序
使用 Xcode 内置的 git 克隆功能重新克隆存储库
我最终在两个存储库上运行了 diff,我发现开发人员刚刚删除了 SideMenuSwift pod 文件中引发 nil 错误的部分。