Version and platform specific logic in order to bypass deprecation warnings, fixing #156.
[x] Update NSKeyedArchiver and NSKeyedUnarchiver methods
[x] Obfuscate kSecAttrAccessibleAlways and kSecAttrAccessibleAlwaysThisDeviceOnly
Defaulting .always to .afterFirstUnlock, and .alwaysThisDeviceOnly to .afterFirstUnlockThisDeviceOnly, on iOS 12.0 and above, my initial implementation, didn't feel like the optimal choice.
It truly felt like the only sensible thing to do was marking .always and .alwaysThisDeviceOnly as unavailable for everyone, while allowing users that genuinely need to rely on those cases to pass them themselves, with the addition of a .custom case.
I did not include macCatalyst in the #available statements, as the minimum Swift version for using the library is still set to 4.1.
Version and platform specific logic in order to bypass deprecation warnings, fixing #156.
NSKeyedArchiver
andNSKeyedUnarchiver
methodskSecAttrAccessibleAlways
andkSecAttrAccessibleAlwaysThisDeviceOnly
Defaulting
.always
to.afterFirstUnlock
, and.alwaysThisDeviceOnly
to.afterFirstUnlockThisDeviceOnly
, on iOS 12.0 and above, my initial implementation, didn't feel like the optimal choice. It truly felt like the only sensible thing to do was marking.always
and.alwaysThisDeviceOnly
asunavailable
for everyone, while allowing users that genuinely need to rely on those cases to pass them themselves, with the addition of a.custom
case.I did not include
macCatalyst
in the#available
statements, as the minimum Swift version for using the library is still set to4.1
.