Add update instructions and macOS task_for_pid troubleshooting to READMEs
This commit is contained in:
parent
6b36f92df6
commit
ab890dfac0
35
README.md
35
README.md
@ -39,6 +39,12 @@ npm install -g @canghe_ai/wechat-cli
|
|||||||
|
|
||||||
> Currently ships a **macOS arm64** binary. Other platforms can use the pip method below. PRs with additional platform binaries are welcome.
|
> Currently ships a **macOS arm64** binary. Other platforms can use the pip method below. PRs with additional platform binaries are welcome.
|
||||||
|
|
||||||
|
**Update to the latest version:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm update -g @canghe_ai/wechat-cli
|
||||||
|
```
|
||||||
|
|
||||||
### pip
|
### pip
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -103,6 +109,35 @@ If you're unsure which WeChat account is currently active, navigate to the data
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
#### macOS: `task_for_pid failed` Error
|
||||||
|
|
||||||
|
On some macOS systems, `init` may fail with `task_for_pid failed` even when running with `sudo`. This is due to macOS security restrictions on process memory access.
|
||||||
|
|
||||||
|
**WeChat CLI will automatically attempt to fix this** by re-signing WeChat with the required entitlement. Just follow the on-screen instructions:
|
||||||
|
|
||||||
|
1. The tool will re-sign WeChat automatically
|
||||||
|
2. Quit WeChat completely (not just minimize)
|
||||||
|
3. Reopen WeChat and log in
|
||||||
|
4. Run `sudo wechat-cli init` again
|
||||||
|
|
||||||
|
If auto re-signing fails, you can do it manually:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Quit WeChat first, then:
|
||||||
|
sudo codesign --force --sign - --entitlements /dev/stdin /Applications/WeChat.app <<'EOF'
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>com.apple.security.get-task-allow</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
|
> Note: If WeChat auto-updates, you may need to re-sign it again.
|
||||||
|
|
||||||
### Step 2 — Use It
|
### Step 2 — Use It
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
33
README_CN.md
33
README_CN.md
@ -39,6 +39,12 @@ npm install -g @canghe_ai/wechat-cli
|
|||||||
|
|
||||||
> 目前提供 **macOS arm64** 二进制。其他平台可使用下方 pip 安装。欢迎提交其他平台二进制 PR。
|
> 目前提供 **macOS arm64** 二进制。其他平台可使用下方 pip 安装。欢迎提交其他平台二进制 PR。
|
||||||
|
|
||||||
|
**更新到最新版本:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm update -g @canghe_ai/wechat-cli
|
||||||
|
```
|
||||||
|
|
||||||
### pip
|
### pip
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -101,7 +107,34 @@ wechat-cli init
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
#### macOS 遇到 `task_for_pid failed` 错误?
|
||||||
|
|
||||||
|
在某些 macOS 系统上,即使使用了 `sudo`,`init` 也可能报 `task_for_pid failed`。这是 macOS 的安全策略限制了进程内存访问。
|
||||||
|
|
||||||
|
**WeChat CLI 会自动尝试修复此问题**——对微信重新签名以获取必要权限。按提示操作即可:
|
||||||
|
|
||||||
|
1. 工具会自动对微信重新签名
|
||||||
|
2. 完全退出微信(不是最小化)
|
||||||
|
3. 重新打开微信并登录
|
||||||
|
4. 再次执行 `sudo wechat-cli init`
|
||||||
|
|
||||||
|
如果自动签名失败,可以手动执行:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 先退出微信,然后:
|
||||||
|
sudo codesign --force --sign - --entitlements /dev/stdin /Applications/WeChat.app <<'EOF'
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>com.apple.security.get-task-allow</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
|
> 注意:如果微信自动更新了,可能需要重新执行签名。
|
||||||
|
|
||||||
### 第二步 — 开始使用
|
### 第二步 — 开始使用
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user