title: Swift Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffeedbbaff8)
body: <p>I am trying to get a pod to work.
  It is from here:</p>
  
  <pre><code>https://github.com/Ahmadalsofi/SOTabBar
  </code></pre>
  
  <p>I get no errors until runtime, where I get a long list of what seems like a thread loop of sorts.</p>
  
  <p>Images:</p>
  
  <p>1.Tread Stack</p>
  
  <p><img src="https://i.stack.imgur.com/haejX.png"></p>
  
  <p>2.Line where error happens</p>
  
  <p><img src="https://i.stack.imgur.com/rdm0e.png"></p>
  
  <p>3.Error Message</p>
  
  <p><img src="https://i.stack.imgur.com/vza9x.png"></p>
  
  <ol start="4">
  <li>Where I can trace the error to:</li>
  </ol>
  
  <p><img src="https://i.stack.imgur.com/S9sa1.png"></p>
  
  <p>My scene delegate entry to application: (I am not using storyboards)</p>
  
  <pre><code>    class SceneDelegate: UIResponder, UIWindowSceneDelegate {
  
      var window: UIWindow?
  
  
      func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
  
          guard let windowScene = (scene as? UIWindowScene) else { return }
          window = UIWindow(frame: windowScene.coordinateSpace.bounds)
          window?.windowScene = windowScene
          window?.rootViewController = MainTabBarVC()
          window?.makeKeyAndVisible()
      }
  }
  </code></pre>
  
  <p>My MainTabBarVC:</p>
  
  <pre><code>import UIKit
  import SOTabBar
  class MainTabBarVC: SOTabBarController {
  
      override func viewDidLoad() {
          super.viewDidLoad()
  
          let firstVC = SearchVC(nibName: "Main", bundle: nil)
          let secondVC = TestVC(nibName: "Main", bundle: nil)
  
  
  
          firstVC.tabBarItem = UITabBarItem(title: "Home", image: UIImage(systemName: "mappin.and.ellipse"), selectedImage: UIImage(systemName: "star"))
          secondVC.tabBarItem = UITabBarItem(title: "Chat", image: UIImage(named: "secondImage"), selectedImage: UIImage(systemName: "mappin.and.ellipse"))
          viewControllers = [firstVC, secondVC]
  
      }
  
  
      override func loadView() {
           super.loadView()
           SOTabBarSetting.tabBarHeight = 60.0
           SOTabBarSetting.tabBarTintColor = UIColor.red
          SOTabBarSetting.tabBarBackground = UIColor.purple
          SOTabBarSetting.tabBarCircleSize = CGSize(width: 50.0, height: 50.0)
          SOTabBarSetting.tabBarSizeImage = CGFloat(20)
  
          SOTabBarSetting.tabBarSizeSelectedImage = CGFloat(40)
          SOTabBarSetting.tabBarAnimationDurationTime = 2
      }
  }
  
  extension MainTabBarVC: SOTabBarControllerDelegate {
  
      func tabBarController(_ tabBarController: SOTabBarController, didSelect viewController: UIViewController) {
          print("Hello")
      }
  
  
  }
  </code></pre>
  
  <p>My SearchVC and TestVC are just simple VCs with a different background color like:</p>
  
  <pre><code>import UIKit
  
  class SearchVC: UIViewController {
  
  
      override func viewDidLoad() {
          super.viewDidLoad()
          view.backgroundColor = .systemRed
  
      }
  
      override func viewWillAppear(_ animated: Bool) {
          super.viewWillAppear(animated)
      }
  
  
  }
  </code></pre>
  
  <p>The view controllers themselves are fine, the issue seems to be the pod. I tried looking at their github source but I don't know what could be causing it. So the issue is either the pod or my implementation of it.</p>