В каком maven2 репозитории может быть найден Google Guice?

Вот что я использую для хранения пар ключ / значение в цепочке для ключей. Обязательно добавьте Security.framework в ваш проект

#import <Security/Security.h>

// -------------------------------------------------------------------------
-(NSString *)getSecureValueForKey:(NSString *)key {
    /*

     Return a value from the keychain

     */

    // Retrieve a value from the keychain
    NSDictionary *result;
    NSArray *keys = [[[NSArray alloc] initWithObjects: (NSString *) kSecClass, kSecAttrAccount, kSecReturnAttributes, nil] autorelease];
    NSArray *objects = [[[NSArray alloc] initWithObjects: (NSString *) kSecClassGenericPassword, key, kCFBooleanTrue, nil] autorelease];
    NSDictionary *query = [[NSDictionary alloc] initWithObjects: objects forKeys: keys];

    // Check if the value was found
    OSStatus status = SecItemCopyMatching((CFDictionaryRef) query, (CFTypeRef *) &result);
    [query release];
    if (status != noErr) {
        // Value not found
        return nil;
    } else {
        // Value was found so return it
        NSString *value = (NSString *) [result objectForKey: (NSString *) kSecAttrGeneric];
        return value;
    }
}




// -------------------------------------------------------------------------
-(bool)storeSecureValue:(NSString *)value forKey:(NSString *)key {
    /*

     Store a value in the keychain

     */

    // Get the existing value for the key
    NSString *existingValue = [self getSecureValueForKey:key];

    // Check if a value already exists for this key
    OSStatus status;
    if (existingValue) {
        // Value already exists, so update it
        NSArray *keys = [[[NSArray alloc] initWithObjects: (NSString *) kSecClass, kSecAttrAccount, nil] autorelease];
        NSArray *objects = [[[NSArray alloc] initWithObjects: (NSString *) kSecClassGenericPassword, key, nil] autorelease];
        NSDictionary *query = [[[NSDictionary alloc] initWithObjects: objects forKeys: keys] autorelease];
        status = SecItemUpdate((CFDictionaryRef) query, (CFDictionaryRef) [NSDictionary dictionaryWithObject:value forKey: (NSString *) kSecAttrGeneric]);
    } else {
        // Value does not exist, so add it
        NSArray *keys = [[[NSArray alloc] initWithObjects: (NSString *) kSecClass, kSecAttrAccount, kSecAttrGeneric, nil] autorelease];
        NSArray *objects = [[[NSArray alloc] initWithObjects: (NSString *) kSecClassGenericPassword, key, value, nil] autorelease];
        NSDictionary *query = [[[NSDictionary alloc] initWithObjects: objects forKeys: keys] autorelease];
        status = SecItemAdd((CFDictionaryRef) query, NULL);
    }

    // Check if the value was stored
    if (status != noErr) {
        // Value was not stored
        return false;
    } else {
        // Value was stored
        return true;
    }
}

Стоит отметить, что эти ключи / значения не будут удалены, если пользователь удалит ваше приложение. Если пользователь удалит ваше приложение, а затем переустановит его, ключ / значения по-прежнему будут доступны.

35
задан Grouchal 19 December 2011 в 17:12
поделиться

5 ответов

Guice 3.0 теперь доступен в центральном . Чтобы от этого зависеть, вам понадобится следующее:

<dependency>
  <groupId>com.google.inject</groupId>
  <artifactId>guice</artifactId>
  <version>3.0</version>
</dependency>

К сожалению, они не загрузили исходные jar-файлы , а файлы классов были скомпилированы с Java 6 . Это может быть для вас препятствием…

76
ответ дан 27 November 2019 в 06:44
поделиться

Неважно. Guice-maven предназначен для этого.

0
ответ дан 27 November 2019 в 06:44
поделиться

Они скоро поместят его в центральное хранилище, как и обещали здесь: http://groups.google.com/group/google-guice/browse_thread/thread/6707a887ed5ef2e3

2
ответ дан 27 November 2019 в 06:44
поделиться

Пока он не достигнет центрального репозитория, я получаю его отсюда: http://guice-maven.googlecode.com/svn/trunk

0
ответ дан 27 November 2019 в 06:44
поделиться

Guice 2.0 теперь доступен в официальном репозитории google-maven. Чтобы использовать его, добавьте следующее в свой pom.xml внутри тега (вам нужно добавить его, если его нет):

<dependency>
  <groupId>com.google.inject</groupId>
  <artifactId>guice</artifactId>
  <version>2.0</version>
</dependency>

Вам не нужно , но вы можете добавить ссылку на официальный репозиторий google-maven в свой pom.xml, следуя инструкциям здесь .

4
ответ дан 27 November 2019 в 06:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: