教你如何愉快的调试 MN 插件

:warning::warning::warning: 警告:在开始正式操作前先做备份
:warning::warning::warning: 必做:备份一份 MarginNote 3.app 软件
:warning::warning::warning: 可选:备份数据

  1. 创建一个文件命名为 entitlements.xml,并复制以下内容
<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.cs.disable-library-validation</key>
  <true/>
  <key>com.apple.security.get-task-allow</key>
  <true/>
</dict>
</plist>
  1. 在终端进入第一步创建的文件所在的路径,输入指令进行重签:
codesign --entitlements ./entitlements.xml -f -s "-" --options runtime /Applications/MarginNote\ 3.app

由于 app 被重签,app 启动时会进入另一个容器,此时 app 的数据是空的,且 iCloud 会失效。这时不用担心,使用备份的 app 启动就会恢复正常。

  1. 重新导入 MN 插件,打开 Safari -> Preferences -> Advanced,勾选 Show Develop menu in menu bar

  2. 打开 Safari 菜单的 Develop -> iMac -> MarginNote 3 -> JSContext,现在可以愉快的调试插件了!

5 个赞

牛逼啊,终于能调试了。我试了一下,这个文件必须用 Xcode 创建 plist 文件才行,因为这是个二进制文件。

任意文本编辑器就可以创建,注意改后缀就好

一直没解决的问题大神解决了,:cow:

1 个赞

是不是已经用不了了?重签后,mn打开后左下角闪出一下marginnote3黑框,就退出了。

另外一提:文件的第一行

<xml version="1.0" encoding="UTF-8"?>

调整为:

<?xml version="1.0" encoding="UTF-8"?>

就可以执行codesign命令了。
以上出自2023年实践~

1 个赞

您好,我用楼主的原xml无法重签,照您的方法能重签了,但是却会黑屏闪退,请问您能帮忙测试下这个方法现在还可用吗?