You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AppleScript错误代码-1721含义及批量发短信脚本故障排查

AppleScript批量发iMessage报错"error "" number -1721"排查与解决

错误-1721本质是应用响应超时,结合你的场景,主要从以下几个方向排查解决:

常见原因及对应解决方法

1. CSV读取逻辑异常,导致后续调用出错

  • 核对列名匹配度:脚本中引用的列名必须和CSV里的Phone Number、Message完全一致,注意大小写、空格,不能写成phone number或PhoneNumber这类变体。
  • 验证CSV数据格式:确保电话号码是iMessage支持的格式(比如带国家码+8613xxxxxxxxx),无空行、多余逗号;消息内容避免未转义的引号等特殊字符,防止脚本解析失败。
  • 加调试代码确认读取结果:在脚本里添加日志输出,检查读取到的每一行数据是否正确:
    set csvFile to choose file with prompt "选择CSV文件" of type {"public.comma-separated-values-text"}
    set csvContent to read csvFile as «class utf8»
    set allLines to paragraphs of csvContent
    repeat with aLine in allLines
        if aLine is not equal to "" then
            log aLine -- 在脚本编辑器日志面板查看读取内容
        end if
    end repeat
    

2. iMessage应用响应异常

  • 强制重启Messages:彻底退出后台的Messages应用,重新打开后再运行脚本,后台挂起的应用可能出现响应卡顿。
  • 修正Messages调用语法:使用标准的iMessage调用格式,明确指定服务类型和目标联系人,避免简化写法导致的识别错误:
    tell application "Messages"
        set targetService to 1st service whose service type is iMessage
        set targetBuddy to buddy "+8613xxxxxxxxx" of targetService
        send "测试消息" to targetBuddy
    end tell
    

3. 系统权限限制

  • 检查自动化权限:打开「系统设置」→「隐私与安全性」→「自动化」,确保「脚本编辑器」有权限控制「Messages」应用。
  • 验证号码可发送性:手动在Messages里给CSV中的号码发一条测试消息,确认该号码能被识别为iMessage联系人,避免脚本调用时因号码无效触发超时。

4. 批量发送过载

  • 添加发送延迟:批量发送时,Messages短时间内处理过多请求会超时,在每条消息发送后增加1-2秒延迟:
    delay 1 -- 每条消息发送后等待1秒
    

内容的提问来源于stack exchange,提问作者user29548469

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 13:38:11