2017-10-11 16 views
0

に次のコードを-50を返します。SecItemAddは、Xcodeの9

var newItem = [String: Any]() 

    newItem[kSecClass as String] = aValue 
    newItem[kSecAttrService as String] = aValue 
    newItem[kSecAttrAccount as String] = aValue 
    newItem[kSecValueData as String] = aValue 
    newItem[kSecAttrAccessible as String] = aValue 

    // Add a the new item to the keychain. 
    let status = SecItemAdd(newItem as CFDictionary, nil) 

    if status != noErr { 
     print("Error during access token save. \(status)") 
    } 

エラーを返すことなく、Xcodeの8で完璧に動作し、

のXcode 9に-50エラー(別名errSecParam。)任意のヘルプを返します。 ?

答えて

0

私の答えが見つかりました。完全なコンテキストを得るために、Keychainフレームワーク用のホストアプリケーションを追加する必要がありました。

私のxxxxxTestsターゲットでは、Host Applicationメニュー(Generalタブ)でメインアプリケーションをセットアップしなければなりませんでした。

Xcode 8では、奇妙なことは不要だということです。

関連する問題