# iPhone 快捷指令配置指南 本指南将帮助你在 iPhone 上设置快捷指令,自动将收到的短信转发到你的 Android 设备。 ## 前提条件 1. iPhone 上已安装"快捷指令"应用 2. SMS Forwarder 服务器已部署并运行 3. 已获取服务器的 API 密钥 ## 步骤 1: 创建快捷指令 1. 打开"快捷指令"应用 2. 点击右上角的"+"创建新快捷指令 3. 点击"添加操作" ## 步骤 2: 配置快捷指令动作 ### 2.1 获取短信内容 1. 搜索并添加"获取我的快捷指令"动作 2. 搜索并添加"文本"动作,用于获取短信内容 3. 在文本框中输入短信内容(这将在自动化中被替换) ### 2.2 发送 HTTP 请求 1. 搜索并添加"获取 URL 内容"动作 2. 配置如下: - **URL**: `http://your-server-ip:8000/notify` - **方法**: POST - **请求体**: JSON - **标头**: - `Content-Type`: `application/json` ### 2.3 配置请求体 在"获取 URL 内容"动作的请求体中,输入以下 JSON 格式: ```json { "api_key": "your-secret-api-key-here", "message": { "sender": "发送者号码或名称", "content": "短信内容", "timestamp": "2024-01-01T12:00:00" } } ``` **注意**: 实际使用时,你需要: - 将 `your-secret-api-key-here` 替换为你的实际 API 密钥 - 使用快捷指令的变量来动态获取发送者和内容 ## 步骤 3: 设置自动化 1. 在快捷指令应用中,点击底部的"自动化" 2. 点击右上角的"+"创建新自动化 3. 选择"收到信息时" 4. 配置触发条件: - 选择"任何人"或特定联系人 - 选择"立即运行" 5. 选择你刚创建的快捷指令 ## 步骤 4: 高级配置 ### 动态获取短信信息 为了动态获取短信的发送者和内容,你需要在快捷指令中: 1. 使用"获取输入内容"动作获取短信 2. 使用"获取短信详细信息"动作提取发送者和内容 3. 在 HTTP 请求中使用这些变量 ### 示例快捷指令流程 ``` 1. 获取输入内容 (短信) 2. 获取短信详细信息 - 发送者 → 变量: sender - 内容 → 变量: content 3. 文本 (JSON 请求体) { "api_key": "your-api-key", "message": { "sender": "[sender变量]", "content": "[content变量]", "timestamp": "[当前日期]" } } 4. 获取 URL 内容 - URL: http://your-server:8000/notify - 方法: POST - 请求体: 上面的文本 ``` ## 步骤 5: 测试 1. 保存快捷指令和自动化 2. 让朋友给你发送一条测试短信 3. 检查你的 Android 设备是否收到通知 4. 查看服务器日志确认请求是否成功 ## 故障排除 ### 常见问题 1. **通知没有发送** - 检查网络连接 - 确认服务器地址和端口正确 - 验证 API 密钥是否正确 2. **自动化没有触发** - 确认自动化已启用 - 检查触发条件设置 - 重启快捷指令应用 3. **HTTP 请求失败** - 检查 JSON 格式是否正确 - 确认 Content-Type 标头已设置 - 查看服务器日志获取详细错误信息 ### 调试技巧 1. 在快捷指令中添加"显示通知"动作来调试 2. 使用"获取 URL 内容"的响应来检查服务器返回 3. 查看服务器的 `/health` 端点确认服务正常 ## 安全建议 1. 使用强 API 密钥 2. 考虑使用 HTTPS(需要 SSL 证书) 3. 限制服务器的访问 IP 4. 定期更换 API 密钥 ## 进阶功能 ### 过滤特定短信 你可以在快捷指令中添加条件判断,只转发特定的短信: ``` 1. 获取短信内容 2. 如果 (内容包含"验证码"或发送者是"银行") 3. 执行 HTTP 请求 ``` ### 自定义通知格式 通过修改服务器配置文件中的模板,你可以自定义通知的显示格式。