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に保存できますでしょうか。