In the VeiwController.swift, the init should be failable: required init?(coder aDecoder: NSCoder) { self.session = WCSession.defaultSession() super.init(coder: aDecoder) }