Comments (7)
Available now. Sorry!
from lockbox.
At the risk of stating the obvious, you cannot mix the new Lockbox v3 APIs with data stored using pre-v3 APIs. That is to say, if you had stored a string using -setString:forKey:
you cannot then use -unarchiveObjectForKey:
to retrieve it. You would see the behavior you describe (or worse). I can't imagine this scenario would work on any version of iOS, so your last comment about it working on iOS9 is perplexing. Can you share some code so I can see what you're actually doing?
from lockbox.
I did not know that I cannot mix it, but I did mix them with the intend on retrieve key value while migrating existing v2 API codes
NSString *object = [Lockbox unarchiveObjectForKey:key];
if(!object) {
object = [Lockbox stringForKey:key];
if(object) {
[Lockbox archiveObject:object forKey:key accessibility:kSecAttrAccessibleWhenUnlocked];
}
}
return object;
I was relying on the expectation that -unarchiveObjectForKey:
return nil if its not able to unarchive the object correctly with the key which seem to be the case on iOS9 but exception is thrown on iOS8
from lockbox.
Your use of both the v2 and v3 APIs to first fetch, and then store, a value for a key is correct. What i meant by not mixing was that you cannot store a key using a v2 API and then retrieve it properly using a v3 API. Your migration code, which fetches then stores, is fine.
I see what you're saying about catching the error. I'll look into it.
from lockbox.
Hey @granoff, any hints when v 3.0.1 will be available in Cocoapods?
from lockbox.
Hm. Thought it would be by now. The tags are there, the podspec seems right. Investigating...
from lockbox.
Thanks a lot!
from lockbox.
Related Issues (20)
- Remove UIKit import HOT 5
- CocoaPods Support HOT 2
- Occasional Nil value for String. HOT 3
- Lockbox +setDictionary: converts `NSNumber` into `NSString` HOT 2
- Save data for coredata HOT 6
- SecItemCopy and SecItemAdd errors HOT 1
- Cannot find interface declaration for 'NSObject', superclass of 'Lockbox' HOT 3
- Wiping Clean Keychain Keys HOT 2
- Migration to archiveObject HOT 5
- Sharing keys with iOS Today Widget HOT 2
- How to save NSData in Dictionary format HOT 2
- Lockbox unarchiveObjectForKey: returns nil sometimes HOT 2
- LockBox doesn't save info in xcode 8 HOT 7
- Doesn't work under iOS 10 HOT 4
- Upgrading from Swift 2.3 -> 3 leaves old values inaccessible. HOT 7
- podspec does not define minimum iOS version HOT 2
- Not work in Xcode 11 HOT 3
- cash HOT 1
- Still can delete data, with "Keychain Access.app" HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lockbox.