2016-05-09 3 views
1

を経由してメッセージを介してSMSを送信するときに引数にはオブジェクト指定子がありません。引数にはオブジェクト指定子がありません。エラーを克服するためのよりエレガントな方法は、オブジェクト指定子が必要です。期待オブジェクト指定:これは エラーで</p> ​​ <p>を仕事に失敗したJXA

テキストは有効であり、nullではありません。電話は有効であり、ヌルではありません。 値をハードコードすると動作します。私は働いた「ダイナミック」ハードコーディングを試してみることにしました。

command = 'with (Application("Messages")) { send("' + text + '", {to: services["SMS"].buddies["' + phone + '"]}) } ;' ; 
    eval(command) ; 

これを克服するより洗練された方法がありますか? なぜevalは動作しますが、変数を持つコードは動作しませんか?

答えて

1

コードを細かく分割すると、私に役立ちます。

var text="foo" 
var phone="+14159999999" 
var Messages = Application('Messages') 
var service = Messages.services[0] 
var recipient = service.buddies.byName(phone, { 
    of: service 
}) 

Messages.send(text , { 
    to: recipient 
}) 
+0

回答を確認するときは、明らかにvar service = Messages.services ["SMS"]を使用しました。私がそれをやったやり方よりもはるかにクリーンです:-) –

関連する問題