无法将类型 'SPTSession' (0x110afab98) 的值转换为 'SPTSession' (0x10f17f638)
Could not cast value of type 'SPTSession' (0x110afab98) to 'SPTSession' (0x10f17f638)
我正在使用 Spotify iOS SDK,我正在使用 NSKeyedUnarchiver
存储会话
但是以下代码会导致错误(为清楚起见省略了一些代码):
sptSession = NSKeyedUnarchiver.unarchiveObjectWithData(sessionData as! NSData)
let auth = SPTAuth.defaultInstance()
auth.session = sptSession as! SPTSession
代码的最后一行抛出错误 Could not cast value of type 'SPTSession' (0x110afab98) to 'SPTSession' (0x10f17f638).
我读到那个错误是因为不知何故有两种不同类型的 SPTSession
s 但我不确定为什么或如何解决这个问题.
答案似乎与此有关 post:
我已经在 Spotify 的 iOS SDK (https://github.com/spotify/ios-sdk/issues/759) 的 GH 存储库中添加了一个问题,post编辑了这个临时解决方法作为对该问题的评论:
暂时,我找到了一个解决方法 - 我可以在存档会话之前简单地写 NSKeyedArchiver.setClassName("SPTSession", for: SPTSession.self)
,在取消存档之前写 NSKeyedUnarchiver.setClass(SPTSession.self, forClassName: "SPTSession")
。
虽然这修复了崩溃,但我将保留此问题,因为我不确定是否可以在基础库中进行更改来解决此问题
我正在使用 Spotify iOS SDK,我正在使用 NSKeyedUnarchiver
但是以下代码会导致错误(为清楚起见省略了一些代码):
sptSession = NSKeyedUnarchiver.unarchiveObjectWithData(sessionData as! NSData)
let auth = SPTAuth.defaultInstance()
auth.session = sptSession as! SPTSession
代码的最后一行抛出错误 Could not cast value of type 'SPTSession' (0x110afab98) to 'SPTSession' (0x10f17f638).
我读到那个错误是因为不知何故有两种不同类型的 SPTSession
s 但我不确定为什么或如何解决这个问题.
答案似乎与此有关 post:
我已经在 Spotify 的 iOS SDK (https://github.com/spotify/ios-sdk/issues/759) 的 GH 存储库中添加了一个问题,post编辑了这个临时解决方法作为对该问题的评论:
暂时,我找到了一个解决方法 - 我可以在存档会话之前简单地写 NSKeyedArchiver.setClassName("SPTSession", for: SPTSession.self)
,在取消存档之前写 NSKeyedUnarchiver.setClass(SPTSession.self, forClassName: "SPTSession")
。
虽然这修复了崩溃,但我将保留此问题,因为我不确定是否可以在基础库中进行更改来解决此问题