macos - RubyMotion 中的指针与 MacRuby 中的指针

标签 macos cocoa keychain rubymotion macruby

这适用于 MacRuby(需要“安全”框架)

error=SecKeychainAddGenericPassword(
                              nil,
                              "someservice".length,
                              "someservice",
                              "someusername".length,
                              "someusername",
                              "somepassword".length,
                              "somepassword".pointer,
                              nil)

在 RubyMotion 中,没有“.pointer”方法,所以我认为必须这样做:

lpointer=Pointer.new(:string)
lpointer.assign("somepassword")

但在 RubyMotion 中,这并不真正将密码存储在钥匙串(keychain)上。 key 创建良好,但其中没有密码。

error=SecKeychainAddGenericPassword(
                              nil,
                              "someservice".length,
                              "someservice",
                              "someusername".length,
                              "someusername",
                              "somepassword".length,
                                    lpointer,
                              nil)

我错过了什么?

最佳答案

这正在工作

error=SecKeychainAddGenericPassword(
                              nil,
                              "someservice".length,
                              "someservice",
                              "someusername".length,
                              "someusername",
                              "somepassword".length,
                              "somepassword".dataUsingEncoding(NSUTF8StringEncoding).bytes
                              nil)

.dataUsingEncoding 从 NSString 生成 NSData,.bytes 生成指向数据的指针。

道德:看起来

.dataUsingEncoding(NSUTF8StringEncoding).bytes

在 RubyMotion 中相当于

.pointer for an NString

关于macos - RubyMotion 中的指针与 MacRuby 中的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18202229/

相关文章:

bash - 使用 Mac 获取 wifi 密码

c++ - 如何用 C++/OS X 打开一个单独的程序

cocoa - NSSplitView 以编程方式更改大小

objective-c - NSAppleEventDescriptor 到 NSArray

macos - 此证书由未知授权钥匙串(keychain)签署

c# - 让 Apple Keychain 识别 Bouncy CaSTLe .NET 创建的 PKCS12 (.p12) 存储

ios - XCode 系统配置和无法访问 ios 键盘

macos - 带有 CSH 的 OS X 上 Visual Studio Code 的命令行别名?

cocoa - 我需要保留 NSAlert AlertDidEnd 的 contextInfo 吗?

ios - 如何使用 Locksmith 保存和加载多个凭据?