Giter Club home page Giter Club logo

Comments (3)

kissfro avatar kissfro commented on May 29, 2024

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.

kishikawakatsumi avatar kishikawakatsumi commented on May 29, 2024

I would like to support this feature as soon as possible.
Thanks.

from uickeychainstore.

kishikawakatsumi avatar kishikawakatsumi commented on May 29, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.