 
     public func destroy() -> Bool {
         var attrs = self.dynamicType.keychainAttributes
-
-        if self.needsMigrate {
-            attrs.removeValueForKey(String(kSecAttrAccessGroup))
-        }
 
         if !(SecItemDelete(attrs) == errSecSuccess) {
             return false

    public private(set) var accessToken: String? = ""
    public private(set) var tokenType: String? = ""
    public private(set) var expireDate: NSDate? = NSDate()
    private var needsMigrate = false

    // MARK: - Singleton methods


            if let dict = copy?.takeRetainedValue() as? NSDictionary,
                let data = dict[key] as? NSData {
                    return NSKeyedUnarchiver.unarchiveObjectWithData(data) as? OAuth2Credential
            }
        }
        return nil
