IPHONE_STEP_BY_STEP.md 5.0 KB

📱 iPhone Safari 详细操作步骤(必看!)

⚠️ 重要提示

WebSocket证书错误的根本原因: Safari需要先通过HTTPS页面访问来信任证书,然后WebSocket才能使用该证书。

解决方法: 必须先访问后端API文档页面 → 手动信任证书 → 再访问前端


🎯 正确的操作顺序(非常重要!)

步骤1:确认服务正在运行

在电脑上确认:

后端:

# 应该看到这一行
✅ 使用SSL证书启动
INFO:     Uvicorn running on https://0.0.0.0:8000

前端:

# 应该看到这一行
➜  Network: https://192.168.2.105:5173/

步骤2:iPhone先访问后端API(关键!)

⚠️ 这是最关键的一步!

在iPhone Safari地址栏输入(注意是8000端口):

https://192.168.2.105:8000/docs

步骤3:信任证书(详细操作)

3.1 看到红色警告页面

页面内容:

⚠️ 无法验证服务器身份

"192.168.2.105"的身份无法验证

不要点击"返回"!

3.2 点击"显示详细信息"

在警告信息下方,有个灰色小字链接:

显示详细信息

点击它!

3.3 出现更多信息

会显示:

你正在查看的网站可能不是"192.168.2.105"
建议:返回到安全连接

仍然不要返回!

3.4 点击蓝色链接"访问此网站"

在底部会有一个蓝色链接:

访问此网站

点击它!

3.5 再次确认

会再次提示确认,再点击一次:

访问此网站

3.6 成功!

如果页面加载成功,会看到:

  • 深色背景
  • 标题:FastAPI - Swagger UI
  • 很多API接口列表

这说明证书已被临时信任!✅

步骤4:保持后端页面打开

⚠️ 重要:

  • 不要关闭这个标签页
  • 不要刷新页面
  • 让它保持打开状态

Safari会记住这个证书的信任状态(在Safari打开期间)。

步骤5:新标签页访问前端

在Safari中:

  1. 点击底部的"标签页"按钮
  2. 点击"+"新建标签页
  3. 输入地址:

    https://192.168.2.105:5173
    

步骤6:验证成功

如果成功,你应该:

  • ✅ 看到Tolan应用界面
  • ✅ 没有任何证书警告
  • ✅ 可以点击录音按钮测试

验证WebSocket连接: 在Safari中启用开发者工具(需要电脑帮助)查看控制台,应该显示:

✅ 连接WebSocket: wss://192.168.2.105:8000/ws/realtime
✅ WebSocket连接成功

🔧 如果还是失败

检查1:确认后端在运行HTTPS

在iPhone Safari访问:

https://192.168.2.105:8000

应该看到:

{"message":"Tolan Voice Assistant API"}

如果无法访问,检查:

  • 电脑和手机是否在同一Wi-Fi
  • 后端是否正在运行
  • 防火墙是否允许8000端口

检查2:清除Safari缓存

  1. iPhone "设置" → "Safari"
  2. 往下滚动,点击"清除历史记录与网站数据"
  3. 点击"清除历史记录与数据"
  4. 重新从步骤2开始

检查3:尝试其他网络

如果是公司Wi-Fi,可能有网络限制。尝试:

  • 切换到手机热点
  • 使用家庭Wi-Fi

💡 备选方案:使用HTTP(临时)

如果HTTPS证书问题太麻烦,可以暂时使用HTTP:

在电脑上:

# 1. 删除证书(让服务自动切换为HTTP)
rm /Users/wuzilong/work/00code/Tolan/ssl/key.pem
rm /Users/wuzilong/work/00code/Tolan/ssl/cert.pem

# 2. 修改前端配置
cat > /Users/wuzilong/work/00code/Tolan/frontend/.env << 'ENVEOF'
# 使用HTTP(无证书)
VITE_WS_URL=ws://192.168.2.105:8000/ws/realtime
ENVEOF

# 3. 重启后端
cd /Users/wuzilong/work/00code/Tolan/backend
# Ctrl+C停止,然后
python main.py
# 应该看到:未找到SSL证书,使用HTTP启动

# 4. 重启前端
cd /Users/wuzilong/work/00code/Tolan/frontend
# Ctrl+C停止,然后
npm run dev

iPhone访问(注意是http):

http://192.168.2.105:5173

优点:

  • ✅ 没有证书警告
  • ✅ 立即可用

缺点:

  • ⚠️ 某些浏览器可能限制HTTP下的麦克风权限(但Safari通常允许)

📋 操作检查清单

使用方法A(临时信任)时,请确认:

  • 后端显示"使用SSL证书启动"
  • 前端显示"https://192.168.2.105:5173"
  • iPhone访问 https://192.168.2.105:8000/docs
  • 点击"显示详细信息"
  • 点击"访问此网站"(2次)
  • 看到FastAPI文档页面
  • 保持这个标签页打开
  • 新标签页访问前端:https://192.168.2.105:5173

🎯 立即尝试

方案1:继续使用HTTPS(推荐)

  1. iPhone Safari访问:https://192.168.2.105:8000/docs
  2. 按照上述"步骤3"操作
  3. 保持后端标签页打开
  4. 新标签页访问前端

方案2:暂时改用HTTP(最简单)

  1. 在电脑上删除证书:rm ssl/*.pem
  2. 修改 frontend/.env:VITE_WS_URL=ws://192.168.2.105:8000/ws/realtime
  3. 重启前后端
  4. iPhone访问:http://192.168.2.105:5173(http)

你想用哪个方案?🤔