NSData型への変換について
func Sample() {
let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let publicKeyPath = paths[0].stringByAppendingPathComponent("public.pem")
let privateKeyPath = paths[0].stringByAppendingPathComponent("private.pem")
let keyPair: (publicKey: SecKey?, privateKey: SecKey?) = generateKeyPair()
do {
let publicData = try NSData(contentsOfFile: publicKeyPath, options: .DataReadingMappedIfSafe)
let keyDef = NSUserDefaults.standardUserDefaults()
keyDef.setObject(publicData, forKey: "pubKeyData")
var pubKeyString = NSString(data: publicData, encoding: NSUTF8StringEncoding)
print(pubKeyString!)
let UserId = "sample-sample-sample-sample-sample"
let dict: [String: AnyObject]? = ["user_id": userId, "public_key": pubKeyString!]
} catch {
}
}
何をしたいか
鍵を生成しKeyChainに保存したい。
実行結果
let publicData = try NSData(contentsOfFile: publicKeyPath, options: .DataReadingMappedIfSafe)
の行で中に入らずcatchしてしまう。
どのように修正するときちんと動いてくれますでしょうか。
NSError
The file “public.pem” couldn’t be opened because there is no such file.
エラーの通りファイルが見当たらないみたいです。
どのようにpublicKeyを該当Pathに保存できますでしょうか。