Comments (3)
Found this also:
@constant kSecAttrSynchronizable Specifies a dictionary key whose value is
a CFBooleanRef indicating whether the item in question can be synchronized.
To add a new item which can be synced to other devices, or to obtain
synchronizable results from a query, supply this key with a value of
kCFBooleanTrue. If the key is not supplied, or has a value of
kCFBooleanFalse, then no synchronizable items will be added or returned.
A predefined value, kSecAttrSynchronizableAny, may be provided instead of
kCFBooleanTrue if both synchronizable and non-synchronizable results are
desired.
IMPORTANT: Specifying the kSecAttrSynchronizable key has several caveats:
- Updating or deleting items using the kSecAttrSynchronizable key will
affect all copies of the item, not just the one on your local device.
Be sure that it makes sense to use the same password on all devices
before deciding to make a password synchronizable.
- Only password items can currently be synchronized. Keychain syncing
is not supported for certificates or cryptographic keys.
- Items stored or obtained using the kSecAttrSynchronizable key cannot
specify SecAccessRef-based access control with kSecAttrAccess. If a
password is intended to be shared between multiple applications, the
kSecAttrAccessGroup key must be specified, and each application
using this password must have a 'keychain-access-groups' entitlement
with the specified access group value.
- Items stored or obtained using the kSecAttrSynchronizable key may
not also specify a kSecAttrAccessible value which is incompatible
with syncing (namely, those whose names end with "ThisDeviceOnly".)
- Items stored or obtained using the kSecAttrSynchronizable key cannot
be specified by reference. You must pass kSecReturnAttributes and/or
kSecReturnData to retrieve results; kSecReturnRef is currently not
supported for synchronizable items.
- Persistent references to synchronizable items should be avoided;
while they may work locally, they cannot be moved between devices,
and may not resolve if the item is modified on some other device.
- When specifying a query that uses the kSecAttrSynchronizable key,
search keys are limited to the item's class and attributes.
The only search constant which may be used is kSecMatchLimit; other
constants using the kSecMatch prefix are not supported at this time.
from uickeychainstore.
I would like to support this feature as soon as possible.
Thanks.
from uickeychainstore.
I released version 2.
It supports iCloud sharing or more features.
Example:
UICKeyChainStore *keychain = [UICKeyChainStore keyChainStoreWithService:@"com.example.github-token"];
keychain.synchronizable = YES;
keychain[@"kishikawakatsumi"] = @"01234567-89ab-cdef-0123-456789abcdef"
See also,
https://github.com/kishikawakatsumi/UICKeyChainStore#icloud_sharing
from uickeychainstore.
Related Issues (20)
- More options available for authenticationPolicy
- How Much Data Can be Saved into the Keychain? HOT 1
- Crash when SecItemCopyMatching HOT 6
- Error 25308 on iOS 11
- Read passwords from the macOS keychain HOT 5
- 1 HOT 1
- Property 'accessibility' not found on object of type 'UICKeyChainStore *'
- compile-time warnings HOT 1
- Error when trying to archive using new build system in Xcode 10 HOT 1
- Inhibit warnings by wrapping versioning parts into availability blocks.
- Add Swift Package Manager support HOT 1
- how do we load all saved accounts for the same service?
- Tryiing compile framework withing static frameworks HOT 2
- Mac Catalyst Support HOT 4
- Support for Swift 5 HOT 2
- SPM Warning
- Consider using .iOS(.v9)
- IOS 15.x HOT 2
- Olasco Gadgets
- It's really easy to use
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 uickeychainstore.