0

我正在尝试使 QR 码在 macOS 上可操作。我发现我可以通过使用 imessage 作为 URI 或 sms 作为 URI 打开 Messages 应用程序:

NSString *message = @"imessage://your@appleid.com";
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:message]];


NSString *message = @"sms://your@appleid.com";
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:message]];

但是我无法添加任何参数,因此我可以预先填充文本的正文。如何预填充身体?

短信 URI 仅在 10.14 Mojave 之后才出现。

PS:iMessage URI 用逗号分隔电子邮件将进行群聊。

处理 URL (_handleGURL..) 的 Messages.app 方法获取此 NSAppleEventDescriptor:

(lldb) po $rdx
<NSAppleEventDescriptor: 'GURL'\'GURL'{ '----':"imessage://your@appleid.com", 'qtnp':'qtnd'($62706C6973743030D2010203045F10214C5351756172616E74696E654167656E7442756E646C654964656E7469666965725F10154C5351756172616E74696E654167656E744E616D655F1011636F6D2E6872756261736B6F2E7363616E50080D31495D000000000000010100000000000000050000000000000000000000000000005E$) }>

在此处输入图像描述

4

1 回答 1

0

根据商务聊天框架的 URL 开始聊天:

您可以在 URL 中包含可选的查询字符串参数:“biz-intent-id”“biz-group-id”“body”

NSURL *URL = [NSURL URLWithString:@"sms:test@test.com&body=Order%20additional%20credit%20card"];
[[NSWorkspace sharedWorkspace] openURL:URL];

但是,这不适用于 iMessage URI(内部实现将消息值设置为 nil)

消息应用

于 2019-01-28T17:39:49.237 回答