我正在尝试使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]];
但是,我无法添加任何参数,因此可以预先填充文本正文。如何预填充身体?
sms 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$) }>
答案 0 :(得分:0)
根据业务聊天框架的Starting a Chat from a URL:
您可以在URL中包含可选的查询字符串参数:“ biz-intent-id” “ biz-group-id” “身体”
NSURL *URL = [NSURL URLWithString:@"sms:test@test.com&body=Order%20additional%20credit%20card"];
[[NSWorkspace sharedWorkspace] openURL:URL];
但是,这对于iMessage URI无效(内部实现将消息值设置为nil)