{
  "version": "https://jsonfeed.org/version/1", 
  "title": "macOS", 
  "description": "The world\u2019s most advanced desktop operating system.", 
  "home_page_url": "https://www.v2ex.com/go/macos", 
  "feed_url": "https://www.v2ex.com/feed/macos.json", 
  "icon": "https://cdn.v2ex.com/navatar/b6d7/67d2/22_large.png?m=1649080598", 
  "favicon": "https://cdn.v2ex.com/navatar/b6d7/67d2/22_normal.png?m=1649080598", 
  "items": [
    {
      "author": {
        "url": "https://www.v2ex.com/member/0bit0", 
        "name": "0bit0", 
        "avatar": "https://cdn.v2ex.com/avatar/9f99/543f/632960_large.png?m=1686208241"
      }, 
      "url": "https://www.v2ex.com/t/1240322", 
      "title": "\u4f60\u7684 mac \u7528\u4e86\u591a\u5c11\u786c\u76d8\u7a7a\u95f4\uff1f", 
      "id": "https://www.v2ex.com/t/1240322", 
      "date_published": "2026-09-08T03:09:17+00:00", 
      "content_html": "<p>\u5360\u6bd4\u6700\u5927\u7684\u662f\u4ec0\u4e48\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/rockycc", 
        "name": "rockycc", 
        "avatar": "https://cdn.v2ex.com/gravatar/4063ccdabe29eb2ae8742ea36d198b3a?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1240280", 
      "title": "\u6211\u7684 Hammerspoon \u914d\u7f6e\uff08\u5e94\u7528\u79d2\u5207 + \u9f20\u6807\u8ddf\u5c4f + \u5feb\u6377\u952e\u901f\u67e5\uff09", 
      "id": "https://www.v2ex.com/t/1240280", 
      "date_published": "2026-09-08T01:56:24+00:00", 
      "content_html": "<h1>\u5207\u5230\u526f\u5c4f\uff0c\u9f20\u6807\u5374\u8fd8\u7559\u5728\u4e3b\u5c4f\uff1a\u6211\u7684 Hammerspoon \u914d\u7f6e\uff08\u5e94\u7528\u79d2\u5207 + \u9f20\u6807\u8ddf\u5c4f + \u5feb\u6377\u952e\u901f\u67e5\uff09</h1>\n<p>\u684c\u4e0a\u52a0\u4e86\u5757\u526f\u5c4f\u4e4b\u540e\uff0c\u6709\u4e2a\u5c0f\u6bdb\u75c5\u5929\u5929\u72af\u3002</p>\n<p>\u2318Tab \u5207\u5230\u526f\u5c4f\u7684 Chrome \uff0c\u7a97\u53e3\u662f\u4eae\u4e86\uff0c\u9f20\u6807\u8fd8\u5728\u4e3b\u5c4f\u5f85\u7740\u3002\u8fd9\u65f6\u5019\u624b\u4e00\u6eda\u6eda\u8f6e\uff0c\u6eda\u7684\u662f\u9f20\u6807\u5e95\u4e0b\u90a3\u4e2a iTerm \uff0c\u526f\u5c4f\u7684 Chrome \u4e00\u52a8\u4e0d\u52a8\u3002\u6123\u534a\u79d2\u53cd\u5e94\u8fc7\u6765\uff0c\u53bb\u6478\u9f20\u6807\uff0c\u7529\u8fc7\u53bb\uff0c\u518d\u6eda\u3002\u4e00\u5929\u51e0\u5341\u56de\u3002</p>\n<p>\u8fd9\u4e8b Raycast \u3001Rectangle \u90fd\u89e3\u51b3\u4e0d\u4e86\uff0c\u5b83\u4eec\u7ba1\u7a97\u53e3\uff0c\u4e0d\u7ba1\u9f20\u6807\u3002\u6700\u540e\u662f\u7528 Hammerspoon \u7f1d\u4e86\u6bb5\u903b\u8f91\uff1a\u6309\u5feb\u6377\u952e\u5207\u5e94\u7528\u7684\u65f6\u5019\uff0c\u9f20\u6807\u81ea\u5df1\u98de\u5230\u76ee\u6807\u7a97\u53e3\u4e2d\u95f4\u3002\u987a\u624b\u628a\u4e4b\u524d\u4e71\u4e03\u516b\u7cdf\u7684\u5e94\u7528\u5feb\u6377\u952e\u4e5f\u91cd\u6392\u4e86\u4e00\u904d\u3002</p>\n<p>\u4e4b\u524d\u5199\u8fc7\u4e00\u7bc7\u5165\u95e8\u914d\u7f6e\uff08<a href=\"https://ruby-china.org/topics/44401\" rel=\"nofollow\">\u628a Mac \u53d8\u6210\u952e\u76d8\u6d41\u795e\u5668</a>\uff09\uff0c\u8fd9\u7bc7\u662f\u7eed\u96c6\u3002\u5b8c\u6574\u914d\u7f6e\u653e\u5728\u6700\u540e\uff0c\u6539\u6539 <code>apps</code> \u8868\u5c31\u80fd\u7528\u3002</p>\n<p>\u6ca1\u88c5\u8fc7\u7684\u8bdd\uff1a<code>brew install --cask hammerspoon</code>\uff0c\u7136\u540e\u53bb\u7cfb\u7edf\u8bbe\u7f6e\u7684\u8f85\u52a9\u529f\u80fd\u91cc\u7ed9\u5b83\u6253\u52fe\uff0c\u914d\u7f6e\u6587\u4ef6\u662f <code>~/.hammerspoon/init.lua</code>\u3002</p>\n<h2>\u5148\u8bf4\u8bf4 Hammerspoon \u5230\u5e95\u80fd\u5e72\u4ec0\u4e48</h2>\n<p>\u5f88\u591a\u4eba\u4ee5\u4e3a\u5b83\u5c31\u662f\u4e2a\"\u914d\u5feb\u6377\u952e\u7684\u5de5\u5177\"\uff0c\u5176\u5b9e\u90a3\u53ea\u662f\u6700\u8868\u5c42\u7684\u7528\u6cd5\u3002\u5b83\u672c\u8d28\u662f<strong>\u628a macOS \u7684\u4e00\u5927\u5806\u7cfb\u7edf API \u5305\u6210\u4e86 Lua</strong>\uff0c\u4f60\u80fd\u62ff\u5230\u7684\u4e1c\u897f\u6bd4\u60f3\u8c61\u4e2d\u591a\u5f97\u591a\uff1a</p>\n<p>\u7a97\u53e3\u548c\u5c4f\u5e55\uff1a</p>\n<ul>\n<li><code>hs.window</code> \u79fb\u52a8\u3001\u7f29\u653e\u3001\u805a\u7126\u4efb\u610f\u7a97\u53e3\uff0c\u4e0d\u9650\u4e8e\u524d\u53f0</li>\n<li><code>hs.grid</code> \u628a\u5c4f\u5e55\u5207\u6210\u7f51\u683c\uff0c\u7a97\u53e3\u6309\u683c\u5b50\u5438\u9644</li>\n<li><code>hs.layout</code> \u4e00\u6b21\u6027\u628a\u591a\u4e2a\u5e94\u7528\u6446\u6210\u9884\u8bbe\u5e03\u5c40</li>\n<li><code>hs.screen</code> \u591a\u663e\u793a\u5668\u7684\u4f4d\u7f6e\u3001\u5206\u8fa8\u7387\uff0c\u751a\u81f3\u80fd\u8c03\u8272\u6e29\uff08\u5185\u7f6e\u591c\u89c8\uff09</li>\n<li><code>hs.spaces</code> \u63a7\u5236 macOS \u7684\"\u684c\u9762/\u7a7a\u95f4\"\u5207\u6362</li>\n</ul>\n<p>\u5e94\u7528\u548c\u8f93\u5165\uff1a</p>\n<ul>\n<li><code>hs.application</code> \u542f\u52a8\u3001\u805a\u7126\u3001\u67e5\u7a97\u53e3\uff0c\u8fd8\u80fd\u76f4\u63a5\u70b9\u5e94\u7528\u7684\u83dc\u5355\u9879\uff08\u80fd\u628a\u6ca1\u6709\u5feb\u6377\u952e\u7684\u83dc\u5355\u529f\u80fd\u7ed1\u4e0a\u952e\uff09</li>\n<li><code>hs.eventtap</code> \u62e6\u622a\u548c\u6539\u5199\u952e\u76d8\u9f20\u6807\u4e8b\u4ef6\uff0c\u952e\u4f4d\u91cd\u6620\u5c04\u3001\u9f20\u6807\u624b\u52bf\u90fd\u662f\u5728\u8fd9\u5c42\u505a</li>\n<li><code>hs.hotkey.modal</code> \u6a21\u6001\u5feb\u6377\u952e\uff0c\u6309\u4e00\u4e2a\u524d\u7f00\u952e\u8fdb\u5165\u4e00\u5c42\"\u5b50\u952e\u4f4d\"\uff0cVim \u90a3\u5957\u601d\u8def</li>\n<li><code>hs.pasteboard</code> \u8bfb\u5199\u526a\u8d34\u677f\uff0c\u505a\u526a\u8d34\u677f\u5386\u53f2\u3001\u81ea\u52a8\u53bb\u683c\u5f0f</li>\n</ul>\n<p>\u7cfb\u7edf\u72b6\u6001\u76d1\u542c\uff0c\u8fd9\u5757\u662f\u6211\u89c9\u5f97\u771f\u6b63\u62c9\u5f00\u5dee\u8ddd\u7684\u5730\u65b9\uff0c\u56e0\u4e3a\u5b83\u662f\u4e8b\u4ef6\u9a71\u52a8\uff0c\u4f60\u4e0d\u6309\u952e\u5b83\u4e5f\u5728\u66ff\u4f60\u5e72\u6d3b\uff1a</p>\n<ul>\n<li><code>hs.wifi.watcher</code> \u6362 WiFi \u65f6\u89e6\u53d1\u3002\u5230\u516c\u53f8\u81ea\u52a8\u9759\u97f3\u3001\u56de\u5bb6\u81ea\u52a8\u8fde\u84dd\u7259\u97f3\u7bb1</li>\n<li><code>hs.usb.watcher</code> \u63d2\u62d4 USB \u8bbe\u5907\u65f6\u89e6\u53d1\u3002\u63d2\u4e0a\u952e\u76d8\u81ea\u52a8\u5207\u8f93\u5165\u6cd5\u3001\u63d2\u4e0a\u786c\u76d8\u81ea\u52a8\u8dd1\u5907\u4efd</li>\n<li><code>hs.screen.watcher</code> \u63a5\u4e0a\u6216\u62d4\u6389\u5916\u63a5\u663e\u793a\u5668\u65f6\u89e6\u53d1\uff0c\u81ea\u52a8\u91cd\u6392\u7a97\u53e3\u5e03\u5c40</li>\n<li><code>hs.battery.watcher</code> \u7535\u91cf\u3001\u5145\u7535\u72b6\u6001\u53d8\u5316\u65f6\u89e6\u53d1</li>\n<li><code>hs.caffeinate</code> \u63a7\u5236\u4f11\u7720\u3001\u9501\u5c4f\uff0c\u4e5f\u80fd\u76d1\u542c\u7761\u7720/\u5524\u9192\u4e8b\u4ef6</li>\n<li><code>hs.pathwatcher</code> \u76ef\u7740\u67d0\u4e2a\u76ee\u5f55\uff0c\u6587\u4ef6\u4e00\u53d8\u5c31\u6267\u884c\u811a\u672c</li>\n<li><code>hs.audiodevice</code> \u97f3\u9891\u8bbe\u5907\u5207\u6362\u548c\u97f3\u91cf\u63a7\u5236</li>\n<li><code>hs.application.watcher</code> \u5e94\u7528\u542f\u52a8\u3001\u9000\u51fa\u3001\u5207\u5230\u524d\u53f0\u65f6\u89e6\u53d1</li>\n</ul>\n<p>\u754c\u9762\u8fd9\u5757\u4e5f\u4e0d\u7528\u81ea\u5df1\u5199\uff1a</p>\n<ul>\n<li><code>hs.chooser</code> \u4e00\u4e2a Alfred \u98ce\u683c\u7684\u641c\u7d22\u6846\uff0c\u6570\u636e\u4f60\u81ea\u5df1\u5582\uff0c\u505a\u4e2a\u4eba\u7248\u542f\u52a8\u5668\u5f88\u65b9\u4fbf</li>\n<li><code>hs.menubar</code> \u5f80\u83dc\u5355\u680f\u585e\u56fe\u6807\u548c\u83dc\u5355</li>\n<li><code>hs.alert</code> \u5c4f\u5e55\u4e2d\u592e\u7684\u534a\u900f\u660e\u63d0\u793a\uff0c\u6211\u7684\u901f\u67e5\u8868\u5c31\u662f\u5b83</li>\n<li><code>hs.notify</code> \u7cfb\u7edf\u901a\u77e5\u4e2d\u5fc3\u7684\u6b63\u7ecf\u901a\u77e5</li>\n<li><code>hs.drawing</code> / <code>hs.canvas</code> \u76f4\u63a5\u5f80\u5c4f\u5e55\u4e0a\u753b\u4e1c\u897f</li>\n</ul>\n<p>\u6700\u540e\u662f\"\u5b83\u5176\u5b9e\u662f\u4e2a\u5b8c\u6574\u8fd0\u884c\u65f6\"\u8fd9\u4e00\u9762\uff1a</p>\n<ul>\n<li><code>hs.task</code> \u540e\u53f0\u8dd1\u5916\u90e8\u547d\u4ee4\u5e76\u62ff\u5230\u8f93\u51fa\uff0c\u4e0d\u963b\u585e\u4e3b\u7ebf\u7a0b</li>\n<li><code>hs.http</code> \u53d1 HTTP \u8bf7\u6c42\uff0c\u914d <code>hs.json</code> \u76f4\u63a5\u5bf9\u63a5 API</li>\n<li><code>hs.osascript</code> \u6267\u884c AppleScript \uff0c\u591f\u4e0d\u5230\u7684\u5e94\u7528\u7528\u5b83\u515c\u5e95</li>\n<li><code>hs.urlevent</code> \u6ce8\u518c\u81ea\u5b9a\u4e49 URL scheme \uff0c\u547d\u4ee4\u884c\u6216\u522b\u7684\u5e94\u7528\u80fd\u53cd\u8fc7\u6765\u89e6\u53d1 Hammerspoon</li>\n<li><code>hs.timer.doAt</code> \u5b9a\u70b9\u6267\u884c\uff0c\u6bd4\u5982\u6bcf\u5929\u4e0b\u73ed\u65f6\u95f4\u5f39\u4e2a\u63d0\u9192</li>\n<li>\u8fd8\u6709 Spoon \u751f\u6001\uff08\u793e\u533a\u6253\u5305\u597d\u7684\u529f\u80fd\u6a21\u5757\uff09\uff0c\u4e0d\u60f3\u81ea\u5df1\u5199\u53ef\u4ee5\u76f4\u63a5\u88c5</li>\n</ul>\n<p>\u6240\u4ee5\u5b83\u8ddf Raycast \u90a3\u7c7b\u5de5\u5177\u4e0d\u662f\u4e00\u4e2a\u5c42\u9762\u7684\u4e1c\u897f\u3002Raycast \u7ed9\u4f60\u7684\u662f\u505a\u597d\u7684\u529f\u80fd\uff0cHammerspoon \u7ed9\u4f60\u7684\u662f\u4e00\u5806\u7cfb\u7edf\u80fd\u529b\u548c\u4e00\u4e2a Lua \u89e3\u91ca\u5668\uff0c\u7f3a\u4ec0\u4e48\u81ea\u5df1\u7f1d\u3002\u4ee3\u4ef7\u5f53\u7136\u662f\u4f60\u5f97\u5199\u4ee3\u7801\u3002</p>\n<p>\u4e0b\u9762\u662f\u6211\u5b9e\u9645\u5728\u7528\u7684\u90e8\u5206\u3002</p>\n<h2>\u5e94\u7528\u5207\u6362\uff1a\u2325 + \u9996\u5b57\u6bcd</h2>\n<p>\u6211\u539f\u6765\u7684\u952e\u4f4d\u662f\u60f3\u5230\u54ea\u7ed1\u5230\u54ea\uff1aiTerm \u662f \u2325T \u3001\u5343\u95ee \u2325E \u3001Qoder \u2325C \u3001\u98de\u4e66 \u2325Q \u3002\u770b\u7740\u633a\u5168\uff0c\u5b9e\u9645\u6bcf\u6b21\u6309\u4e4b\u524d\u90fd\u8981\u5728\u8111\u5b50\u91cc\u8fc7\u4e00\u904d\"\u8fd9\u4e2a\u662f\u54ea\u4e2a\u952e\u6765\u7740\"\u3002\u8981\u60f3\u4e00\u4e0b\u7684\u5feb\u6377\u952e\uff0c\u7b49\u4e8e\u6ca1\u6709\u3002</p>\n<p>\u540e\u6765\u5e72\u8106\u5b9a\u6b7b\u4e00\u6761\u89c4\u5219\uff1a\u2325 \u52a0\u5e94\u7528\u540d\u82f1\u6587\u9996\u5b57\u6bcd\uff0c\u4e0d\u8bb8\u6709\u4f8b\u5916\uff0c\u649e\u4e86\u624d\u53e6\u8bf4\u3002</p>\n<table>\n<thead>\n<tr>\n<th>\u952e</th>\n<th>\u5e94\u7528</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\u2325C</td>\n<td>Claude</td>\n</tr>\n<tr>\n<td>\u2325G</td>\n<td>Chrome</td>\n</tr>\n<tr>\n<td>\u2325S</td>\n<td>Safari</td>\n</tr>\n<tr>\n<td>\u2325I</td>\n<td>iTerm2</td>\n</tr>\n<tr>\n<td>\u2325D</td>\n<td>Qoder CN</td>\n</tr>\n<tr>\n<td>\u2325A</td>\n<td>Apifox</td>\n</tr>\n<tr>\n<td>\u2325Q</td>\n<td>\u5343\u95ee</td>\n</tr>\n<tr>\n<td>\u2325W</td>\n<td>\u5fae\u4fe1</td>\n</tr>\n<tr>\n<td>\u2325F</td>\n<td>Finder</td>\n</tr>\n<tr>\n<td>\u2325,</td>\n<td>\u7cfb\u7edf\u8bbe\u7f6e</td>\n</tr>\n<tr>\n<td>\u2325B</td>\n<td>DBeaver</td>\n</tr>\n<tr>\n<td>\u2325L</td>\n<td>\u98de\u4e66</td>\n</tr>\n</tbody></table><p>\u53ea\u649e\u4e86\u4e24\u56de\u3002Chrome \u548c Claude \u62a2 C \uff0cC \u7ed9\u4e86 Claude \uff0cChrome \u7528 Google \u7684 G \uff08\u53cd\u6b63\u539f\u6765\u4e5f\u662f\u8fd9\u4e48\u7ed1\u7684\uff09\uff1b\u5343\u95ee\u548c Qoder \u62a2 Q \uff0cQ \u7ed9\u5343\u95ee\uff0cQoder \u8d70 Dev \u7684 D \u3002\u7cfb\u7edf\u8bbe\u7f6e\u7528\u9017\u53f7\uff0c\u8ddf \u2318, \u662f\u4e00\u4e2a\u610f\u601d\u3002DBeaver \u7684 B \u662f dataBase \uff0c\u6709\u70b9\u7275\u5f3a\uff0c\u7528\u4e24\u5929\u4e5f\u5c31\u8bb0\u4f4f\u4e86\u3002</p>\n<p>\u952e\u4f4d\u672c\u8eab\u4e0d\u91cd\u8981\uff0c\u6709\u6761\u89c4\u5219\u624d\u91cd\u8981\uff0c\u88c5\u65b0\u5e94\u7528\u57fa\u672c\u4e0d\u7528\u60f3\u5f80\u54ea\u7ed1\u3002</p>\n<p>\u5b9e\u73b0\u6ca1\u6709\u4e00\u6761\u6761 bind \uff0c\u5199\u6210\u4e00\u5f20\u8868\u52a0\u4e00\u4e2a\u5faa\u73af\uff0c\u52a0\u5e94\u7528\u6539\u4e00\u884c\uff1a</p>\n<pre><code class=\"language-lua\">local apps = {\n  { key = \"c\", id = \"com.anthropic.claudefordesktop\", desc = \"Claude\" },\n  { key = \"g\", id = \"com.google.Chrome\",              desc = \"Chrome \uff08 Google \uff09\" },\n  -- ...\n}\n\nfor _, item in ipairs(apps) do\n  hs.hotkey.bind({\"option\"}, item.key, function()\n    focusApp(item.id)\n  end)\nend\n</code></pre>\n<p>\u8868\u91cc\u7528\u7684\u662f bundle ID \u4e0d\u662f\u5e94\u7528\u540d\u3002\u56e0\u4e3a\u663e\u793a\u540d\u8ddf <code>.app</code> \u6587\u4ef6\u540d\u7ecf\u5e38\u5bf9\u4e0d\u4e0a\uff0c<code>iTerm.app</code> \u663e\u793a\u540d\u53eb iTerm2 \u3001<code>LarkSuite.app</code> \u53eb Lark \u3001<code>DBeaver.app</code> \u53eb DBeaver Community \uff0c\u7528\u540d\u5b57\u5339\u914d\u4f1a\u67e5\u4e0d\u5230\u3002</p>\n<p>\u628a\u672c\u673a\u6240\u6709\u5e94\u7528\u7684\u540d\u5b57\u548c bundle ID \u4e00\u6b21\u6027\u5217\u51fa\u6765\uff0c\u7167\u7740\u6284\u5c31\u884c\uff1a</p>\n<pre><code class=\"language-bash\">for a in /Applications/*.app /System/Applications/*.app; do\n  id=$(defaults read \"$a/Contents/Info\" CFBundleIdentifier 2&gt;/dev/null)\n  [ -n \"$id\" ] &amp;&amp; printf '%-24s %s\\n' \"$(basename \"$a\" .app)\" \"$id\"\ndone | sort\n</code></pre>\n<p>\u8f93\u51fa\u957f\u8fd9\u6837\uff1a</p>\n<pre><code>Apifox                   cn.apifox.app\nClaude                   com.anthropic.claudefordesktop\nDBeaver                  org.jkiss.dbeaver.core.product\nGoogle Chrome            com.google.Chrome\nLarkSuite                com.larksuite.larkApp\n</code></pre>\n<p>\u4e0a\u9762\u5217\u7684\u662f <code>.app</code> \u6587\u4ef6\u540d\u3002\u60f3\u770b\u5e94\u7528\u771f\u6b63\u7684\u663e\u793a\u540d\uff0c\u5728 Hammerspoon \u63a7\u5236\u53f0\u91cc\u8dd1\u8fd9\u6bb5\uff0c\u5217\u51fa\u5f53\u524d\u8fd0\u884c\u4e2d\u7684\u5e94\u7528\uff1a</p>\n<pre><code class=\"language-lua\">for _, app in ipairs(hs.application.runningApplications()) do\n  print(app:name(), app:bundleID())\nend\n</code></pre>\n<h2>\u9f20\u6807\u8ddf\u968f</h2>\n<p>\u5f00\u5934\u8bf4\u7684\u90a3\u4e2a\u6bdb\u75c5\uff0c\u5c31\u9760\u8fd9\u6bb5\u6cbb\u3002\u8981\u5e72\u7684\u4e8b\u4e24\u4ef6\uff1a\u7b49\u5e94\u7528\u771f\u5230\u524d\u53f0\uff0c\u7136\u540e\u628a\u9f20\u6807\u632a\u5230\u5b83\u7a97\u53e3\u4e2d\u95f4\u3002</p>\n<pre><code class=\"language-lua\">local FOLLOW_ACROSS_SCREENS_ONLY = true  -- \u53ea\u5728\u8de8\u5c4f\u65f6\u79fb\u52a8\u9f20\u6807\nlocal FOCUS_WAIT = 1.5                   -- \u51b7\u542f\u52a8\u6700\u591a\u7b49\u8fd9\u4e48\u4e45\n\nlocal function centerMouseOn(win)\n  if not win then return end\n  local target = win:screen()\n  if not target then return end\n  if FOLLOW_ACROSS_SCREENS_ONLY then\n    local cur = hs.mouse.getCurrentScreen()\n    if cur and cur:id() == target:id() then return end\n  end\n  hs.mouse.absolutePosition(win:frame().center)\nend\n\nlocal function focusApp(bundleID)\n  hs.application.launchOrFocusByBundleID(bundleID)\n\n  local function targetWindow()\n    local app = hs.application.get(bundleID)\n    if app and app:isFrontmost() then\n      return app:focusedWindow() or app:mainWindow()\n    end\n  end\n\n  local win = targetWindow()   -- \u672c\u6765\u5c31\u5728\u524d\u53f0\uff0c\u7acb\u523b\u8ddf\n  if win then\n    centerMouseOn(win)\n    return\n  end\n\n  -- launchOrFocus \u662f\u5f02\u6b65\u7684\uff0c\u5f97\u7b49\u5e94\u7528\u771f\u5230\u524d\u53f0\u518d\u8bfb\u7a97\u53e3\uff0c\u4e0d\u7136\u62ff\u5230\u7684\u662f\u4f60\u5207\u6362\u4e4b\u524d\u90a3\u4e2a\n  local deadline = hs.timer.secondsSinceEpoch() + FOCUS_WAIT\n  hs.timer.waitUntil(\n    function()\n      return targetWindow() ~= nil or hs.timer.secondsSinceEpoch() &gt; deadline\n    end,\n    function()\n      centerMouseOn(targetWindow())\n    end,\n    0.05)\nend\n</code></pre>\n<p>\u4e24\u4e2a\u5730\u65b9\u662f\u8bd5\u51fa\u6765\u7684\u3002</p>\n<p>\u4e00\u4e2a\u662f\u843d\u70b9\u653e\u7a97\u53e3\u4e2d\u5fc3\uff0c\u4e0d\u662f\u5c4f\u5e55\u4e2d\u5fc3\u3002macOS \u6eda\u8f6e\u4f5c\u7528\u7684\u662f\u9f20\u6807\u5e95\u4e0b\u90a3\u4e2a\u7a97\u53e3\uff0c\u7a97\u53e3\u8981\u662f\u6ca1\u94fa\u6ee1\u5c4f\u5e55\uff0c\u9f20\u6807\u843d\u5728\u5c4f\u5e55\u4e2d\u5fc3\u53ef\u80fd\u538b\u6839\u4e0d\u5728\u7a97\u53e3\u4e0a\uff0c\u6eda\u8f6e\u7167\u6837\u4e0d\u542c\u8bdd\u3002</p>\n<p>\u53e6\u4e00\u4e2a\u662f <code>FOLLOW_ACROSS_SCREENS_ONLY</code>\u3002\u540c\u5c4f\u5207\u6765\u5207\u53bb\u7684\u65f6\u5019\u4e5f\u5438\u9f20\u6807\u4f1a\u5f88\u70e6\uff0c\u5149\u6807\u4e00\u76f4\u88ab\u62a2\u8d70\uff0c\u9f20\u6807\u672c\u6765\u6307\u7740\u7684\u4f4d\u7f6e\u5168\u6ca1\u4e86\u3002\u6240\u4ee5\u9ed8\u8ba4\u53ea\u5728\u8de8\u5c4f\u65f6\u624d\u52a8\uff0c\u60f3\u6bcf\u6b21\u90fd\u5438\u628a\u5b83\u6539\u6210 false \u3002</p>\n<h2>\u987a\u624b\u52a0\u7684\u51e0\u4e2a</h2>\n<ul>\n<li>\u2318\u2303 \u65b9\u5411\u952e\uff1a\u5f53\u524d\u7a97\u53e3\u8d34\u4e0a\u4e0b\u5de6\u53f3\u534a\u5c4f</li>\n<li>\u2318\u2303F\uff1a\u628a\u7a97\u53e3\u7529\u5230\u4e0b\u4e00\u5757\u5c4f\uff0c\u9f20\u6807\u8ddf\u7740\u8fc7\u53bb</li>\n<li>\u2318\u2303M\uff1a\u53ea\u628a\u9f20\u6807\u4e22\u5230\u4e0b\u4e00\u5757\u5c4f\u4e2d\u95f4\uff0c\u7a97\u53e3\u4e0d\u52a8</li>\n<li>\u2318\u2303/\uff1a\u5f39\u51fa\u901f\u67e5\u8868</li>\n<li>\u2318\u2303R\uff1a\u91cd\u8f7d\u914d\u7f6e</li>\n</ul>\n<p>\u2318\u2303M \u662f\u7eaf\u4e3a\u591a\u5c4f\u52a0\u7684\uff0c\u627e\u9f20\u6807\u771f\u7684\u6bd4\u60f3\u8c61\u4e2d\u8d39\u65f6\u95f4\u3002<code>screen:next()</code> \u4f1a\u7ed5\u56de\u7b2c\u4e00\u5757\uff0c\u53cc\u5c4f\u5c31\u662f\u6765\u56de\u5207\uff1a</p>\n<pre><code class=\"language-lua\">hs.hotkey.bind({\"cmd\", \"ctrl\"}, \"M\", function()\n  local screen = hs.mouse.getCurrentScreen() or hs.screen.mainScreen()\n  local target = screen:next()\n  hs.mouse.absolutePosition(target:frame().center)\n  hs.alert.show(\"\u9f20\u6807\u5df2\u79fb\u81f3 \" .. target:name(), 0.5)\nend)\n</code></pre>\n<p>\u901f\u67e5\u8868\u662f\u7ed9\u81ea\u5df1\u64e6\u5c41\u80a1\u7528\u7684\u3002\u914d\u5feb\u6377\u952e\u7684\u4eba\u5927\u6982\u90fd\u7ecf\u5386\u8fc7\uff1a\u914d\u4e86\u4e8c\u5341\u4e2a\uff0c\u771f\u6b63\u5e38\u7528\u4e09\u4e2a\uff0c\u5269\u4e0b\u7684\u5fd8\u5e72\u51c0\u3002\u2318\u2303/ \u6309\u4e0b\u53bb\u5c4f\u5e55\u4e2d\u95f4\u5217\u51fa\u5f53\u524d\u6240\u6709\u7ed1\u5b9a\uff0c\u56e0\u4e3a\u7ed1\u5b9a\u672c\u8eab\u5c31\u662f\u4e0a\u9762\u90a3\u5f20 <code>apps</code> \u8868\uff0c\u901f\u67e5\u8868\u662f\u5faa\u73af\u62fc\u51fa\u6765\u7684\uff0c\u52a0\u5e94\u7528\u4e0d\u7528\u4e24\u5934\u6539\u3002</p>\n<p>\u2318\u2303R \u7528 <code>pcall</code> \u5305\u4e00\u4e0b <code>hs.reload</code> \u4e5f\u5efa\u8bae\u52a0\uff0c\u8bed\u6cd5\u5199\u9519\u4e86\u4f1a\u76f4\u63a5\u5f39\u7a97\u544a\u8bc9\u4f60\u54ea\u884c\uff0c\u4e0d\u7136\u914d\u7f6e\u9759\u9ed8\u4e0d\u751f\u6548\uff0c\u80fd\u67e5\u534a\u5929\u3002</p>\n<h2>\u5b8c\u6574\u914d\u7f6e</h2>\n<pre><code class=\"language-lua\">-- \u5b89\u5168\u91cd\u8f7d\uff1a\u51fa\u9519\u65f6\u5f39\u7a97\u63d0\u793a\nhs.hotkey.bind({\"cmd\", \"ctrl\"}, \"R\", function()\n  local success, msg = pcall(hs.reload)\n  if not success then\n    hs.alert.show(\"\u274c \u914d\u7f6e\u9519\u8bef:\\n\" .. tostring(msg))\n  else\n    hs.alert.show(\"\u2705 \u914d\u7f6e\u5df2\u91cd\u8f7d\", 1)\n  end\nend)\n\n-- \u7a97\u53e3\u534a\u5c4f\nlocal function moveWindowTo(rect)\n  return function()\n    local win = hs.window.focusedWindow()\n    if win then win:move(rect, nil, true) end\n  end\nend\n\nhs.hotkey.bind({\"cmd\", \"ctrl\"}, \"Up\",    moveWindowTo(hs.geometry.rect(0, 0, 1, 0.5)))\nhs.hotkey.bind({\"cmd\", \"ctrl\"}, \"Down\",  moveWindowTo(hs.geometry.rect(0, 0.5, 1, 0.5)))\nhs.hotkey.bind({\"cmd\", \"ctrl\"}, \"Left\",  moveWindowTo(hs.geometry.rect(0, 0, 0.5, 1)))\nhs.hotkey.bind({\"cmd\", \"ctrl\"}, \"Right\", moveWindowTo(hs.geometry.rect(0.5, 0, 0.5, 1)))\n\n-- \u5c06\u7a97\u53e3\u79fb\u5230\u4e0b\u4e00\u663e\u793a\u5668\nhs.hotkey.bind({\"cmd\", \"ctrl\"}, \"F\", function()\n  local win = hs.window.focusedWindow()\n  if win then\n    win:moveToScreen(win:screen():next())\n    hs.mouse.absolutePosition(win:screen():frame().center)\n    hs.alert.show(\"\u7a97\u53e3\u5df2\u79fb\u81f3\u4e0b\u4e00\u5c4f\u5e55\", 1)\n  end\nend)\n\n-- \u5c06\u9f20\u6807\u79fb\u5230\u4e0b\u4e00\u663e\u793a\u5668\u4e2d\u592e\nhs.hotkey.bind({\"cmd\", \"ctrl\"}, \"M\", function()\n  local screen = hs.mouse.getCurrentScreen() or hs.screen.mainScreen()\n  local target = screen:next()\n  hs.mouse.absolutePosition(target:frame().center)\n  hs.alert.show(\"\u9f20\u6807\u5df2\u79fb\u81f3 \" .. target:name(), 0.5)\nend)\n\n-- \u5feb\u901f\u6253\u5f00 GitHub\nhs.hotkey.bind({\"cmd\", \"ctrl\"}, \"G\", function()\n  hs.urlevent.openURL(\"https://github.com\")\nend)\n\n-- ========== \u5e94\u7528\u5feb\u6377\u952e\uff1a\u2325 + \u540d\u5b57\u9996\u5b57\u6bcd ==========\n-- \u51b2\u7a81\u5904\u7406\uff1aChrome \u2192 G(oogle)\uff0cC \u8ba9\u7ed9 Claude \uff1b Qoder \u2192 D(ev)\uff0cQ \u8ba9\u7ed9\u5343\u95ee\n-- \u7528 bundle ID \u800c\u4e0d\u662f\u5e94\u7528\u540d\uff1a\u663e\u793a\u540d\u548c\u6587\u4ef6\u540d\u5e38\u5bf9\u4e0d\u4e0a\uff08 iTerm\u2192iTerm2 \u3001LarkSuite\u2192Lark \u3001DBeaver\u2192DBeaver Community \uff09\nlocal apps = {\n  { key = \"c\", id = \"com.anthropic.claudefordesktop\", desc = \"Claude\" },\n  { key = \"g\", id = \"com.google.Chrome\",              desc = \"Chrome \uff08 Google \uff09\" },\n  { key = \"s\", id = \"com.apple.Safari\",               desc = \"Safari\" },\n  { key = \"i\", id = \"com.googlecode.iterm2\",          desc = \"iTerm2\" },\n  { key = \"d\", id = \"com.aliyun.lingma.ide\",          desc = \"Qoder CN \uff08 Dev \uff09\" },\n  { key = \"a\", id = \"cn.apifox.app\",                  desc = \"Apifox\" },\n  { key = \"q\", id = \"com.alibaba.tongyi\",             desc = \"\u5343\u95ee Qianwen\" },\n  { key = \"w\", id = \"com.tencent.xinWeChat\",          desc = \"\u5fae\u4fe1 WeChat\" },\n  { key = \"f\", id = \"com.apple.finder\",               desc = \"Finder\" },\n  { key = \",\", id = \"com.apple.systempreferences\",    desc = \"\u7cfb\u7edf\u8bbe\u7f6e\" },\n  { key = \"b\", id = \"org.jkiss.dbeaver.core.product\", desc = \"DBeaver\" },\n  { key = \"l\", id = \"com.larksuite.larkApp\",          desc = \"\u98de\u4e66 Lark\" },\n}\n\n-- ---------- \u5207\u6362\u5e94\u7528\u65f6\u9f20\u6807\u8ddf\u968f\u5230\u76ee\u6807\u7a97\u53e3 ----------\nlocal FOLLOW_ACROSS_SCREENS_ONLY = true  -- true=\u53ea\u5728\u8de8\u5c4f\u65f6\u79fb\u52a8\uff1b false=\u6bcf\u6b21\u5207\u6362\u90fd\u628a\u9f20\u6807\u653e\u5230\u7a97\u53e3\u4e2d\u592e\nlocal FOCUS_WAIT = 1.5                   -- \u51b7\u542f\u52a8\u6700\u591a\u7b49\u5f85\u79d2\u6570\n\nlocal function centerMouseOn(win)\n  if not win then return end\n  local target = win:screen()\n  if not target then return end\n  if FOLLOW_ACROSS_SCREENS_ONLY then\n    local cur = hs.mouse.getCurrentScreen()\n    if cur and cur:id() == target:id() then return end\n  end\n  hs.mouse.absolutePosition(win:frame().center)\nend\n\nlocal function focusApp(bundleID)\n  hs.application.launchOrFocusByBundleID(bundleID)\n\n  -- \u76ee\u6807\u5e94\u7528\u771f\u5230\u524d\u53f0\u540e\u7684\u7a97\u53e3\uff0c\u6ca1\u5207\u8fc7\u53bb\u5c31\u8fd4\u56de nil\n  local function targetWindow()\n    local app = hs.application.get(bundleID)\n    if app and app:isFrontmost() then\n      return app:focusedWindow() or app:mainWindow()\n    end\n  end\n\n  local win = targetWindow()\n  if win then\n    centerMouseOn(win)\n    return\n  end\n\n  -- launchOrFocus \u662f\u5f02\u6b65\u7684\uff0c\u8f6e\u8be2\u7b49\u6fc0\u6d3b/\u51b7\u542f\u52a8\u5b8c\u6210\n  local deadline = hs.timer.secondsSinceEpoch() + FOCUS_WAIT\n  hs.timer.waitUntil(\n    function()\n      return targetWindow() ~= nil or hs.timer.secondsSinceEpoch() &gt; deadline\n    end,\n    function()\n      centerMouseOn(targetWindow())\n    end,\n    0.05)\nend\n\nfor _, item in ipairs(apps) do\n  hs.hotkey.bind({\"option\"}, item.key, function()\n    focusApp(item.id)\n  end)\nend\n\n-- \u2318\u2303/ \u901f\u67e5\u8868\uff0c\u5fd8\u4e86\u5c31\u6309\u5b83\nhs.hotkey.bind({\"cmd\", \"ctrl\"}, \"/\", function()\n  local lines = { \"\u2325 \u5207\u6362\u5e94\u7528\uff08\u9f20\u6807\u81ea\u52a8\u8ddf\u968f\uff09\" }\n  for _, item in ipairs(apps) do\n    table.insert(lines, \"\u2325 \" .. item.key .. \"  \u2192  \" .. item.desc)\n  end\n  table.insert(lines, \"\")\n  table.insert(lines, \"\u2318\u2303 \u2190\u2191\u2193\u2192  \u7a97\u53e3\u534a\u5c4f\")\n  table.insert(lines, \"\u2318\u2303 F  \u7a97\u53e3\u79fb\u5230\u4e0b\u4e00\u5c4f\")\n  table.insert(lines, \"\u2318\u2303 M  \u9f20\u6807\u79fb\u5230\u4e0b\u4e00\u5c4f\u4e2d\u592e\")\n  table.insert(lines, \"\u2318\u2303 G  \u6253\u5f00 GitHub\")\n  table.insert(lines, \"\u2318\u2303 R  \u91cd\u8f7d\u914d\u7f6e\")\n  hs.alert.closeAll()\n  hs.alert.show(table.concat(lines, \"\\n\"), 6)\nend)\n\nhs.alert.show(\"Hammerspoon \u5df2\u52a0\u8f7d\uff01\")\n</code></pre>\n<h2>\u6700\u540e</h2>\n<p>\u4e0a\u9762\u8fd9\u4e9b\u5176\u5b9e\u53ea\u7528\u5230\u4e86 Hammerspoon \u7684\u4e00\u5c0f\u90e8\u5206\uff0c\u57fa\u672c\u90fd\u8fd8\u662f\"\u6309\u952e\u89e6\u53d1\"\u8fd9\u4e00\u7c7b\u3002\u771f\u6b63\u6709\u610f\u601d\u7684\u662f\u90a3\u4e9b watcher \uff0c\u63a5\u663e\u793a\u5668\u3001\u63d2 USB \u3001\u6362 WiFi \u90fd\u80fd\u5f53\u89e6\u53d1\u6761\u4ef6\uff0c\u90a3\u90e8\u5206\u6211\u8fd8\u6ca1\u600e\u4e48\u52a8\u3002</p>\n<p>\u591a\u5c4f\u7684\u53ef\u4ee5\u8bd5\u8bd5\u9f20\u6807\u8ddf\u968f\u8fd9\u6bb5\uff0c\u6211\u4e2a\u4eba\u662f\u56de\u4e0d\u53bb\u4e86\u3002\u4e0d\u4f1a\u5199 Lua \u4ee3\u7801\u7684\uff0c\u590d\u5236\u8fd9\u7bc7\u6587\u7ae0\u7684\u94fe\u63a5\uff0c\u6254\u7ed9 AI \u53c2\u8003\u5e2e\u5199\u5c31\u884c\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/fly2never", 
        "name": "fly2never", 
        "avatar": "https://cdn.v2ex.com/avatar/a5bf/c9e0/37_large.png?m=1683258457"
      }, 
      "url": "https://www.v2ex.com/t/1240036", 
      "title": "\u600e\u4e48\u8ba9 iPhone USB \u63d2\u5165 Mac \u540e, Mac Finder \u80fd\u76f4\u63a5\u9009\u4e2d iPhone \u4e2d\u7684\u7167\u7247?", 
      "id": "https://www.v2ex.com/t/1240036", 
      "date_published": "2026-09-07T04:59:49+00:00", 
      "content_html": "<p>\u524d\u7f6e\u6761\u4ef6:\niPhone \u901a\u8fc7 USB \u63d2\u5165 Mac, \u80fd\u6210\u529f\u8bc6\u522b. </p>\n<p>\u9700\u6c42:\n\u6211\u80fd\u4ece Finder \u4e2d\u76f4\u63a5\u9009\u4e2d iPhone \u4e2d\u7684\u7167\u7247,\u89c6\u9891 , \u4ee5\u53ca on my iphone \u4e0a\u7684\u5404\u79cd\u6587\u4ef6</p>\n<p>\u73b0\u72b6:\n\u539f\u751f\u65b9\u6848\u4e0d\u884c, \u597d\u50cf\u501f\u52a9 iExplorer \u4e5f\u4e0d\u884c, \u5f88\u9ebb\u70e6</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/chaoming", 
        "name": "chaoming", 
        "avatar": "https://cdn.v2ex.com/gravatar/1cccd9557eb9e93dedc9b7e510b0ab6d?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1239947", 
      "title": "\u4e3a\u4ec0\u4e48\u6709\u9053\u4e91\u7b14\u8bb0\u5728 macos \u4e0a\u90a3\u4e48\u96be\u7528 \u800c\u4e14\u5f88\u4e45\u6ca1\u6709\u66f4\u65b0\u4e00\u6b21", 
      "id": "https://www.v2ex.com/t/1239947", 
      "date_published": "2026-09-07T02:12:37+00:00", 
      "content_html": "<p>\u5927\u5bb6\u6709\u6ca1\u6709\u4f7f\u7528\u6709\u9053\u4e91\u7b14\u8bb0\u7684\uff0c\u5728 macOS \u4e0a\u7279\u522b\u7684\u96be\u7528\uff0c\u800c\u4e14\u5403\u5185\u5b58\u589e\u52a0\u95ee\u9898\uff0c\u5927\u5bb6\u6709\u6ca1\u6709\u4f7f\u7528\u8fc7\uff0c\u5f00\u901a\u4e86\u6709\u9053\u4e91\u7b14\u8bb0\u7684\u5e74\u5ea6\u4f1a\u5458\uff0c\u4e0d\u7528\u5427\u53ef\u60dc\uff0c\u7528\u5427\u7535\u8111\u4e0a\u5361\u987f\uff0c\u771f\u7684\u662f\u670d\u4e86</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/lylehust", 
        "name": "lylehust", 
        "avatar": "https://cdn.v2ex.com/gravatar/f7b4e31b495931d53611c4ddb28e49c3?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1239897", 
      "title": "SMS Code Filler (Firefox Addon) in Mac", 
      "id": "https://www.v2ex.com/t/1239897", 
      "date_published": "2026-09-07T00:39:09+00:00", 
      "content_html": "<p>\u83b7\u53d6 message.app \u91cc\u7684\u7535\u8bdd\u9a8c\u8bc1\u7801\uff0c\u5e76\u81ea\u52a8\u586b\u5145\u5165\u9875\u9762\u76f8\u5e94\u7684\u4f4d\u7f6e\uff0c\u53ea\u9002\u7528\u4e8e Firefox \u3002macOS \u9700\u8981 Apple Silicon 11.0+ \u6216\u8005 Intel 10.15+\u3002</p>\n<p><a href=\"https://github.com/lylehust/sms-code-filler\" rel=\"nofollow\">https://github.com/lylehust/sms-code-filler</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/San2025", 
        "name": "San2025", 
        "avatar": "https://cdn.v2ex.com/gravatar/303ce62383ba74545f2a72bc17ffd611?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1239832", 
      "title": "Steam Link \u4e32\u6d41\u5230 Mac \u73a9 PUBG", 
      "id": "https://www.v2ex.com/t/1239832", 
      "date_published": "2026-09-06T10:06:18+00:00", 
      "content_html": "<p>\u76ee\u524d\u6709\u4e00\u72ec\u663e\u53f0\u5f0f\uff0c \u8fd8\u6709\u4e00\u53f0 MacBook Pro M4 Max</p>\n<p>\u4e3b\u8981\u5c31\u73a9 PUBG \u8fd9\u4e00\u4e2a\u6e38\u620f</p>\n<p>\u968f\u7740\u8d2d\u4e70\u5f3a\u52b2\u7684 Mac \u7535\u8111\uff0c \u5927\u90e8\u5206\u5de5\u4f5c\u6d41\u90fd\u8f6c\u79fb\u5230\u4e86 Mac \u4e0a\u9762\uff0c \u53f0\u5f0f\u673a\u5c31\u53d8\u6210\u4e86\u5355\u7eaf\u7684\u201c\u6e38\u620f\u673a\u201d\uff0c \u5b9e\u5728\u592a\u6d6a\u8d39</p>\n<p>\u6240\u4ee5\u60f3\u5728 Macbook Pro \u4e0a\u73a9 PUBG \uff0c \u641c\u7d22\u4e86\u51e0\u4e2a\u6708\u7f51\u4e0a\u6559\u7a0b\uff0c \u6ca1\u6709\u627e\u5230\u5b8c\u7f8e\u7684\u89e3\u51b3\u529e\u6cd5\uff0c \u65e0\u8bba\u662f\u865a\u62df\u673a\u8fd8\u662f CrossOver \uff0c \u90fd\u53d7\u9632\u4f5c\u5f0a\u5f71\u54cd\uff0c \u6253\u5f00\u5c31\u5c01\u53f7\u2026\u2026\n\u95ee\u4e86 AI \uff0c \u4e5f\u662f\u8fd9\u6837\u7684\u7b54\u6848</p>\n<p>\u6240\u4ee5\uff0c \u5bfb\u6c42\u672c\u5766\u5927\u4f6c\u4eec\u89e3\u60d1\uff0c \u6709\u76f4\u63a5\u5728 Mac \u4e0a\u73a9 PUBG \u7684 \u65b9\u6cd5\u5417\uff1f\n\u6ca1\u6709\u7684\u8bdd\uff0csteam link \u4e32\u6d41\uff0c \u90a3\u8d1f\u8f7d\u662f\u5728 win \u4e0a\u9762\u8fd8\u662f Mac \u4e0a\u9762\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/chen88ijn", 
        "name": "chen88ijn", 
        "avatar": "https://cdn.v2ex.com/avatar/f62e/56ae/614133_large.png?m=1715123904"
      }, 
      "url": "https://www.v2ex.com/t/1239822", 
      "title": "SalaryTicker \uff1a\u4e00\u4e2a\u72b6\u6001\u680f\u5c0f\u63d2\u4ef6\uff0c\u63d0\u4f9b\u642c\u7816\u65e5\u5e38\u7684\u6b63\u53cd\u9988", 
      "id": "https://www.v2ex.com/t/1239822", 
      "date_published": "2026-09-06T08:52:26+00:00", 
      "content_html": "<p>\u4e3a\u4e86\u7ed9\u6f2b\u957f\u7684\u642c\u7816\u65e5\u5e38\u5e26\u6765\u4e00\u70b9\u300c\u5373\u65f6\u6b63\u53cd\u9988\u300d\uff0c\u5229\u7528\u4e1a\u4f59\u65f6\u95f4\u5199\u4e86\u8fd9\u6b3e\u6781\u7b80\u7684 macOS \u72b6\u6001\u680f\u5e94\u7528 \u2014\u2014 <strong>SalaryTicker \uff08\u65f6\u85aa\uff09</strong>\uff0c\u662f\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4ece\u6765\u4e0d\u61c2\u5f00\u53d1\u7684\u4eba vibe \u7684 app</p>\n<p>\ud83d\udc49 <strong>Release DMG \u76f4\u63a5\u4e0b\u8f7d</strong>\uff1a <a href=\"https://github.com/chenxia31/Salary/raw/main/dist/SalaryTicker.dmg\" rel=\"nofollow\">https://github.com/chenxia31/Salary/raw/main/dist/SalaryTicker.dmg</a></p>\n<h2>\u4e0b\u5217\u63cf\u8ff0\u4e3a AI \u6574\u7406\uff1a</h2>\n<h3>\ud83d\udca1 \u6838\u5fc3\u505a\u6210\u4e86\u4ec0\u4e48\u6837\uff1f</h3>\n<ol>\n<li><strong>\u6bcf\u79d2\u90fd\u5728\u5165\u8d26\u7684\u72b6\u6001\u680f\u8df3\u52a8</strong>\n\u8f93\u5165\u6708\u85aa\u548c\u5de5\u4f5c\u6392\u73ed\uff0c\u72b6\u6001\u680f\u6bcf\u79d2\u5b9e\u65f6\u5237\u65b0\u5165\u8d26\u91d1\u989d\uff08\u4f8b\u5982 <code>+\u00a50.051/s \u00b7 \u00a5148.50</code>\uff09\u3002\u6570\u5b57\u7ecf\u8fc7 <code>.monospacedDigit()</code> \u4f18\u5316\uff0c\u9ad8\u9891\u8df3\u52a8\u65f6\u7edd\u5bf9\u5e73\u6ed1\u3001\u96f6\u5fae\u98a4\u6296\u52a8\u3002\u652f\u6301\u300c\u5b9e\u65f6\u5165\u8d26 / \u6bcf\u79d2\u6d41\u901f / \u7d27\u51d1\u91d1\u989d / \u9632\u7aa5\u7eaf\u56fe\u6807\u300d 4 \u79cd\u5f62\u6001\u3002</li>\n<li>\n<strong>\u6253\u5de5\u751f\u6d3b\u5c0f\u76ee\u6807\u8fbe\u6807\u52cb\u7ae0</strong>\n\u628a\u51b7\u51b0\u51b0\u7684\u6570\u5b57\u6362\u7b97\u6210\u751f\u6d3b\u91cc\u7684\u5c0f\u786e\u5e78\uff1a<ul>\n<li>\u2615 <code>\u00a528 \u51b0\u7f8e\u5f0f</code>\uff08\u4e0a\u5348 10:15 \u5df2\u8fbe\u6210\uff09</li>\n<li>\ud83c\udf71 <code>\u00a550 \u8c6a\u534e\u5de5\u4f5c\u9910</code>\uff08\u4e0a\u5348 11:30 \u5df2\u8fbe\u6210\uff09</li>\n<li>\ud83c\udfe0 <code>\u00a5120 \u4eca\u65e5\u4efd\u623f\u79df</code>\uff08\u4e0b\u5348 15:40 \u52aa\u529b\u4e2d...\uff09\n\u652f\u6301\u81ea\u7531\u6dfb\u52a0\u4fee\u6539\uff0c\u4eca\u65e5\u8d5a\u591f\u5373\u523b\u81ea\u52a8\u70b9\u4eae\u5361\u7247\uff0c\u6210\u5c31\u611f\u62c9\u6ee1\u3002</li>\n</ul>\n</li>\n<li><strong>\u4e09\u8054\u6d41\u901f\u770b\u677f &amp; \u7cbe\u786e\u4e0b\u73ed\u5012\u8ba1\u65f6</strong>\n\u70b9\u51fb\u72b6\u6001\u680f\u547c\u51fa Apple HIG \u78e8\u7802\u4e9a\u514b\u529b\u9762\u677f\uff08<code>.ultraThinMaterial</code>\uff09\uff0c\u6e05\u6670\u67e5\u770b\u79d2\u85aa\u3001\u5206\u85aa\u3001\u65f6\u85aa\u4e09\u8054\u5361\u7247\uff0c\u642d\u914d\u5f53\u5929\u5de5\u65f6\u8fdb\u5ea6\u6761\u548c\u7cbe\u786e\u5230\u79d2\u7684\u79bb\u4e0b\u73ed\u5269\u4f59\u65f6\u95f4\u3002</li>\n<li><strong>8 \u6b3e\u72b6\u6001\u680f\u56fe\u6807 &amp; 7 \u5927\u9ad8\u5b9a\u8272\u5f69</strong>\nmacOS \u539f\u751f\u72b6\u6001\u680f\u9ed8\u8ba4\u4f1a\u628a\u56fe\u6807\u8f6c\u4e3a\u5355\u8272\u6a21\u677f\uff08 Template \uff09\uff0c\u6211\u901a\u8fc7\u539f\u751f <code>NSImage</code> \u8c03\u8272\u677f\u6e32\u67d3\u7a81\u7834\u4e86\u8be5\u9650\u5236\uff0c\u652f\u6301\u6d41\u5149\u91d1\u3001\u7fe1\u7fe0\u7eff\u3001\u5929\u9645\u84dd\u3001\u73ca\u745a\u6696\u5149\u7b49\u5168\u5f69\u9ad8\u9971\u548c\u5448\u73b0\uff0c\u4e5f\u53ef\u4ee5\u9009\u6781\u7b80\u5355\u8272\u9002\u914d\u6df1\u6d45\u5916\u89c2\u3002</li>\n</ol>\n<hr/>\n<h3>\ud83d\udee0\ufe0f \u6280\u672f\u4e0e\u5b9e\u73b0\u7ec6\u8282\uff08\u7ed9 V \u53cb\u4eec\u4ea4\u5e95\uff09</h3>\n<ul>\n<li><strong>\u5168\u539f\u751f\u6280\u672f\u6808</strong>\uff1aSwift 6.0 \u4e25\u683c\u5e76\u53d1\uff08 Strict Concurrency \uff09+ SwiftUI + AppKit \u3002</li>\n<li><strong>\u7eaf\u51fd\u6570\u8ba1\u7b97\u5f15\u64ce</strong>\uff1a\u85aa\u8d44\u4e0e\u5de5\u4f5c\u65e5\u6362\u7b97\uff08\u652f\u6301\u6cd5\u5b9a\u5e73\u5747 21.75 \u5929\u3001\u5348\u4f11\u6263\u9664\u4e0e 24/7 \u81ea\u7531\u804c\u4e1a\u6d41\u901f\u6a21\u5f0f\uff09\u4e0e UI \u5f7b\u5e95\u89e3\u8026\uff0c\u6838\u5fc3\u8ba1\u7b97\u903b\u8f91\u914d\u5907\u4e86 12 \u9879\u4e25\u5bc6\u5355\u6d4b\u3002</li>\n<li><strong>\u96f6\u5916\u90e8\u7b2c\u4e09\u65b9\u4f9d\u8d56</strong>\uff1a\u6ca1\u6709 Electron \uff0c\u6ca1\u6709 WebView \uff0c\u6ca1\u6709\u5e9e\u5927\u7684\u4e09\u65b9 Pod \uff0c\u6253\u5305\u540e Universal \u67b6\u6784\u4e8c\u8fdb\u5236\u4ec5 2MB \u51fa\u5934\uff0c\u5e38\u9a7b\u5185\u5b58 &lt; 25MB \uff0c\u540e\u53f0 CPU \u5360\u7528 &lt; 0.1%\u3002</li>\n<li><strong>100% \u9690\u79c1\u5b89\u5168</strong>\uff1a\u96f6\u7f51\u7edc\u4e0a\u4f20\uff0c\u96f6\u7b2c\u4e09\u65b9\u7edf\u8ba1 SDK \uff0c\u6240\u6709\u6570\u636e\u7eaf\u672c\u5730\u5b58\u4fdd\u5b58\u5728\u7cfb\u7edf\u7684 UserDefaults \u91cc\u3002</li>\n<li><strong>\u5f00\u6e90 &amp; \u8ba2\u9605\u8bf4\u660e</strong>\uff1a\u4ee3\u7801\u5b8c\u5168\u5f00\u6e90\u3002\u9996\u6b21\u5b89\u88c5\u81ea\u5e26 30 \u5929\u5b8c\u6574\u65e0\u9650\u5236\u8bd5\u7528\uff1b\u540e\u7eed\u91c7\u7528 StoreKit 2 \u652f\u6301 \u00a51.99 \u6781\u8f7b\u91cf\u4e70\u65ad/\u89e3\u9501\uff08\u7ed9\u72ec\u7acb\u5f00\u53d1\u4e70\u9897\u7cd6\uff09\u3002\u4e5f\u6b22\u8fce\u60a8\u81ea\u5df1 vibe \u54c8\u54c8\u54c8\uff0c\u5e76\u4e0d\u56f0\u96be</li>\n</ul>\n<p>\u6b22\u8fce\u5404\u4f4d V \u53cb\u4e0b\u8f7d\u4f53\u9a8c\u3001\u63d0 Issue \u6216\u63d0 PR \uff01\u5982\u679c\u6709\u597d\u73a9\u7684\u6253\u5de5\u4eba\u529f\u80fd\u60f3\u6cd5\uff0c\u6b22\u8fce\u5728\u8bc4\u8bba\u533a\u4e00\u8d77\u4ea4\u6d41~</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Alliot", 
        "name": "Alliot", 
        "avatar": "https://cdn.v2ex.com/gravatar/1ac3c8127a8e32ad5caf31982f3488cf?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1239316", 
      "date_modified": "2026-09-03T12:46:43+00:00", 
      "content_html": "<p><img alt=\"aPaste-\u526a\u5207\u677f\u5de5\u5177\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://imgur.com/PMFSDshw\"/> <a href=\"https://imgur.com/PMFSDsh\" rel=\"nofollow\">Imgur</a></p>\n<p><a href=\"https://imgur.com/PMFSDsh\" rel=\"nofollow\">Imgur</a>\n\u4e09\u6708\u5728\u8fd9\u513f\u53d1\u8fc7\u4e00\u7248 aPaste\uff1a\u5f53\u65f6\u5c31\u662f\u81ea\u5df1 Paste \u8ba2\u9605\u8981\u5230\u671f\uff0c\u4e1a\u4f59\u7528 SwiftUI \u5199\u4e86\u4e2a\u9ad8\u4eff\u9762\u677f\u3002</p>\n<p>\u90a3\u5e16\u4e4b\u540e\u6211\u4e00\u76f4\u5728\u7528\u3001\u4e00\u76f4\u5728\u6539\uff0c\u73b0\u5728\u529f\u80fd\u548c\u5f53\u65f6\u76f8\u6bd4\u5df2\u7ecf\u6709\u4e86\u5f88\u5927\u7684\u8fdb\u6b65\u4e86\uff0c\u518d\u6765\u540c\u6b65\u4e00\u7248\u3002</p>\n<blockquote>\n<p>\u987a\u4fbf\u6413\u4e86\u4e2a\u5b98\u7f51\uff1a <a href=\"https://apaste.alliot.tech\" rel=\"nofollow\">https://apaste.alliot.tech</a></p>\n</blockquote>\n<p>\u8fd9\u6bb5\u65f6\u95f4\u589e\u5f3a\u7684\u529f\u80fd\uff1a  </p>\n<h3>\u641c\u7d22\u6bd4\u7ffb\u5386\u53f2\u91cd\u8981</h3>\n<p>\u53ef\u6309\u7c7b\u578b\u3001\u65e5\u671f\u3001\u6765\u6e90 App \u7b5b\u3002\u56fe\u7247\u5f00 OCR \u540e\uff0c\u56fe\u91cc\u7684\u5b57\u4e5f\u80fd\u641c\u5230\u3002</p>\n<p>\u4ee3\u7801\u7247\u6bb5\u3001\u56de\u590d\u6a21\u677f\u3001\u5730\u5740\u3001\u54c1\u724c\u8272\u653e\u8fdb\u5f69\u8272 Pinboard \uff0c\u2318\u2190 / \u2318\u2192 \u5207\u6362\u3002\n\u6e05\u5386\u53f2\u65f6 Pinboard \u4e0d\u4f1a\u88ab\u4e00\u8d77\u5e72\u6389\u3002</p>\n<h3>\u586b\u8868\u3001\u8fc1\u6570\u636e\u7528 Stack</h3>\n<p>\u2318\u21e7C \u8fde\u7eed\u6512\u51e0\u6761\uff0c\u518d\u6309\u987a\u5e8f\u4e00\u6761\u6761\u8d34\u51fa\u53bb\u3002\u6bd4\u6765\u56de \u2318C / \u2318V \u5c11\u5f88\u591a\u624b\u6296\u3002</p>\n<h3>\u652f\u6301\u89c4\u5219\u914d\u7f6e</h3>\n<p>\u53ef\u6309\u6765\u6e90 App \u3001\u6587\u672c\uff08\u652f\u6301\u6b63\u5219\uff09\u3001\u57df\u540d\u3001\u6269\u5c55\u540d\u3001\u4f53\u79ef\u81ea\u52a8\u5ffd\u7565\uff0c\u6216\u81ea\u52a8\u9489\u5230\u67d0\u4e2a Pinboard \u3002\n\u5e76\u4e14\u89c4\u5219\u80fd\u5148\u5bf9\u7740\u5df2\u6709\u5386\u53f2\u6d4b\u8bd5\u3002</p>\n<h3>\u540c\u6b65\u6309\u4f60\u7684\u65b9\u5f0f\uff0c\u4e0d\u6309\u6211\u7684\u670d\u52a1\u5668</h3>\n<p>\u6307\u5b9a\u4efb\u610f\u5171\u4eab\u6587\u4ef6\u5939\uff08 iCloud Drive / Dropbox / Syncthing \u90fd\u884c\uff09\u3002\naPaste \u53ea\u5f80\u6587\u4ef6\u5939\u5199\u5206\u7247\u8bb0\u5f55\uff0c\u4f20\u6587\u4ef6\u7684\u4e8b\u4ea4\u7ed9\u4f60\u5df2\u6709\u7684\u540c\u6b65\u5de5\u5177\u3002\n\u5982\u679c\u4f60\u9700\u8981\u7684\u8bdd\uff0c\u4f60\u751a\u81f3\u53ef\u4ee5\u5f00\u7aef\u5230\u7aef\u52a0\u5bc6\uff08\u53e3\u4ee4\u5728\u672c\u673a\uff0cPBKDF2 + ChaCha20-Poly1305 \uff09\u3002</p>\n<h3>\u7c98\u8d34\u524d\u5904\u7406</h3>\n<p>\u53f3\u952e 9 \u4e2a\u52a8\u4f5c\uff1a\n\u53bb\u7a7a\u767d\u3001\u5927\u5c0f\u5199\u3001\u538b\u6210\u4e00\u884c\u3001JSON \u7f8e\u5316/\u538b\u7f29\u3001\u53bb\u6389\u94fe\u63a5\u8ddf\u8e2a\u53c2\u6570\u3001\u590d\u5236\u6210 Markdown \u94fe\u63a5\u3001\u590d\u5236\u8bc6\u522b\u6587\u5b57\u3002</p>\n", 
      "date_published": "2026-09-03T12:43:55+00:00", 
      "title": "\u6839\u636e\u5927\u5bb6\u7684\u53cd\u9988 aPaste \u53c8\u8fed\u4ee3\u4e86\u4e00\u8f6e\uff1a\u672c\u5730\u4f18\u5148\u7684 macOS \u526a\u8d34\u677f\uff0c Pinboard + \u6587\u4ef6\u5939\u540c\u6b65", 
      "id": "https://www.v2ex.com/t/1239316"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/akorn", 
        "name": "akorn", 
        "avatar": "https://cdn.v2ex.com/gravatar/9e31d705069a2d33cf591803967e292e?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1239155", 
      "date_modified": "2026-09-03T03:37:22+00:00", 
      "content_html": "<p>\u65f6\u95f4\u662f\u4e0a\u4e2a\u6708\uff0cchat \u81ea\u52a8\u7ed9\u6211\u5347\u7ea7 codex \uff0c\u4e00\u5806\u63d0\u793a\u8bcd\u627e\u4e0d\u5230\u4e86\u3002\u4e00\u751f\u6c14\uff0c\u628a codex desktop \u5378\u8f7d\u4e86\uff0c\u60f3\u627e chatgpt classic \u88c5\u56de\u6765\u3002</p>\n<p>\u627e\u5230\u4e2a\u51b7\u95e8\u7f51\u7ad9\u6709\uff0c\u4f30\u8ba1\u88ab\u6302\u9a6c\u4e86\u3002\u5f53\u65f6\u8fd8\u662f\u641c\u7d22\u7ed3\u679c\u9996\u9875\uff0c\u4f30\u8ba1\u5f88\u591a\u4eba\u5728\u627e\u3002\u7f51\u7ad9\u4e00\u6253\u5f00\uff0c\u5f39\u51fa\u4e2a\u673a\u5668\u4eba\u9a8c\u8bc1\u7a97\u53e3\uff0c\u7c7b cloudflare \u90a3\u79cd\u3002\u6b63\u5e38 cloudflare \u7684\u9a8c\u8bc1\uff0c\u4e0d\u662f\u4e00\u4e2a check box \u70b9\u4e00\u4e0b\uff0c\u6216\u8005\u51e0\u5f20\u7167\u7247\u9009\u4e00\u9009\u3002\u5b83\u7684\u4e0d\u592a\u4e00\u6837\u3002\u8fd8\u662f\u4eff Cloudflare \u7684\u5f39\u7a97\uff0c\u4e00\u4e2a check box \u3002\u4f46\u662f\u8fd9\u4e2a\u9009\u9879\u6846\u76f4\u63a5\u70b9\u4e0d\u4e86\u3002\u9875\u9762\u63d0\u793a\u6709\u6761\u547d\u4ee4\uff0c\u8ba9\u53bb\u63a7\u5236\u53f0\u6267\u884c\u4e00\u4e0b\u3002\u5f53\u65f6\u8111\u5b50\u62bd\u7b4b\uff0c\u4e0d\u77e5\u9053\u600e\u4e48\u5c31\u6267\u884c\u4e86\u3002\u4e4b\u540e\u6846\u6846\u771f\u80fd\u70b9\u4e86\u3002</p>\n<p>\u6ca1\u4e00\u4f1a\u513f\uff0cMac \u5f39\u51fa\u4e00\u4e2a\u8ba9\u8f93\u5165\u5bc6\u7801\u7684\u7cfb\u7edf\u6846\u3002\u6211\u5c31\u77e5\u9053\u5b8c\u86cb\u4e86\u3002\u7ed9\u88c5\u4e86\u4e00\u5806\u5b88\u62a4\u8fdb\u7a0b\u3002\u5f53\u65f6\u5c31\u628a\u7f51\u7ebf\u91cd\u88c5\u7535\u8111\u4e86\u3002\n\u540e\u6765\u89e3\u6790\u4e86\u4e0b\u547d\u4ee4\uff0c\u53d1\u73b0 Mac \u5f39\u7a97\u90fd\u662f\u5047\u7684\u3002\u90a3\u4e2a\u5f39\u7a97\u662f\u811a\u672c\u81ea\u5df1\u505a\u7684\uff0c\u7528\u6765\u9a97 root \u5bc6\u7801\u7684\u3002</p>\n<p>\u518d\u8865\u5145\u4e2a\u7ec6\u8282\u3002\u7f51\u7ad9\u7ed9\u7684\u662f homebrew \u7684\u547d\u4ee4\uff0c\u6211\u8fd8\u9a8c\u8bc1\u4e86\u4e0b\uff0c\u5b83\u7ed9\u7684\u6e90\u5730\u5740\u662f\u771f\u7684\u3002\u800c\u4e14 Mac \u5f39\u7a97\u662f\u5728\u66f4\u65b0 homebrew \u6e90\u7684\u65f6\u5019\u5f39\u7684\u3002\u6211\u6ca1\u7acb\u523b\u8f93\u5165\u5bc6\u7801\uff0c\u770b\u89c1 brew \u7684\u4ee3\u7801\u8fd8\u5728\u8dd1\u3002\u6211\u5c31\u77e5\u9053\u4e0a\u6863\u4e86\u3002</p>\n<p>\u73b0\u5728\u9a97\u672f\u771f\u662f\uff0c\u9632\u4e0d\u80dc\u9632\u3002\u8fd8\u6709\u5c31\u662f\u5e73\u65f6\u4e00\u5b9a\u5fc3\u5e73\u6c14\u548c\uff0c\u5343\u4e07\u522b\u751f\u6c14\u3002</p>\n", 
      "date_published": "2026-09-03T03:31:42+00:00", 
      "title": "\u8bb0\u4e00\u6b21 Mac \u7535\u8111\u4e2d\u62db", 
      "id": "https://www.v2ex.com/t/1239155"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/vomai", 
        "name": "vomai", 
        "avatar": "https://cdn.v2ex.com/avatar/71aa/9d7b/221039_large.png?m=1788349687"
      }, 
      "url": "https://www.v2ex.com/t/1239019", 
      "title": "\u6709\u4eba\u77e5\u9053\u8fd9\u56fe\u7247\u91cc\u7684\u8f6f\u4ef6\u540d\u5b57\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/1239019", 
      "date_published": "2026-09-02T11:48:25+00:00", 
      "content_html": "\u6709\u4eba\u77e5\u9053\u56fe\u7247\u91cc\u4ece\u5de6\u5230\u53f3\uff0c\u7b2c\u4e00\u4e2a\uff0c\u7b2c\u56db\u4e2a\uff0c\u548c\u6700\u540e\u4e00\u4e2a\u7684\u8f6f\u4ef6\u540d\u5b57\u5417\uff1f<br /><a target=\"_blank\" href=\"https://i.imgur.com/jWIRfhE.png\" rel=\"nofollow noopener\" target=\"_blank\"><img src=\"https://i.imgur.com/jWIRfhE.png\" class=\"embedded_image\" rel=\"noreferrer\"></a><br />\u5404\u4f4d\u5927\u795e"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/kingslayer", 
        "name": "kingslayer", 
        "avatar": "https://cdn.v2ex.com/avatar/22e6/5399/428444_large.png?m=1788349316"
      }, 
      "url": "https://www.v2ex.com/t/1239018", 
      "title": "\u7ed9 MAC \u7684\u5907\u5fd8\u5f55\u505a\u4e86\u4e2a\u663e\u793a\u5b57\u6570\u7684\u72b6\u6001\u680f\u5c0f\u8f6f\u4ef6", 
      "id": "https://www.v2ex.com/t/1239018", 
      "date_published": "2026-09-02T11:43:21+00:00", 
      "content_html": "\u7ecf\u5e38\u5728 MAC \u4e0a\u4f7f\u7528\u5907\u5fd8\u5f55\u5199\u7a3f\u3002\u4e00\u76f4\u82e6\u4e8e\u6ca1\u6709\u5b57\u6570\u663e\u793a\uff0c\u5728\u67d0\u4e9b\u8bb2\u7a76\u5b57\u6570\u7684\u65f6\u5019\u5f88\u96be\u53d7\uff0c\u4e8e\u662f\u81ea\u5df1\u7528 CodeX \u505a\u4e86\u4e2a\u3002<br /><a target=\"_blank\" href=\"https://github.com/gs666/WordCountNotebook\" rel=\"nofollow noopener\">https://github.com/gs666/WordCountNotebook</a><br />\u4e00\u4e2a\u53ea\u9a7b\u7559\u5728 macOS \u83dc\u5355\u680f\u7684\u5c0f\u5de5\u5177\u3002\u5f53 Apple\u201c\u5907\u5fd8\u5f55\u201d\u4f4d\u4e8e\u524d\u53f0\u65f6\uff0c\u5b83\u4f1a\u8bfb\u53d6\u5f53\u524d\u7b14\u8bb0\uff0c\u5e76\u5728\u83dc\u5355\u680f\u663e\u793a\u5b57\u6570\uff1b\u4f7f\u7528\u9f20\u6807\u6216\u952e\u76d8\u9009\u4e2d\u6587\u5b57\u65f6\uff0c\u4f1a\u6539\u4e3a\u663e\u793a\u9009\u4e2d\u533a\u57df\u7684\u5b57\u6570\uff0c\u53d6\u6d88\u9009\u62e9\u540e\u81ea\u52a8\u6062\u590d\u5168\u6587\u5b57\u6570\u3002\u5207\u6362\u5230\u5176\u4ed6\u5e94\u7528\u540e\u4f1a\u7acb\u5373\u505c\u6b62\u8ba1\u65f6\u5668\u548c\u5185\u5bb9\u8bfb\u53d6\uff0c\u53ea\u76d1\u542c\u7cfb\u7edf\u7684\u524d\u53f0\u5e94\u7528\u5207\u6362\u901a\u77e5\u3002<br /><br />\u6784\u5efa<br />./scripts/<a target=\"_blank\" href=\"http://build-app.sh\" rel=\"nofollow noopener\">build-app.sh</a><br />\u6784\u5efa\u4ea7\u7269\u4f4d\u4e8e dist/<a target=\"_blank\" href=\"http://\u5907\u5fd8\u5f55\u5b57\u6570.app\" rel=\"nofollow noopener\">\u5907\u5fd8\u5f55\u5b57\u6570.app</a> \uff0c\u53ef\u53d1\u9001\u7ed9\u5176\u4ed6 M \u82af\u7247 Mac \u7528\u6237\u7684\u538b\u7f29\u5305\u4f4d\u4e8e dist/\u5907\u5fd8\u5f55\u5b57\u6570-v1.2.0-macOS-arm64.zip \u3002\u5e94\u7528\u6700\u4f4e\u652f\u6301 macOS 11.0 \u3002<br /><br />\u63a5\u6536\u65b9\u89e3\u538b\u540e\uff0c\u5c06\u5e94\u7528\u62d6\u5165\u201c\u5e94\u7528\u7a0b\u5e8f\u201d\u3002\u9996\u6b21\u8fd0\u884c\u82e5\u88ab\u7cfb\u7edf\u62e6\u622a\uff0c\u5148\u5c1d\u8bd5\u6253\u5f00\u4e00\u6b21\uff0c\u518d\u524d\u5f80\u201c\u7cfb\u7edf\u8bbe\u7f6e \u2192 \u9690\u79c1\u4e0e\u5b89\u5168\u6027\u201d\u9009\u62e9\u201c\u4ecd\u8981\u6253\u5f00\u201d\u3002\u542f\u52a8\u540e\u6309\u63d0\u793a\u5728\u201c\u8f85\u52a9\u529f\u80fd\u201d\u4e2d\u6388\u6743\u3002<br /><br />\u8ba1\u6570\u89c4\u5219<br />\u6bcf\u4e2a\u4e2d\u65e5\u97e9\u8868\u610f\u6587\u5b57\u8ba1\u4e3a\u4e00\u4e2a\u5b57\uff1b<br />\u8fde\u7eed\u7684\u82f1\u6587\u3001\u6570\u5b57\u53ca\u5176\u5185\u90e8\u7684\u6487\u53f7\u6216\u8fde\u5b57\u7b26\u8ba1\u4e3a\u4e00\u4e2a\u8bcd\uff1b<br />\u6807\u70b9\u548c\u7a7a\u767d\u4e0d\u8ba1\u5165\u5b57\u6570\uff1b<br />\u5b57\u7b26\u6570\u4e0d\u5305\u542b\u7a7a\u767d\u3002<br />\u5e94\u7528\u53ea\u901a\u8fc7 macOS \u8f85\u52a9\u529f\u80fd\u63a5\u53e3\u5728\u672c\u673a\u8bfb\u53d6\u5f53\u524d\u7a97\u53e3\uff0c\u4e0d\u8054\u7f51\uff0c\u4e5f\u4e0d\u4f1a\u4fee\u6539\u7b14\u8bb0\u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/omz", 
        "name": "omz", 
        "avatar": "https://cdn.v2ex.com/gravatar/cf088dd4af96fb317a7c820cd3064a62?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1239007", 
      "date_modified": "2026-09-02T10:19:37+00:00", 
      "content_html": "\u6709\u70b9\u50cf\u8ba2\u9605\u5236\uff0c\u6bcf\u5e74\u6536\u6211 130 \u5143\uff0c\u8001\u5916\u7684\u8f6f\u4ef6\u597d\u7528\u4f46\u771f\u662f\u8d35\u3002<br />\u5c1d\u8bd5\u51e0\u4e2a\u56fd\u5185\u5f00\u53d1\u7684\u622a\u56fe\u8f6f\u4ef6\uff0c\u4f53\u9a8c\u90fd\u4e0d\u548b\u5730\u3002<br /><br />\u6211\u7684\u662f\u652f\u6301 2 \u53f0 Mac \uff0c\u5982\u679c\u6709\u8001\u54e5\u60f3\u548c\u6211\u4e00\u8d77\u5206\u62c5\u4e0b\uff0c\u53ef\u4ee5\u7559\u4e2a\u8054\u7cfb\u65b9\u5f0f\uff0c\u4ef7\u683c 65 \uff08\u4ee5\u540e\u662f\u5426\u5347\u7ea7\u518d\u5546\u91cf\uff09<br /><a target=\"_blank\" href=\"https://i.imgur.com/234nj9a.png\" rel=\"nofollow noopener\" target=\"_blank\"><img src=\"https://i.imgur.com/234nj9a.png\" class=\"embedded_image\" rel=\"noreferrer\"></a>", 
      "date_published": "2026-09-02T10:16:56+00:00", 
      "title": "Mac \u4e0a\u77e5\u540d\u622a\u56fe\u8f6f\u4ef6 CleanShot X \u4ed8\u8d39\u5347\u7ea7\u6709\u6548\u671f\u624d\u4e00\u5e74\uff1f\uff01", 
      "id": "https://www.v2ex.com/t/1239007"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/4zp8oaahntzvhd", 
        "name": "4zp8oaahntzvhd", 
        "avatar": "https://cdn.v2ex.com/gravatar/cc332adb414ec7274a0a7e13dd4253f9?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1238809", 
      "title": "\u53d1\u73b0 aria2c \u7684\u670d\u52a1\u7aef\u5dee\u4e0d\u591a\u5c31\u80fd\u5bf9\u4ed8\u51d1\u5408\u66ff\u6362 NDM NeatDownloadManager \u554a\u662f\u4e0d\u662f\uff1f", 
      "id": "https://www.v2ex.com/t/1238809", 
      "date_published": "2026-09-02T00:51:28+00:00", 
      "content_html": "NDM \u597d\u4e9b\u5e74\u6ca1\u66f4\u4e86\uff0c\u5e76\u4e14\u5b83\u4e5f\u662f\u82f1\u7279\u5c14 X86 \u7684\u6838\u5fc3\uff0c\u5728 arm \u7684 Mac \u4e4b\u4e0b\uff0c\u9700\u8981\u8f6c\u8bd1\u3002<br />\u6700\u8fd1\u4e5f\u4e00\u76f4\u5728\u51d1\u5408\u7740\u7528\uff0c\u4f46\u662f\u6700\u8fd1\u53d1\u73b0\u4ed6\u5728\u8bbf\u95ee\u67d0\u4e9b\u7f51\u7ad9\u7684\u65f6\u5019\uff0c\u75af\u72c2\u5730\u5728\u4e0b\u8f7d\u70b9 DAT \uff0c\u5e76\u4e14\u8fd8\u5f39\u7a97\uff0c\u53d7\u4e0d\u4e86\u4e86<br /><br />\u597d\u5728\u73b0\u5728\u6709 AI \u4e5f\u65b9\u4fbf\u4e86\uff0c\u5f53\u7136\u4e5f\u53ef\u4ee5\u7528 AI \u6765\u9b54\u6539\u4e00\u4e0b\u5b83\u7684\u76f8\u5173\u4e1c\u897f\uff0c\u4f46\u662f\u6ca1\u60f3\u5230\u95ee\u4e86\u4e00\u4e0b\uff0cAI \u6709\u8fd9\u79cd\u53ef\u66ff\u4ee3\u6027\u7684<br /><br />\u50cf aria2c \u8fd9\u79cd\u4e1c\u897f\uff0c\u53ea\u8981\u4e00\u4e2a\u670d\u52a1\u7aef\u5c31\u53ef\u4ee5\uff0c\u5e73\u65f6\u5185\u5b58\u770b\u89c1\u53ea\u6709 7MB \u5360\u7528.\u7136\u540e\u4e0b\u4e86\u4e00\u4e2a Chrome \u7684\u6269\u5c55\uff0c\u7b97\u662f\u5b83\u7684\u524d\u53f0\u754c\u9762\u4e86\u3002\u4e00\u8fde\u63a5\u4e0a\uff0c\u524d\u7aef\u548c\u540e\u7aef\u90fd\u89e3\u51b3\u4e86.<br /><br />\u518d\u627e NDM \u7684\u9014\u4e2d,\u770b\u89c1\u4e86\u5404\u79cd\u5927\u795e\u5f00\u53d1\u7684\u4e1c\u897f\uff0c\u6709 ghost downloader, \u597d\u50cf\u8fd8\u6709\u4e00\u4e9b\u4e2a\u522b\u7684,\u6211\u4e5f\u5fd8\u4e86\uff0c\u8fd8\u6709 electron \u6838\u5fc3\u7684 aria2c \u754c\u9762\u7684 APP,\u4e0d\u8fc7\u90a3\u73a9\u610f\u513f\uff0c\u6211\u4e00\u770b\u5185\u5b58\u5360\u7528\uff0c\u597d\u5bb6\u4f19\uff0c\u4e5f\u662f\u51e0\u5341\u5230\u51e0\u767e\u3002<br /><br />\u4e5f\u4e0d\u662f\u820d\u4e0d\u5f97\u90a3\u70b9\u513f\u5185\u5b58\u4e86\uff0c\u4e3b\u8981\u662f\u770b\u89c1\u4e86\uff0c\u8fc7\u6765\u778e\u626f\u804a\u804a\u3002\u76ee\u524d\u8fd9\u6837\u7528\uff0c\u611f\u89c9\u8fd8\u51d1\u5408\u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hehebo", 
        "name": "hehebo", 
        "avatar": "https://cdn.v2ex.com/gravatar/0bd073db2de2a3b5ef07198f06f56bbd?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1238655", 
      "title": "\u5f00\u53d1\u673a\uff0c i7-127k \u548c M4 \u600e\u4e48\u9009", 
      "id": "https://www.v2ex.com/t/1238655", 
      "date_published": "2026-09-01T06:06:47+00:00", 
      "content_html": "<p>\u516c\u53f8\u63d0\u4f9b\u7684\u673a\u5668\u3002\nI7 \u5f00\u53d1\u673a\uff1aI7-12700k \uff0c32 \uff0c\u6838\u663e\nMac \u5f00\u53d1\u673a\uff1aM4 \uff0c24 \uff0c500G</p>\n<p>\u662f\u6027\u80fd\u5dee\u8ddd\u4e0d\u5927\u5bf9\u5417</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/roanokeyehia", 
        "name": "roanokeyehia", 
        "avatar": "https://cdn.v2ex.com/gravatar/dcf7b567d4ec66993d485bc34f824141?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1238647", 
      "title": "Stash for Mac \u600e\u4e48\u6837?", 
      "id": "https://www.v2ex.com/t/1238647", 
      "date_published": "2026-09-01T05:30:07+00:00", 
      "content_html": "\u8bdd\u8bf4 Stash for Mac \u600e\u4e48\u5356\u8fd9\u4e48\u8d35, \u4e0e Clash \u7cfb\u76f8\u6bd4\u6709\u4ec0\u4e48\u72ec\u7279\u7684\u4f18\u52bf\u4e4b\u5904\u5417?"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/celo", 
        "name": "celo", 
        "avatar": "https://cdn.v2ex.com/avatar/9616/e024/533736_large.png?m=1727250781"
      }, 
      "url": "https://www.v2ex.com/t/1238348", 
      "title": "\u5728 mac \u4e0a\u521b\u5efa\u4e86\u4e00\u4e2a\u9690\u79c1 dmg \u91cc\u9762\u5b58\u4e86\u4e00\u4e9b\u91cd\u8981\u7684\u4e1c\u897f\u4f46\u662f\u5bc6\u7801\u5fd8\u4e86\u600e\u4e48\u529e", 
      "id": "https://www.v2ex.com/t/1238348", 
      "date_published": "2026-08-31T03:36:30+00:00", 
      "content_html": "\u5982\u9898\uff1a<br />\u5728 mac \u4e0a\u521b\u5efa\u4e86\u4e00\u4e2a\u9690\u79c1 dmg \u91cc\u9762\u5b58\u4e86\u4e00\u4e9b\u91cd\u8981\u7684\u4e1c\u897f\u4f46\u662f\u5bc6\u7801\u5fd8\u4e86\u600e\u4e48\u529e\uff0c\u5c1d\u8bd5\u4e86\u5f88\u591a\u90fd\u89e3\u4e0d\u5f00"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/flashradonc", 
        "name": "flashradonc", 
        "avatar": "https://cdn.v2ex.com/gravatar/67909b88571143f60ca92d5330152f50?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1238339", 
      "title": "\u5916\u63a5 ntfs \u79fb\u52a8\u786c\u76d8\u7684\u95ee\u9898", 
      "id": "https://www.v2ex.com/t/1238339", 
      "date_published": "2026-08-31T03:14:30+00:00", 
      "content_html": "<p>\u5916\u63a5 ntfs \u79fb\u52a8\u786c\u76d8\u7684\u95ee\u9898\uff1a</p>\n<p>\u5916\u63a5 ntfs \u683c\u5f0f\u7684\u79fb\u52a8\u786c\u76d8\uff0c\u7528\u7684\u662f paragon ntfs \uff0c\u7ecf\u5e38\u53d1\u73b0\u5728\u82f9\u679c\u7cfb\u7edf\u7528\u8fc7\u540e\u5728 win \u7cfb\u7edf chkdsk \u68c0\u67e5\u4f1a\u53d1\u73b0\u9519\u8bef\uff0c\u662f\u600e\u4e48\u56de\u4e8b?</p>\n<p>\u662f\u4e0d\u662f paragon \u7684\u539f\u97f3\uff1f\u6709\u66f4\u597d\u7684\u63a8\u8350\u5417</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/zhoudian", 
        "name": "zhoudian", 
        "avatar": "https://cdn.v2ex.com/avatar/ee15/c288/491384_large.png?m=1788076171"
      }, 
      "url": "https://www.v2ex.com/t/1238172", 
      "title": "\u6211\u505a\u4e86\u4e00\u4e2a\u66f4\u61c2\u4e2d\u6587\u65e5\u671f\u7684 macOS \u83dc\u5355\u680f\u65e5\u5386\uff1a\u767d\u7eb8\u65e5\u5386", 
      "id": "https://www.v2ex.com/t/1238172", 
      "date_published": "2026-08-30T07:48:12+00:00", 
      "content_html": "<p>V2EX \u7684\u670b\u53cb\u4eec\u597d\uff0c\u6211\u662f\u300c\u767d\u7eb8\u65e5\u5386\u300d\u7684\u5f00\u53d1\u8005\u3002</p>\n<p>\u5b83\u76ee\u524d\u514d\u8d39\u3001\u65e0\u5e7f\u544a\uff0c\u4e5f\u6709\u7528\u6237\u53cd\u9988\u5b83\u7684\u754c\u9762\u548c\u529f\u80fd\u6bd4 macOS \u81ea\u5e26\u65e5\u5386\u66f4\u597d\u7528\u3002</p>\n<p>\u6211\u628a\u5b83\u5b9a\u4f4d\u6210\u4e00\u6b3e\u4e3a\u4e2d\u56fd\u7528\u6237\u5b9a\u5236\u7684\u4e2d\u6587\u65e5\u5386\uff0c\u628a\u519c\u5386\u3001\u8282\u6c14\u3001\u8282\u5047\u65e5\u3001\u8c03\u4f11\u548c\u65e5\u7a0b\u653e\u8fdb Mac \u83dc\u5355\u680f\u3002</p>\n<p>\u6211\u505a\u8fd9\u4e2a\u5e94\u7528\u7684\u539f\u56e0\u5f88\u7b80\u5355\uff1a\u5728 Mac \u4e0a\uff0c\u6211\u6bcf\u5929\u90fd\u4f1a\u786e\u8ba4\u51e0\u6b21\u65e5\u671f\u3001\u661f\u671f\u3001\u519c\u5386\u3001\u8c03\u4f11\u548c\u5f53\u5929\u5b89\u6392\u3002\u53ef\u662f\u8fd9\u4e9b\u4fe1\u606f\u5206\u6563\u5728\u83dc\u5355\u680f\u3001\u7cfb\u7edf\u65e5\u5386\u3001\u63d0\u9192\u4e8b\u9879\u548c\u8282\u5047\u65e5\u7f51\u9875\u91cc\u3002\u4e3a\u4e86\u56de\u7b54\u4e00\u4e2a\u5f88\u5c0f\u7684\u95ee\u9898\uff0c\u5f80\u5f80\u8981\u8fde\u7eed\u6253\u5f00\u51e0\u4e2a\u5730\u65b9\u3002</p>\n<p>\u4e8e\u662f\u6211\u505a\u4e86\u300c\u767d\u7eb8\u65e5\u5386\u300d\uff1a\u8ba9\u5b83\u5b89\u9759\u5730\u5f85\u5728\u83dc\u5355\u680f\uff0c\u9700\u8981\u65f6\u70b9\u4e00\u4e0b\uff0c\u4eca\u5929\u662f\u4ec0\u4e48\u65e5\u5b50\u3001\u8fd9\u4e2a\u6708\u600e\u4e48\u653e\u5047\u3001\u63a5\u4e0b\u6765\u6709\u4ec0\u4e48\u5b89\u6392\uff0c\u5c3d\u91cf\u5728\u4e00\u4e2a\u9762\u677f\u91cc\u770b\u5b8c\u3002</p>\n<p><img alt=\"\u767d\u7eb8\u65e5\u5386 1.5.0 \u4e3b\u9762\u677f\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://baizhi.me/calendar/material/screenshot/1.5.0/01-main-desktop-main-panel.png\"/></p>\n<blockquote>\n<p>\u5229\u76ca\u76f8\u5173\uff1a\u6211\u662f\u767d\u7eb8\u65e5\u5386\u7684\u5f00\u53d1\u8005\u3002\u5e94\u7528\u76ee\u524d\u5728\u4e2d\u56fd\u533a Mac App Store \u514d\u8d39\u63d0\u4f9b\uff0c\u4e0d\u9700\u8981\u6ce8\u518c\u8d26\u53f7\uff0c\u4e5f\u6ca1\u6709\u8ba2\u9605\u548c\u5185\u8d2d\u3002</p>\n<p>\u672c\u6587\u90e8\u5206\u914d\u56fe\u91c7\u7528 1.5.0 \u7248\u5ba3\u4f20\u7d20\u6750\uff1b\u4e0b\u8f7d\u7248\u672c\u548c\u5b9e\u9645\u53ef\u7528\u529f\u80fd\u8bf7\u4ee5 App Store \u9875\u9762\u663e\u793a\u4e3a\u51c6\u3002</p>\n</blockquote>\n<h2>\u6211\u60f3\u89e3\u51b3\u7684\u4e0d\u662f\u201c\u518d\u505a\u4e00\u4e2a\u590d\u6742\u65e5\u5386\u201d</h2>\n<p>\u767d\u7eb8\u65e5\u5386\u4e0d\u6253\u7b97\u66ff\u4ee3 Fantastical \u3001BusyCal \uff0c\u4e5f\u4e0d\u9002\u5408\u56e2\u961f\u6392\u671f\u3001\u4f1a\u8bae\u5ba4\u9884\u8ba2\u6216\u8de8\u5e73\u53f0\u534f\u4f5c\u3002\u5b83\u66f4\u50cf\u4e00\u4e2a\u8f7b\u91cf\u7684\u65e5\u671f\u5165\u53e3\uff0c\u4e13\u95e8\u5904\u7406\u8fd9\u4e9b\u9ad8\u9891\u52a8\u4f5c\uff1a</p>\n<ul>\n<li>\u770b\u4eca\u5929\u51e0\u53f7\u3001\u661f\u671f\u51e0\u3001\u519c\u5386\u662f\u4ec0\u4e48\uff1b</li>\n<li>\u786e\u8ba4\u5468\u672b\u662f\u5426\u8865\u73ed\u3001\u4e0b\u4e2a\u5047\u671f\u8fd8\u6709\u591a\u4e45\uff1b</li>\n<li>\u770b\u4eca\u5929\u7684\u4f1a\u8bae\u3001\u7ea6\u4f1a\u548c\u5230\u671f\u63d0\u9192\uff1b</li>\n<li>\u4e34\u65f6\u8bb0\u4e0b\u4e00\u4ef6\u65e5\u7a0b\u6216\u5f85\u529e\uff1b</li>\n<li>\u4e0d\u6253\u5f00\u5b8c\u6574 App \uff0c\u5feb\u901f\u786e\u8ba4\u63a5\u4e0b\u6765\u8981\u505a\u4ec0\u4e48\u3002</li>\n</ul>\n<p>\u5982\u679c\u4f60\u5df2\u7ecf\u5728\u4f7f\u7528 macOS \u7684\u65e5\u5386\u548c\u63d0\u9192\u4e8b\u9879\uff0c\u5b83\u4e0d\u4f1a\u8981\u6c42\u4f60\u91cd\u65b0\u7ef4\u62a4\u4e00\u5957\u6570\u636e\uff0c\u800c\u662f\u628a\u73b0\u6709\u5de5\u4f5c\u6d41\u653e\u5230\u4e00\u4e2a\u66f4\u987a\u624b\u7684\u5165\u53e3\u91cc\u3002</p>\n<h2>\u4e00\u4e2a\u6708\u5386\u91cc\u540c\u65f6\u770b\u516c\u5386\u3001\u519c\u5386\u548c\u8c03\u4f11</h2>\n<p>\u70b9\u5f00\u83dc\u5355\u680f\u540e\uff0c\u767d\u7eb8\u65e5\u5386\u4f1a\u5c55\u5f00\u4e00\u4e2a 42 \u683c\u6708\u5386\u3002\u6bcf\u4e2a\u65e5\u671f\u53ef\u4ee5\u663e\u793a\u516c\u5386\u3001\u519c\u5386\u5c0f\u5b57\u3001\u4f20\u7edf\u8282\u65e5\u3001\u4e8c\u5341\u56db\u8282\u6c14\uff0c\u4ee5\u53ca\u65e5\u5386\u4e8b\u4ef6\u548c\u63d0\u9192\u7684\u63d0\u793a\u70b9\u3002</p>\n<p>\u4e2d\u56fd\u6cd5\u5b9a\u8282\u5047\u65e5\u548c\u8c03\u4f11\u4e0a\u73ed\u65e5\u4f1a\u4ee5\u300c\u4f11\u300d\u300c\u73ed\u300d\u6807\u8bb0\u3002\u8282\u5047\u65e5\u6570\u636e\u4ece Apple \u7684\u4e2d\u56fd\u8282\u5047\u65e5 iCal \u516c\u5171\u8ba2\u9605\u6e90\u83b7\u53d6\uff0c\u5e76\u5728\u672c\u673a\u7f13\u5b58\uff1b\u7f51\u7edc\u6682\u65f6\u4e0d\u53ef\u7528\u65f6\uff0c\u5df2\u6709\u7f13\u5b58\u4ecd\u53ef\u7ee7\u7eed\u4f7f\u7528\u3002</p>\n<p><img alt=\"\u4eca\u65e5\u4fe1\u606f\u603b\u89c8\uff1a\u519c\u5386\u3001\u8282\u6c14\u4e0e\u65e5\u7a0b\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://baizhi.me/calendar/material/screenshot/1.5.0/02-today-info.png\"/></p>\n<p>\u519c\u5386\u4fe1\u606f\u8fd8\u53ef\u4ee5\u5c55\u5f00\u67e5\u770b\u9ec4\u5386\u6458\u8981\uff0c\u5305\u62ec\u5b9c\u5fcc\u3001\u5e72\u652f\u3001\u51b2\u715e\u7b49\u4f20\u7edf\u65e5\u671f\u4fe1\u606f\u3002\u6211\u628a\u5b83\u505a\u6210\u53ef\u5c55\u5f00\u7684\u5361\u7247\uff0c\u800c\u4e0d\u662f\u4e00\u4e2a\u5fc5\u987b\u8fdb\u5165\u7684\u72ec\u7acb\u9875\u9762\uff1a\u60f3\u770b\u65f6\u5c55\u5f00\uff0c\u4e0d\u60f3\u770b\u65f6\u5c31\u4fdd\u6301\u6e05\u723d\u3002</p>\n<h2>\u5047\u671f\u4e0d\u53ea\u663e\u793a\u201c\u54ea\u5929\u653e\u201d\uff0c\u8fd8\u7ed9\u51fa\u8bf7\u5047\u53c2\u8003</h2>\n<p>\u8282\u5047\u65e5\u4fe1\u606f\u5bf9\u6211\u6765\u8bf4\u4e0d\u53ea\u662f\u67e5\u65e5\u671f\uff0c\u4e5f\u4f1a\u76f4\u63a5\u5f71\u54cd\u7248\u672c\u6392\u671f\u3001\u51fa\u884c\u548c\u5bb6\u5ead\u5b89\u6392\u3002\u6240\u4ee5\u5047\u671f\u5361\u7247\u9664\u4e86\u5217\u51fa\u653e\u5047\u548c\u8c03\u4f11\uff0c\u8fd8\u4f1a\u663e\u793a\u5047\u671f\u5012\u8ba1\u65f6\u548c\u8bf7\u5047\u653b\u7565\u3002</p>\n<p>\u8bf7\u5047\u653b\u7565\u4f1a\u7ed3\u5408\u5047\u671f\u3001\u5468\u672b\u548c\u8c03\u4f11\u5b89\u6392\uff0c\u5217\u51fa\u8bf7 0 \uff5e 5 \u5929\u5e74\u5047\u7684\u53ef\u884c\u7ec4\u5408\uff0c\u5e76\u6807\u6ce8\u76f8\u5bf9\u5212\u7b97\u7684\u65b9\u6848\u3002\u5b83\u53ea\u662f\u65e5\u671f\u8ba1\u7b97\u548c\u89c4\u5212\u53c2\u8003\uff0c\u4e0d\u66ff\u4ee3\u516c\u53f8\u5236\u5ea6\u6216\u5b98\u65b9\u901a\u77e5\uff0c\u4f46\u5728\u51c6\u5907\u5c0f\u957f\u5047\u65f6\u53ef\u4ee5\u5c11\u505a\u51e0\u6b21\u8868\u683c\u63a8\u7b97\u3002</p>\n<p><img alt=\"\u5047\u671f\u4e0e\u8bf7\u5047\u653b\u7565\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://baizhi.me/calendar/material/screenshot/04-holiday-list.png\"/></p>\n<h2>\u628a\u7cfb\u7edf\u65e5\u5386\u548c\u63d0\u9192\u4e8b\u9879\u653e\u5728\u540c\u4e00\u5929\u770b</h2>\n<p>macOS \u7684\u300c\u65e5\u5386\u300d\u548c\u300c\u63d0\u9192\u4e8b\u9879\u300d\u672c\u6765\u5c31\u662f\u4e24\u4e2a App \uff0c\u4f46\u5b83\u4eec\u7ecf\u5e38\u56de\u7b54\u540c\u4e00\u4e2a\u95ee\u9898\uff1a\u4eca\u5929\u6211\u8981\u505a\u4ec0\u4e48\uff1f</p>\n<p>\u767d\u7eb8\u65e5\u5386\u901a\u8fc7 EventKit \u8bfb\u53d6\u7cfb\u7edf\u65e5\u5386\u4e8b\u4ef6\uff0c\u901a\u8fc7\u63d0\u9192\u4e8b\u9879\u63a5\u53e3\u8bfb\u53d6\u5f85\u529e\uff0c\u628a\u540c\u4e00\u5929\u7684\u5b89\u6392\u5408\u5e76\u5230\u65e5\u671f\u8be6\u60c5\u91cc\uff1a</p>\n<ul>\n<li>\u67e5\u770b\u65e5\u5386\u4e8b\u4ef6\u548c\u5168\u5929\u5b89\u6392\uff1b</li>\n<li>\u67e5\u770b\u4eca\u65e5\u5230\u671f\u3001\u903e\u671f\u7684\u63d0\u9192\uff1b</li>\n<li>\u76f4\u63a5\u65b0\u5efa\u3001\u7f16\u8f91\u6216\u5220\u9664\u65e5\u7a0b\uff1b</li>\n<li>\u521b\u5efa\u4ec5\u6307\u5b9a\u65e5\u671f\u7684\u63d0\u9192\uff0c\u6216\u8bbe\u7f6e\u5177\u4f53\u65f6\u95f4\uff1b</li>\n<li>\u5728\u8bbe\u7f6e\u4e2d\u9009\u62e9\u9700\u8981\u663e\u793a\u7684\u65e5\u5386\u548c\u63d0\u9192\u5217\u8868\uff1b</li>\n<li>\u5b8c\u6210\u63d0\u9192\u540e\u7acb\u5373\u5237\u65b0\u9762\u677f\u548c\u5c0f\u7ec4\u4ef6\u3002</li>\n</ul>\n<p><img alt=\"\u540c\u4e00\u5929\u67e5\u770b\u65e5\u7a0b\u4e0e\u63d0\u9192\u4e8b\u9879\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://baizhi.me/calendar/material/screenshot/1.5.0/03-events-reminders.png\"/></p>\n<p>\u5728\u8bbe\u7f6e\u91cc\u8fd8\u53ef\u4ee5\u6309\u65e5\u5386\u540d\u79f0\u548c\u989c\u8272\u9009\u62e9\u663e\u793a\u8303\u56f4\u3002\u5de5\u4f5c\u3001\u4e2a\u4eba\u3001\u8282\u5047\u65e5\u6216\u81ea\u52a8\u5316\u65e5\u5386\u53ef\u4ee5\u5206\u522b\u63a7\u5236\uff0c\u7b5b\u9009\u7ed3\u679c\u4f1a\u540c\u6b65\u5230\u6708\u5386\u3001\u8be6\u60c5\u5361\u548c\u5c0f\u7ec4\u4ef6\u3002</p>\n<p><img alt=\"\u53ea\u663e\u793a\u4f60\u5173\u5fc3\u7684\u65e5\u5386\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://baizhi.me/calendar/material/screenshot/1.5.0/09-calendar-filter.png\"/></p>\n<p>\u65b0\u5efa\u65e5\u7a0b\u652f\u6301\u8f93\u5165\u300c\u660e\u5929\u4e0b\u5348\u4e09\u70b9\u5f00\u4f1a\u300d\u8fd9\u7c7b\u81ea\u7136\u8bed\u8a00\uff0c\u5e94\u7528\u4f1a\u5728\u672c\u673a\u89e3\u6790\u65e5\u671f\u548c\u65f6\u95f4\uff0c\u518d\u7531\u4f60\u786e\u8ba4\u540e\u5199\u5165\u7cfb\u7edf\u65e5\u5386\u3002\u89e3\u6790\u5931\u8d25\u65f6\u4e0d\u4f1a\u5077\u5077\u521b\u5efa\uff0c\u4ecd\u7136\u7531\u4f60\u51b3\u5b9a\u6700\u7ec8\u5185\u5bb9\u3002</p>\n<p><img alt=\"\u5feb\u901f\u65b0\u5efa\u65e5\u7a0b\u6216\u63d0\u9192\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://baizhi.me/calendar/material/screenshot/1.5.0/08-quick-create.png\"/></p>\n<h2>\u83dc\u5355\u680f\u548c\u684c\u9762\u5c0f\u7ec4\u4ef6\uff0c\u90fd\u53ef\u4ee5\u6309\u81ea\u5df1\u7684\u4e60\u60ef\u6765</h2>\n<p>\u83dc\u5355\u680f\u7a7a\u95f4\u5f88\u5b9d\u8d35\uff0c\u6240\u4ee5\u6211\u6ca1\u6709\u5f3a\u5236\u4e00\u79cd\u663e\u793a\u65b9\u5f0f\u3002\u4f60\u53ef\u4ee5\u9009\u62e9\u4ec5\u56fe\u6807\u3001\u4ec5\u65e5\u671f\u3001\u6807\u51c6\u3001\u5b8c\u6574\u6216\u81ea\u5b9a\u4e49\u683c\u5f0f\uff0c\u4e5f\u53ef\u4ee5\u7ec4\u5408\u5e74\u4efd\u3001\u661f\u671f\u3001\u65f6\u95f4\u3001\u79d2\u3001\u519c\u5386\u548c\u8282\u6c14\u3002</p>\n<p><img alt=\"\u83dc\u5355\u680f\u663e\u793a\u8bbe\u7f6e\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://baizhi.me/calendar/material/screenshot/09-menubar-settings.png\"/></p>\n<p>\u5e94\u7528\u8fd8\u63d0\u4f9b\u56db\u7c7b macOS \u684c\u9762\u5c0f\u7ec4\u4ef6\uff1a\u65e5\u671f\u3001\u6708\u5386\u3001\u4e34\u8fd1\u65e5\u7a0b\u548c\u63d0\u9192\u4e8b\u9879\uff0c\u8986\u76d6\u5c0f\u3001\u4e2d\u3001\u5927\u5c3a\u5bf8\u3002\u5c0f\u7ec4\u4ef6\u4f1a\u540c\u6b65\u4e3b\u9898\u548c\u5df2\u9009\u62e9\u7684\u65e5\u5386\u8303\u56f4\uff0c\u70b9\u51fb\u65e5\u671f\u6216\u4e8b\u9879\u53ef\u4ee5\u56de\u5230\u5bf9\u5e94\u9762\u677f\u3002</p>\n<p><img alt=\"\u56db\u7c7b\u684c\u9762\u5c0f\u7ec4\u4ef6\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://baizhi.me/calendar/material/screenshot/1.5.0/04-widgets-overview.png\"/></p>\n<p><img alt=\"\u516d\u5957\u4e3b\u9898\u4e0e\u6df1\u6d45\u8272\u5916\u89c2\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://baizhi.me/calendar/material/screenshot/1.5.0/10-themes.png\"/></p>\n<p>\u5982\u679c\u4f60\u4e0d\u559c\u6b22\u5c0f\u7ec4\u4ef6\u5e38\u9a7b\u684c\u9762\uff0c\u4e5f\u53ef\u4ee5\u53ea\u4f7f\u7528\u83dc\u5355\u680f\u5165\u53e3\uff1b\u4e24\u8005\u4e92\u4e0d\u5f71\u54cd\u3002</p>\n<h2>\u6211\u5728\u4ee3\u7801\u91cc\u505a\u7684\u51e0\u4e2a\u53d6\u820d</h2>\n<p>\u8fd9\u662f\u4e00\u4e2a\u539f\u751f macOS \u5e94\u7528\uff0c\u4e3b\u754c\u9762\u4f7f\u7528 SwiftUI \uff0c\u83dc\u5355\u680f\u72b6\u6001\u9879\u548c\u9762\u677f\u7a97\u53e3\u4f7f\u7528 AppKit \u3002\u9879\u76ee\u6700\u4f4e\u652f\u6301 macOS 13 \uff0c\u4f9d\u8d56\u901a\u8fc7 CocoaPods \u7ba1\u7406\uff0c\u519c\u5386\u8ba1\u7b97\u4f7f\u7528 Tyme4Swift \u3002</p>\n<p>\u51e0\u4e2a\u5b9e\u73b0\u539f\u5219\u4e5f\u76f4\u63a5\u5f71\u54cd\u4e86\u4f7f\u7528\u4f53\u9a8c\uff1a</p>\n<ol>\n<li><strong>\u7cfb\u7edf\u6570\u636e\u4e0d\u642c\u5bb6\u3002</strong> \u65e5\u5386\u548c\u63d0\u9192\u4e8b\u9879\u901a\u8fc7 EventKit \u8bfb\u53d6\u548c\u5199\u56de\uff0c\u5e94\u7528\u53ea\u4fdd\u5b58\u663e\u793a\u504f\u597d\u548c\u5c0f\u7ec4\u4ef6\u5feb\u7167\u3002</li>\n<li><strong>\u5c0f\u7ec4\u4ef6\u6709\u660e\u786e\u8fb9\u754c\u3002</strong> \u4e3b\u5e94\u7528\u628a\u7ecf\u8fc7\u7b5b\u9009\u7684\u65e5\u671f\u3001\u4e8b\u4ef6\u548c\u63d0\u9192\u5feb\u7167\u5199\u5165 App Group \uff0cWidgetKit \u53ea\u6e32\u67d3\u5feb\u7167\uff1b\u6ca1\u6709\u6743\u9650\u6216\u5feb\u7167\u8fc7\u671f\u65f6\uff0c\u5c0f\u7ec4\u4ef6\u4f1a\u660e\u786e\u663e\u793a\u72b6\u6001\uff0c\u4e0d\u5c55\u793a\u731c\u6d4b\u7684\u6570\u636e\u3002</li>\n<li><strong>\u83dc\u5355\u680f\u5237\u65b0\u4e0d\u5236\u9020\u7a7a\u767d\u72b6\u6001\u3002</strong> \u79d2\u7ea7\u663e\u793a\u65f6\u53ea\u66ff\u6362\u6709\u6548\u6587\u672c\uff0c\u907f\u514d\u72b6\u6001\u9879\u5148\u6e05\u7a7a\u518d\u6062\u590d\u9020\u6210\u5bbd\u5ea6\u6296\u52a8\uff1b\u4ece\u6587\u672c\u5207\u6362\u5230\u56fe\u6807\u65f6\u4e5f\u5148\u5b89\u88c5\u6709\u6548\u5185\u5bb9\u3002</li>\n<li><strong>\u8bbe\u7f6e\u5c3d\u91cf\u53ef\u56de\u9000\u3002</strong> \u53ef\u4ee5\u5f00\u542f\u201c\u7cbe\u7b80\u4e3b\u9762\u677f\u201d\u3001\u9009\u62e9\u65e5\u5386\u8303\u56f4\u3001\u5207\u6362\u516d\u5957\u4e3b\u9898\u3001\u8ddf\u968f\u7cfb\u7edf\u6df1\u6d45\u8272\uff0c\u4e5f\u53ef\u4ee5\u6062\u590d\u9ed8\u8ba4\u83dc\u5355\u680f\u663e\u793a\u3002</li>\n<li><strong>\u6743\u9650\u6309\u529f\u80fd\u7533\u8bf7\u3002</strong> \u53ea\u6709\u4f7f\u7528\u65e5\u5386\u3001\u63d0\u9192\u4e8b\u9879\u3001\u901a\u77e5\u6216\u5c0f\u7ec4\u4ef6\u5bf9\u5e94\u80fd\u529b\u65f6\uff0c\u624d\u4f1a\u51fa\u73b0\u76f8\u5e94\u7684 macOS \u6388\u6743\u63d0\u793a\u3002</li>\n</ol>\n<p>\u8fd9\u4e9b\u7ec6\u8282\u4e0d\u4f1a\u51fa\u73b0\u5728\u5ba3\u4f20\u622a\u56fe\u91cc\uff0c\u4f46\u5b83\u4eec\u51b3\u5b9a\u4e86\u4e00\u4e2a\u83dc\u5355\u680f\u5de5\u5177\u80fd\u4e0d\u80fd\u6bcf\u5929\u7559\u4e0b\u6765\u3002</p>\n<h2>\u9690\u79c1\u548c\u8054\u7f51\uff0c\u5148\u628a\u8fb9\u754c\u8bf4\u6e05\u695a</h2>\n<ul>\n<li>\u4e0d\u9700\u8981\u6ce8\u518c\u767d\u7eb8\u65e5\u5386\u8d26\u53f7\uff1b</li>\n<li>\u65e5\u5386\u3001\u63d0\u9192\u4e8b\u9879\u548c\u663e\u793a\u504f\u597d\u5728\u672c\u673a\u5904\u7406\uff1b</li>\n<li>\u519c\u5386\u548c\u9ec4\u5386\u8ba1\u7b97\u5728\u672c\u673a\u5b8c\u6210\uff1b</li>\n<li>\u8282\u5047\u65e5\u4e0e\u516c\u544a\u66f4\u65b0\u9700\u8981\u8054\u7f51\uff0c\u5e76\u4f7f\u7528\u672c\u5730\u7f13\u5b58\uff1b</li>\n<li>\u4e0d\u505a\u5e7f\u544a\u8ffd\u8e2a\uff0c\u4e0d\u628a\u65e5\u7a0b\u548c\u63d0\u9192\u4e8b\u9879\u7528\u4e8e\u7528\u6237\u753b\u50cf\uff1b</li>\n<li>\u6839\u636e App Store \u9690\u79c1\u6807\u7b7e\uff0c\u5e94\u7528\u53ef\u80fd\u6536\u96c6\u4e0e\u8eab\u4efd\u4e0d\u5173\u8054\u7684\u5d29\u6e83\u548c\u8bca\u65ad\u6570\u636e\uff0c\u7528\u4e8e\u6392\u67e5\u7a33\u5b9a\u6027\u95ee\u9898\u3002</li>\n</ul>\n<p>\u65e5\u5386\u548c\u63d0\u9192\u4e8b\u9879\u662f\u5426\u6388\u6743\u5b8c\u5168\u7531 macOS \u63a7\u5236\u3002\u4e0d\u6388\u6743\u65f6\uff0c\u4e3b\u9762\u677f\u548c\u5c0f\u7ec4\u4ef6\u4f1a\u4fdd\u7559\u53ef\u7528\u7684\u65e5\u671f\u4fe1\u606f\uff0c\u76f8\u5173\u65e5\u7a0b\u6a21\u5757\u5219\u663e\u793a\u6743\u9650\u72b6\u6001\uff0c\u4e0d\u4f1a\u7ed5\u8fc7\u7cfb\u7edf\u8bbe\u7f6e\u8bfb\u53d6\u6570\u636e\u3002</p>\n<p>\u5b8c\u6574\u8bf4\u660e\u53ef\u4ee5\u67e5\u770b<a href=\"https://baizhi.me/calendar/privacy-policy.html\" rel=\"nofollow\">\u9690\u79c1\u653f\u7b56</a>\u3002</p>\n<p><img alt=\"\u9690\u79c1\u8bf4\u660e\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://baizhi.me/calendar/material/screenshot/10-privacy.png\"/></p>\n<h2>\u5b83\u9002\u5408\u8c01\uff0c\u4e5f\u4e0d\u9002\u5408\u8c01</h2>\n<p>\u6bd4\u8f83\u9002\u5408\uff1a</p>\n<ul>\n<li>\u4f7f\u7528 Mac \u5de5\u4f5c\u3001\u5199\u4ee3\u7801\u3001\u505a\u8bbe\u8ba1\u6216\u5904\u7406\u6587\u6863\u7684\u4eba\uff1b</li>\n<li>\u7ecf\u5e38\u67e5\u770b\u519c\u5386\u3001\u8282\u6c14\u3001\u6cd5\u5b9a\u8282\u5047\u65e5\u548c\u8c03\u4f11\u7684\u4eba\uff1b</li>\n<li>\u5df2\u7ecf\u4f7f\u7528\u7cfb\u7edf\u65e5\u5386\u548c\u63d0\u9192\u4e8b\u9879\uff0c\u4f46\u89c9\u5f97\u6765\u56de\u5207\u6362\u592a\u91cd\u7684\u4eba\uff1b</li>\n<li>\u60f3\u5728\u83dc\u5355\u680f\u6216\u684c\u9762\u5c0f\u7ec4\u4ef6\u91cc\u4fdd\u7559\u4e00\u4e2a\u8f7b\u91cf\u65e5\u671f\u5165\u53e3\u7684\u4eba\u3002</li>\n</ul>\n<p>\u4e0d\u592a\u9002\u5408\uff1a</p>\n<ul>\n<li>\u9700\u8981\u56e2\u961f\u5171\u4eab\u3001\u4f1a\u8bae\u5ba4\u548c\u590d\u6742\u91cd\u590d\u89c4\u5219\u7684\u4f01\u4e1a\u7528\u6237\uff1b</li>\n<li>\u9700\u8981 Windows \u3001Android \u7b49\u591a\u7aef\u540c\u6b65\u7684\u7528\u6237\uff1b</li>\n<li>\u5b8c\u5168\u4e0d\u4f7f\u7528 Apple \u65e5\u5386\u6216\u63d0\u9192\u4e8b\u9879\uff0c\u4e5f\u4e0d\u5e0c\u671b\u5b89\u88c5\u83dc\u5355\u680f\u5e38\u9a7b\u5de5\u5177\u7684\u4eba\u3002</li>\n</ul>\n<h2>\u4e0b\u8f7d\u548c\u53cd\u9988</h2>\n<p>\u5f53\u524d\u516c\u5f00\u5546\u5e97\u9875\u9762\u663e\u793a\u7684\u7248\u672c\u548c\u7cfb\u7edf\u8981\u6c42\uff0c\u8bf7\u4ee5 App Store \u9875\u9762\u4e3a\u51c6\uff1a</p>\n<p><a href=\"https://apps.apple.com/cn/app/id6771203171\" rel=\"nofollow\">\u5728 Mac App Store \u4e0b\u8f7d\u767d\u7eb8\u65e5\u5386</a></p>\n<p>\u8bbe\u5907\u8981\u6c42\uff1amacOS 13.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002\u4e5f\u53ef\u4ee5\u5728 Mac App Store \u641c\u7d22\u201c\u767d\u7eb8\u65e5\u5386\u201d\u3002</p>\n<p>\u5b98\u7f51\uff1a<a href=\"https://baizhi.me/calendar\" rel=\"nofollow\">baizhi.me/calendar</a></p>\n<p>\u5982\u679c\u4f60\u8bd5\u7528\u540e\u53d1\u73b0\u83dc\u5355\u680f\u663e\u793a\u3001\u8c03\u4f11\u6570\u636e\u3001\u65e5\u7a0b\u7b5b\u9009\u3001\u5c0f\u7ec4\u4ef6\u5237\u65b0\u6216\u67d0\u4e2a macOS \u7248\u672c\u4e0a\u7684\u95ee\u9898\uff0c\u6b22\u8fce\u5728\u8bc4\u8bba\u91cc\u76f4\u63a5\u6307\u51fa\uff0c\u4e5f\u53ef\u4ee5\u53d1\u90ae\u4ef6\u5230 <code>service@baizhi.me</code>\u3002\u6211\u66f4\u5e0c\u671b\u6536\u5230\u53ef\u590d\u73b0\u7684\u6b65\u9aa4\u3001macOS \u7248\u672c\u548c\u622a\u56fe\uff0c\u800c\u4e0d\u662f\u4e00\u53e5\u201c\u6709\u70b9\u4e0d\u5bf9\u201d\uff0c\u8fd9\u6837\u624d\u80fd\u771f\u6b63\u4fee\u597d\u5b83\u3002</p>\n<p>\u6700\u540e\uff0c\u611f\u8c22\u6bcf\u4e00\u4f4d\u613f\u610f\u8bd5\u7528\u3001\u63d0\u9700\u6c42\u548c\u62a5\u544a\u95ee\u9898\u7684\u4eba\u3002\u767d\u7eb8\u65e5\u5386\u7684\u65b9\u5411\u4e00\u76f4\u5f88\u5177\u4f53\uff1a\u8ba9 Mac \u4e0a\u90a3\u4e9b\u6bcf\u5929\u90fd\u8981\u786e\u8ba4\u7684\u65e5\u671f\u4fe1\u606f\uff0c\u66f4\u6e05\u695a\u3001\u66f4\u8f7b\u4e00\u70b9\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/f1ynnv2", 
        "name": "f1ynnv2", 
        "avatar": "https://cdn.v2ex.com/avatar/6bf8/1c0d/247798_large.png?m=1783162937"
      }, 
      "url": "https://www.v2ex.com/t/1238112", 
      "title": "macOS 27 \u4fee\u590d\u4e86 26 \u5168\u5c4f\u65f6\u7ec8\u7aef\u6807\u7b7e\u680f\u5de8\u4e11\u7684\u95ee\u9898\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/1238112", 
      "date_published": "2026-08-30T00:34:10+00:00", 
      "content_html": "<p>macOS 15 \u5168\u5c4f\u7684\u65f6\u5019\uff0c\u7ec8\u7aef\u7684\u6807\u7b7e\u680f\u8fd8\u633a\u7d27\u51d1\u597d\u770b\u7684\n<img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/bab682b2919c3a1d29352680a0ec38b03340250a2ad05b9de68e3275b9178fe66c5a8ba094d542fa15bfb8f058181fda?pictype=scale&amp;from=30113&amp;version=3.3.3.3&amp;fname=mac15_tab.png&amp;size=750\"/>\n\u7ed3\u679c macOS 26 \u5168\u5c4f\u7684\u65f6\u5019\uff0c\u7ec8\u7aef\u7684\u6807\u7b7e\u680f\u4e5f\u592a\u4e11\u4e86\n<img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/be9a4b1dd17145bb20a5d2e43f7e9678e74222282763d22e780de2c17be0439c084f2199e6c7b0f0dc830ce6bb396915?pictype=scale&amp;from=30113&amp;version=3.3.3.3&amp;fname=mac26_tab.png&amp;size=750\"/>\n\u4e0d\u77e5\u9053 macOS27 \u6709\u6ca1\u6709\u6539\u56de\u6765\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/moon2a", 
        "name": "moon2a", 
        "avatar": "https://cdn.v2ex.com/avatar/dfff/3c19/793153_large.png?m=1787984435"
      }, 
      "url": "https://www.v2ex.com/t/1238102", 
      "date_modified": "2026-08-29T17:09:21+00:00", 
      "content_html": "<p>\u6838\u5fc3\uff1a\u89e3\u9501\u5305\u5185\u5bb9\uff08\u53f3\u952e\u540e\u9009\u62e9\u663e\u793a\u5305\u5185\u5bb9\uff09</p>\n<p>\u64cd\u4f5c\u6b65\u9aa4\uff1a</p>\n<ol>\n<li>(\u53ef\u9009\uff0c\u975e\u5fc5\u8981)\u8fdb\u5165\u5e9f\u7eb8\u7bd3\uff0c\u53f3\u952e\u70b9\u51fb\u9700\u8981\u5220\u9664\u7684\u6587\u4ef6\u3002</li>\n<li>(\u53ef\u9009\uff0c\u975e\u5fc5\u8981)\u9009\u62e9 \u663e\u793a\u7b80\u4ecb\uff0c\u5728\u7b80\u4ecb\u9875\u9762\u9760\u4e0b\u4f4d\u7f6e\u627e\u5230 \u5171\u4eab\u4e0e\u6743\u9650\uff0c\u68c0\u67e5\u7cfb\u7edf/wheel/everyone \u7684\u6743\u9650\u662f\u5426\u90fd\u662f\u201c\u8bfb\u548c\u5199\u201d\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u9501\uff0c\u89e3\u9501\uff0c\u5c06\u6240\u6709\u6743\u9650\u4fee\u6539\u4e3a\u201c\u8bfb\u548c\u5199\u201d\uff0c\u9000\u51fa\u7b80\u4ecb\u3002 </li>\n<li>\u8fdb\u5165\u5e9f\u7eb8\u7bd3\uff0c\u53f3\u952e\u70b9\u51fb\u9700\u8981\u5220\u9664\u7684\u6587\u4ef6\uff0c\u9009\u62e9 \u663e\u793a\u5305\u5185\u5bb9\uff0c\u51fa\u73b0\u65b0\u76ee\u5f55\uff0c\u5305\u542b\u201cContents\u201d\u3002</li>\n<li>\u53f3\u952e\u70b9\u51fb\u201cContents\u201d\uff0c\u9009\u62e9 \u663e\u793a\u7b80\u4ecb\u3002</li>\n<li>\u5728\u7b80\u4ecb\u9875\u9762\u627e\u5230 \u5171\u4eab\u4e0e\u6743\u9650 \uff0c\u68c0\u67e5\u7cfb\u7edf/wheel/everyone \u7684\u6743\u9650\u662f\u5426\u90fd\u662f\u201c\u8bfb\u548c\u5199\u201d\uff0c\u5927\u6982\u7387\u4e0d\u662f\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u9501\u89e3\u9501\uff0c\u6240\u6709\u6743\u9650\u4fee\u6539\u4e3a\u201c\u8bfb\u548c\u5199\u201d\uff0c\u5728 \u5171\u4eab\u4e0e\u6743\u9650 \u6700\u4e0b\u65b9\u533a\u57df\u627e\u5230\u4e09\u4e2a\u70b9...,\u70b9\u5f00\u540e\u770b\u5230\u201c\u5e94\u7528\u5230\u5305\u542b\u7684\u9879\u76ee..\u201d\uff0c\u51fa\u73b0\u5f39\u6846\uff0c\u9009\u62e9 \u597d\uff0c\u9000\u51fa\u7b80\u4ecb\u548c\u65b0\u76ee\u5f55\u3002</li>\n<li>\u8fdb\u5165\u5e9f\u7eb8\u7bd3\uff0c\u5220\u9664\u6587\u4ef6\uff0c\u5927\u529f\u544a\u6210\uff01</li>\n</ol>\n<hr/>\n<p>\u6ca1\u6709\u5728 AI \u548c\u8bba\u575b\u4e2d\u627e\u5230\u89e3\u51b3\u65b9\u6848\uff0c\u7126\u5934\u70c2\u989d\u65f6\u53d1\u73b0\u4e86\u83ab\u540d\u5176\u5999\u7684\u65b9\u6cd5...</p>\n", 
      "date_published": "2026-08-29T17:04:32+00:00", 
      "title": "\u8d5b\u535a\u836f\u65b9\u2014\u2014macOS \u5e9f\u7eb8\u7bd3\u5220\u9664\u5df2\u9501\u5b9a app \u7684\u65b9\u6cd5\uff08\u75c7\u72b6\uff1a\u65e0\u6cd5\u5b8c\u6210\u6b64\u64cd\u4f5c\uff0c\u56e0\u4e3a\u5fc5\u987b\u8df3\u8fc7\u67d0\u4e9b\u9879\u76ee\u3002\uff09", 
      "id": "https://www.v2ex.com/t/1238102"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/reDesign", 
        "name": "reDesign", 
        "avatar": "https://cdn.v2ex.com/avatar/7f71/e947/588053_large.png?m=1729138900"
      }, 
      "url": "https://www.v2ex.com/t/1237906", 
      "date_modified": "2026-08-28T07:58:48+00:00", 
      "content_html": "\u7248\u672c\u662f 26.6.2 \uff0c\u8fd9\u5361\u6b7b\u5c31\u53d1\u751f\u5728\u67d0\u51e0\u4e2a\u8f6f\u4ef6\u4e0a\uff0c\u7136\u540e\u4e00\u4e2a\u8f6f\u4ef6\u5361\u6b7b\u4e4b\u540e\uff0c\u6062\u590d\u6d41\u7545\u4e00\u5c0f\u6bb5\u65f6\u95f4\uff0c\u53e6\u4e00\u4e2a\u8f6f\u4ef6\u4e5f\u4f1a\u5361\u6b7b\u3002\u3002\u3002\u800c\u4e14\u662f B \u7ebf\uff0c\u5c31\u662f\u8f6f\u4ef6\u90fd\u662f\u5f88\u5c0f\u7684\u8f6f\u4ef6\uff0c\u50cf\u6ef4\u7b54\u6e05\u5355\uff0cChatGPT, \u767e\u5ea6\u7f51\u76d8\u90fd\u6709\u8fd9\u4e2a\u95ee\u9898\u3002<br /><br />\u800c\u4e14\u5361\u6b7b\u7684\u8f6f\u4ef6\uff0c\u5f3a\u5236\u9000\u51fa\u540e\uff0c\u70b9\u51fb\u7a0b\u5e8f\u575e\u91cc\u7684\u56fe\u6807\uff0c\u4f1a\u6ca1\u6709\u53cd\u5e94\uff0c\u70b9\u51fb\u542f\u52a8\u53f0\u7684\u53ef\u4ee5\u6253\u5f00\uff0c\u4f46\u5f88\u5feb\u53c8\u4f1a\u5361\u6b7b\uff0c\u91cd\u542f\u540e\u6062\u590d\u6b63\u5e38\uff0c\u4e00\u6bb5\u65f6\u95f4\u540e\u53c8\u51fa\u73b0\u5361\u6b7b\u3002", 
      "date_published": "2026-08-28T07:56:35+00:00", 
      "title": "\u5347\u7ea7\u4e86 macOS 26, \u51fa\u73b0\u4e86\u5947\u602a\u7684\u5361\u6b7b\u95ee\u9898", 
      "id": "https://www.v2ex.com/t/1237906"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/yujianweb", 
        "name": "yujianweb", 
        "avatar": "https://cdn.v2ex.com/gravatar/8d7000c137f00b0f4c2ade573691f430?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1237163", 
      "title": "AI Textile Designer for Seamless Fabric Patterns", 
      "id": "https://www.v2ex.com/t/1237163", 
      "date_published": "2026-08-25T12:30:26+00:00", 
      "content_html": "<p><a href=\"https://textilegen.com/\" rel=\"nofollow\">https://textilegen.com/</a>\nCreate textile patterns from ideas, sketches, and fabric images. Develop repeats, colorways, and product previews in one workspace.\nTurn any fabric reference into a reusable pattern.\nExtract clean artwork from garments, fabric photos, or references, then build a repeat that is ready for the next design step.</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/gebiwanger", 
        "name": "gebiwanger", 
        "avatar": "https://cdn.v2ex.com/avatar/6e5b/f172/624816_large.png?m=1761108399"
      }, 
      "url": "https://www.v2ex.com/t/1237058", 
      "title": "TOP \u6027\u4ef7\u6bd4 mac computer \u8d2d\u4e70\u54a8\u8be2", 
      "id": "https://www.v2ex.com/t/1237058", 
      "date_published": "2026-08-25T06:29:43+00:00", 
      "content_html": "<p>\u80cc\u666f\uff1a\n\u7ed9\u4eb2\u621a(\u5927\u8868\u59d0)\u8d2d\u4e70\u7535\u8111\uff0c\u4f7f\u7528\u573a\u666f\uff1a\na. \u73b0\u5728\u53ca\u4ee5\u540e\u4e5f\u4e0d\u4f1a\u73a9\u6e38\u620f\nb. \u770b\u770b\u7f51\u9875+\u7b80\u5355\u529e\u516c\u4f7f\u7528<br/>\nc. \u6709\u5c0f\u5b69\u5b50\u5feb\u8981\u4e0a\u521d\u4e2d\uff0c\u53ef\u80fd\u4e5f\u4f1a\u7b80\u5355\u7528\u4e00\u7528\nd. \u4f1a\u4f7f\u7528 windows \uff0c\u6709 iPhone \u548c ipad \uff0c\u8fd8\u6ca1\u6709\u4f7f\u7528\u8fc7 macos \u7cfb\u7edf</p>\n<p>\u9650\u5236\uff1a\ni. \u4e0d\u4f1a\u81ea\u884c\u4fee\u7535\u8111\uff0c\u7535\u8111\u786c\u4ef6\u77e5\u8bc6\u50a8\u5907\u662f\u96f6\u3002\u7535\u8111\u4e0d\u574f\u6700\u597d\uff0c\u574f\u4e86\u53ea\u80fd\u53bb\u7ef4\u4fee\u5e97\u5272\u8089\u3002\nj. \u7a77\uff0c\u5f97\u6700\u9ad8\u6027\u4ef7\u6bd4\u3002\u80fd 3k \u641e\u5b9a\u5c31\u7edd\u4e0d\u82b1 3.1k \u3002</p>\n<p>\u9884\u671f\uff1a\n\u6253\u7b97\u8d2d\u4e70 3 \u6708\u4efd\u7684 apple neo MacBook \u3002</p>\n<p>\u54a8\u8be2\uff1a\n\u662f\u5426\u6709\u5176\u4ed6\u7684\u63a8\u8350\uff1f\u6216\u8005\u60a8\u662f\u5426\u613f\u610f\u5272\u7f8a\u6bdb\u51fa\u552e\u81ea\u5df1\u7684\u4e8c\u624b\u7535\u8111\uff08\u522b\u5751\u6211, tg: <code>@hai_lv_tg</code>\uff09\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Ray3616", 
        "name": "Ray3616", 
        "avatar": "https://cdn.v2ex.com/avatar/42eb/3fb8/368851_large.png?m=1787628071"
      }, 
      "url": "https://www.v2ex.com/t/1237011", 
      "title": "LaunchOS \u8bc4\u6d4b\uff1a\u628a\u88ab\u82f9\u679c\u780d\u6389\u7684 Launchpad\uff0c\u91cd\u65b0\u5e26\u56de macOS 26", 
      "id": "https://www.v2ex.com/t/1237011", 
      "date_published": "2026-08-25T03:31:37+00:00", 
      "content_html": "<p>\u4ee5\u524d\u5927\u5bb6\u5acc Launchpad \u4e0d\u597d\u7528\uff0c\u89c9\u5f97\u5b83\u4e0d\u8fc7\u662f\u628a Applications \u6587\u4ef6\u5939\u91cc\u7684\u5e94\u7528\u94fa\u6210\u4e00\u4e2a\u5927\u7f51\u683c\uff0c\u50cf iOS \u7684\u4e3b\u754c\u9762\u4e00\u6837\u5360\u6ee1\u6574\u4e2a\u5c4f\u5e55\u3002\u7ed3\u679c Apple \u5728 macOS 26 \u91cc\u771f\u628a\u5b83\u5220\u4e86\uff0c\u6362\u6210\u4e86\u4e00\u6b3e\u53eb\u201cApp\u201d\u7684\u5e94\u7528\u2014\u2014\u5f88\u591a\u4eba\uff08\u5305\u62ec\u6211\u81ea\u5df1\uff09\u53cd\u800c\u5f00\u59cb\u6000\u5ff5\u5b83\u4e86\u3002</p>\n<p>\u539f\u56e0\u5f88\u7b80\u5355\uff1a\u6709\u4e9b\u4eba\u9760\u89c6\u89c9\u8bb0\u5fc6\u5de5\u4f5c\uff0c\u8bb0\u4f4f\u4e00\u4e2a\u56fe\u6807\u7684\u4f4d\u7f6e\u6bd4\u5728 Spotlight \u91cc\u6572\u540d\u5b57\u5feb\u5f97\u591a\u3002\u6211\u81ea\u5df1\u6bcf\u6362\u4e00\u53f0\u65b0 Mac \uff0c\u90fd\u8981\u82b1\u534a\u4e2a\u5c0f\u65f6\u628a\u5e94\u7528\u6309\u8001\u6837\u5b50\u91cd\u65b0\u6392\u5217\u8fdb Launchpad \u3002\u5931\u53bb\u4e86 Launchpad \u4e4b\u540e\u96be\u53d7\u4e86\u51e0\u5468\uff0c\u76f4\u5230\u7b2c\u4e09\u65b9\u89e3\u51b3\u65b9\u6848\u9646\u7eed\u51fa\u73b0\u3002</p>\n<p>\u5176\u4e2d\u6709\u4e00\u6b3e\u4ece\u53d1\u5e03\u4e4b\u521d\u5c31\u5907\u53d7\u5173\u6ce8\u2014\u2014<strong>LaunchOS</strong>\uff0c\u6765\u81ea Remix Design Studio \u3002\u8fd9\u4e2a\u4ea7\u54c1\u662f\u4ed8\u8d39\u5e94\u7528\uff08\u4f46\u4e5f\u6709\u514d\u8d39\u7684\u57fa\u7840\u7248\u53ef\u7528\uff09\uff0c\u524d\u6bb5\u65f6\u95f4\u53d1\u5e03\u7684 2.0 \u7248\u672c\u5728\u5b8c\u5584\u5ea6\u548c\u529f\u80fd\u4e0a\u5df2\u7ecf\u8fbe\u5230\u4e86\u76f8\u5f53\u9ad8\u7684\u6c34\u51c6\u3002\u6211\u4eb2\u81ea\u4f53\u9a8c\u4e86\u4e00\u6bb5\u65f6\u95f4\uff0c\u4eca\u5929\u8ddf\u5927\u5bb6\u804a\u804a\u3002</p>\n<p><strong>\u5b98\u65b9\u7f51\u7ad9\uff1a <a href=\"https://launchosapp.com\" rel=\"nofollow\">https://launchosapp.com</a></strong></p>\n<p><img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.v2ex.co/IWmG41E3.png\"/></p>\n<h2>\u4e00\u3001Apple \u7559\u4e0b\u7684\u7a7a\u767d</h2>\n<p>Apple \u5728 macOS 26 \u91cc\u79fb\u9664 Launchpad \u540e\uff0c\u53d6\u800c\u4ee3\u4e4b\u7684\u662f\u4e00\u4e2a\u7c7b\u4f3c iOS \u201cApp \u8d44\u6e90\u5e93\u201d \u7684\u201cApp\u201d\u5e94\u7528\u3002Beta \u671f\u95f4\u8fd8\u6709\u4eba\u8bd5\u56fe\u7528\u7ec8\u7aef\u547d\u4ee4\u628a\u65e7\u754c\u9762\u627e\u56de\u6765\uff0c\u4f46\u6b63\u5f0f\u7248\u53d1\u5e03\u540e\u8fd9\u6761\u8def\u4e5f\u88ab\u5835\u6b7b\u4e86\u3002\u4e8e\u662f\u5404\u79cd\u7b2c\u4e09\u65b9\u5de5\u5177\u5e94\u8fd0\u800c\u751f\uff0c\u76ee\u6807\u53ea\u6709\u4e00\u4e2a\uff1a\u628a\u90a3\u4e2a\u4ee5\u56fe\u6807\u7f51\u683c\u4e3a\u6838\u5fc3\u7684\u89c6\u89c9\u542f\u52a8\u5668\u5e26\u56de\u6765\u3002</p>\n<p>Apple \u7684\u65b0\u65b9\u6848\u66f4\u504f\u5411\u6587\u672c\u641c\u7d22\uff0c\u754c\u9762\u770b\u8d77\u6765\u66f4\u50cf\u4e00\u4e2a\u5e94\u7528\u5546\u5e97\u800c\u975e\u63a7\u5236\u9762\u677f\u3002\u4f46\u5bf9\u4e8e\u9760\u56fe\u6807\u8ba4\u4f4d\u7f6e\u3001\u9760\u808c\u8089\u8bb0\u5fc6\u64cd\u4f5c\u7684\u4eba\u6765\u8bf4\uff0c\u8fd9\u786e\u5b9e\u964d\u4f4e\u4e86\u65e5\u5e38\u6548\u7387\u3002</p>\n<p>\u5728 macOS 26 \u53d1\u5e03\u65f6\u5217\u4e3e\u7684\u5341\u5927\u65b0\u7279\u6027\u91cc\uff0cLaunchpad \u88ab\u79fb\u9664\u8fd9\u4ef6\u4e8b\uff0c\u81f3\u4eca\u4ecd\u662f\u88ab\u8001\u7528\u6237\u5410\u69fd\u6700\u591a\u7684\u4e00\u9879\u3002\u6240\u4ee5\u6beb\u4e0d\u610f\u5916\uff0c\u968f\u7740 macOS Tahoe 26 \u6b63\u5f0f\u63a8\u9001\uff0c\u5927\u91cf\u72ec\u7acb\u5de5\u5177\u6d8c\u73b0\u51fa\u6765\u586b\u8865\u8fd9\u4e2a\u7a7a\u7f3a\u3002\u5176\u4e2d\u5728\u7ec6\u8282\u6253\u78e8\u4e0a\u6700\u7a81\u51fa\u7684\uff0c\u5c31\u662f LaunchOS \u3002</p>\n<p><img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.v2ex.co/B214whWx.png\"/></p>\n<h2>\u4e8c\u3001LaunchOS \u5b9a\u4f4d\u975e\u5e38\u6e05\u6670</h2>\n<p>LaunchOS \u6ca1\u6709\u60f3\u91cd\u65b0\u53d1\u660e\u4ec0\u4e48\u2014\u2014\u5b83\u6beb\u4e0d\u63a9\u9970\u5730\u7ee7\u627f\u4e86\u65e7 Launchpad \u7684\u7f8e\u5b66\uff0c\u76ee\u6807\u5c31\u662f\u505a macOS 26 \u548c\u540e\u7eed macOS 27 \u4e0a Launchpad \u7684\u66ff\u4ee3\u54c1\u3002</p>\n<p>\u7f51\u683c\u4ecd\u7136\u662f\u6574\u4e2a\u4f53\u9a8c\u7684\u6838\u5fc3\uff1a\u4f60\u53ef\u4ee5\u521b\u5efa\u6587\u4ef6\u5939\u3001\u79fb\u52a8\u5e94\u7528\u3001\u641c\u7d22\u548c\u542f\u52a8\uff0c\u5b8c\u5168\u4e0d\u9700\u8981\u7ecf\u8fc7 Spotlight \u6216\u8bbf\u8fbe\u3002\u5b83\u5e76\u4e0d\u6253\u7b97\u5305\u529e\u4e00\u5207\uff0c\u53ea\u60f3\u628a\u4e00\u4ef6\u4e8b\u505a\u597d\u2014\u2014\u8fd9\u6070\u6070\u662f\u5b83\u6700\u5927\u7684\u4f18\u70b9\u3002</p>\n<p>\u5bf9\u4e8e\u6bcf\u5929\u8981\u8ddf\u51e0\u5341\u6b3e\u5e94\u7528\u6253\u4ea4\u9053\u7684\u4eba\u6765\u8bf4\uff0c\u5b83\u7684\u4ef7\u503c\u4e0d\u53ea\u662f\u201c\u5feb\u901f\u6253\u5f00\u7a0b\u5e8f\u201d\uff0c\u800c\u662f<strong>\u6062\u590d\u4e00\u79cd\u7a7a\u95f4\u903b\u8f91</strong>\uff1a\u77e5\u9053\u6bcf\u4e2a\u56fe\u6807\u5728\u54ea\uff0c\u6309\u7c7b\u522b\u5206\u597d\u6587\u4ef6\u5939\uff0c\u7ef4\u6301\u4e00\u4e2a\u957f\u671f\u5efa\u7acb\u7684\u79e9\u5e8f\u3002LaunchOS \u628a\u8fd9\u4e2a\u5728 macOS \u91cc\u7a81\u7136\u53d8\u5f97\u4e0d\u53ef\u80fd\u7684\u4e60\u60ef\uff0c\u91cd\u65b0\u5e26\u56de\u6765\u4e86\u3002</p>\n<h2>\u4e09\u3001LaunchOS \u5b9e\u9645\u7528\u8d77\u6765\u600e\u4e48\u6837</h2>\n<p>LaunchOS \u4ee5\u8f7b\u91cf\u7ea7\u5de5\u5177\u7684\u5f62\u5f0f\u5b89\u88c5\uff08\u5b89\u88c5\u5305\u4ec5 8.2MB \uff09\uff0c\u9a7b\u7559\u5728\u83dc\u5355\u680f\u91cc\uff0c\u8bbe\u7f6e\u548c\u4e3b\u8981\u529f\u80fd\u90fd\u4ece\u90a3\u91cc\u8bbf\u95ee\u3002\u7f51\u683c\u53ef\u4ee5\u901a\u8fc7\u952e\u76d8\u5feb\u6377\u952e\u3001\u89e6\u63a7\u677f\u624b\u52bf\u6216\u89e6\u53d1\u89d2\u8c03\u51fa\uff0c\u53ef\u4ee5\u6309\u4e2a\u4eba\u559c\u597d\u8bbe\u7f6e\u3002\u6211\u6700\u5e38\u7528\u7684\u8fd8\u662f\u56db\u6307\u634f\u5408\u6765\u89e6\u53d1\uff0c\u5176\u4ed6\u4f1a\u5076\u5c14\u4f7f\u7528\u3002\u5982\u679c\u4f60\u5347\u7ea7\u4e86 Pro \u7248\u672c\uff0c\u9664\u4e86\u53ef\u4ee5\u901a\u8fc7\u89e6\u63a7\u677f\u624b\u52bf\u89e6\u53d1\u3001F4 \u952e\u3001\u89e6\u53d1\u89d2\u63a7\u5236\uff0c\u8fd8\u80fd\u81ea\u5b9a\u4e49\u5e03\u5c40\u548c\u7eb5\u5411\u6eda\u52a8\u3002</p>\n<p><img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.v2ex.co/9h4o545q.png\"/></p>\n<p>\u65e5\u5e38\u4f7f\u7528\u4e2d\uff0cLaunchOS \u5141\u8bb8\u4f60\u91cd\u547d\u540d\u5e94\u7528\u3001\u9690\u85cf\u4e0d\u9700\u8981\u7684\u3001\u7ba1\u7406\u6587\u4ef6\u5939\uff0c\u6d41\u7545\u5ea6\u751a\u81f3\u6bd4\u539f\u7248 Launchpad \u8fd8\u8981\u597d\u3002\u6211\u5728 Tahoe 26 \u53d1\u5e03\u51e0\u4e2a\u6708\u540e\u7ec8\u4e8e\u80fd\u91cd\u5efa\u81ea\u5df1\u4e60\u60ef\u7684\u5de5\u4f5c\u73af\u5883\u4e86\uff0c\u7528\u8d77\u6765\u6ca1\u4ec0\u4e48\u8fdd\u548c\u611f\u3002</p>\n<p>\u968f\u7740\u7248\u672c\u7684\u8fed\u4ee3\uff0cLaunchOS \u4e5f\u5728\u4e0d\u65ad\u52a0\u5165\u65b0\u529f\u80fd\u2014\u2014\u6bd4\u5982\u6309\u4f4f Option \u952e\u5feb\u901f\u8fdb\u5165\u5378\u8f7d\u6a21\u5f0f\uff0c\u8fd9\u4e2a\u529f\u80fd\u662f 2.1.0 \u7248\u672c\u66f4\u65b0\u7684\uff0c\u540c\u65f6\u8fd8\u52a0\u5165\u4e86\u4ece\u72b6\u6001\u83dc\u5355\u91cd\u542f\u7684\u6307\u4ee4\u3002\u9875\u9762\u95f4\u5bfc\u822a\u4e5f\u505a\u4e86\u4f18\u5316\uff0c\u652f\u6301\u9f20\u6807\u6c34\u5e73\u6eda\u52a8\u548c\u4fa7\u952e\u5207\u6362\u9875\u9762\uff0c\u8fd8\u65b0\u589e\u4e86\u7a97\u53e3\u6a21\u5f0f\uff0c\u53ef\u5728\u66f4\u8f7b\u91cf\u7684\u7a97\u53e3\u4e2d\u4f7f\u7528 LaunchOS \u3002\u5916\u63a5\u78c1\u76d8\u4e0a\u7684\u5e94\u7528\u7ba1\u7406\u4e5f\u6539\u8fdb\u4e86\u2014\u2014\u78c1\u76d8\u91cd\u65b0\u8fde\u63a5\u540e\uff0c\u5e94\u7528\u7684\u4f4d\u7f6e\u548c\u72b6\u6001\u4f1a\u81ea\u52a8\u6062\u590d\u3002</p>\n<p><img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.v2ex.co/0mVn2gB5.png\"/></p>\n<p>\u89e6\u63a7\u677f\u624b\u52bf\u8bc6\u522b\u7ecf\u8fc7\u53cd\u590d\u4f18\u5316\uff0c\u624b\u638c\u8bef\u89e6\u4ee5\u53ca\u5076\u53d1\u7684\u624b\u52bf\u65e0\u54cd\u5e94\u60c5\u51b5\u4e5f\u51cf\u5c11\u4e86\u5f88\u591a\u3002\u4e0e\u6b64\u540c\u65f6\uff0cLaunchOS \u8fd8\u4e13\u95e8\u9002\u914d\u4e86 macOS \u7684 Liquid Glass \u8bbe\u8ba1\u8bed\u8a00\uff0c\u5305\u62ec macOS 27 \u4e0b\u7684\u73bb\u7483\u6548\u679c\uff0c\u89c6\u89c9\u8868\u73b0\u66f4\u52a0\u81ea\u7136\u3002</p>\n<h2>\u56db\u3001LaunchOS 2.0 \u7248\u672c\u7684\u5347\u7ea7</h2>\n<p>\u5728\u6211\u770b\u6765\uff0c\u771f\u6b63\u7684\u8d28\u53d8\u6765\u81ea 2.0 \u7248\u672c\u2014\u2014\u5b98\u65b9\u5ba3\u79f0\u8fd9\u662f<strong>\u5b8c\u5168\u4ece\u96f6\u91cd\u5199</strong>\u7684\u7248\u672c\u3002\u5b98\u65b9\u66f4\u65b0\u65e5\u5fd7\u91cd\u70b9\u5f3a\u8c03\u4e09\u4e2a\u65b9\u9762\uff1a\u542f\u52a8\u901f\u5ea6\u3001\u52a8\u753b\u6d41\u7545\u5ea6\u548c\u62d6\u62fd\u4f53\u9a8c\uff0c\u5e76\u660e\u786e\u652f\u6301 120Hz \u53ca\u4ee5\u4e0a\u5237\u65b0\u7387\u7684\u5c4f\u5e55\u3002\u7f51\u683c\u4e5f\u6269\u5c55\u5230\u4e86\u6bcf\u9875\u6700\u591a 15 \u5217\u00d715 \u884c\u3002</p>\n<p>\u4ece\u5916\u89c2\u8bbe\u8ba1\u4e0a\u770b\uff0cLaunchOS \u51e0\u4e4e<strong>\u4e00\u6bd4\u4e00\u590d\u523b\u4e86\u539f\u751f\u542f\u52a8\u53f0\u7684\u754c\u9762</strong>\uff0c\u7528\u8d77\u6765\u5b8c\u5168\u6ca1\u6709\u8fdd\u548c\u611f\u3002\u540c\u65f6\u5b83\u8fd8\u9002\u914d\u4e86 macOS Tahoe \u7684\u6db2\u6001\u73bb\u7483\u6548\u679c\uff0c\u5728\u65b0\u7cfb\u7edf\u91cc\u770b\u8d77\u6765\u5c31\u50cf\u539f\u751f\u7684\u3002\u6709\u7528\u6237\u8bc4\u4ef7\u8bf4\uff0c\u201cLaunchOS \u5b8c\u7f8e\u5e26\u56de\u4e86 Launchpad \uff0c\u52a8\u753b\u987a\u6ed1\uff0c\u6574\u4f53\u4f53\u9a8c\u548c\u8fc7\u53bb\u7684 Launchpad \u4e00\u6a21\u4e00\u6837\u201d\uff0c\u201c\u4f53\u9a8c\u4e0b\u6765 LaunchOS \u4e0d\u7ba1\u662f\u754c\u9762\u8fd8\u662f\u4ea4\u4e92\u903b\u8f91\u90fd\u975e\u5e38\u6d41\u7545\uff0c\u8fd0\u884c\u4e5f\u5f88\u5feb\uff0c\u8868\u73b0\u5c31\u50cf\u539f\u751f\u5e94\u7528\u4e00\u6837\u201d\u3002</p>\n<p>\u5728\u540c\u7c7b\u4ea7\u54c1\u5bf9\u6bd4\u4e2d\uff0cLaunchOS \u7684\u4f18\u52bf\u4e5f\u5f88\u660e\u663e\u2014\u2014\u6709\u7528\u6237\u8bd5\u8fc7\u591a\u6b3e\u66ff\u4ee3\u54c1\u540e\u8868\u793a\uff0c\u201cLaunchOS \u66f4\u63a5\u8fd1\u539f\u751f\u6548\u679c\uff0c\u91c7\u7528\u7684\u662f\u6db2\u6001\u73bb\u7483\u7684\u6548\u679c\u201d\uff0c\u201c\u6ed1\u52a8\u66f4\u63a5\u8fd1\u539f\u751f\u201d\uff0c\u201cLaunchOS \u66f4\u597d\u7684\u6a21\u4eff\u4e86\u539f\u751f\u7684\u5916\u89c2\u548c\u64cd\u4f5c\u201d\u3002</p>\n<h2>\u4e94\u3001LaunchOS \u8ddf\u539f\u751f\u6709\u4ec0\u4e48\u4e0d\u4e00\u6837\uff1f</h2>\n<p>\u867d\u7136 LaunchOS \u6781\u529b\u8fd8\u539f\u539f\u751f\u4f53\u9a8c\uff0c\u4f46\u5b83\u5e76\u4e0d\u662f\u7b80\u5355\u7684\u590d\u523b\uff0c\u800c\u662f\u5728\u6b64\u57fa\u7840\u4e0a\u505a\u4e86\u5f88\u591a\u6539\u8fdb\u3002</p>\n<p>\u5728\u542f\u52a8\u65b9\u5f0f\u4e0a\uff0c\u5b83\u652f\u6301 Dock \u56fe\u6807\u3001\u83dc\u5355\u680f\u56fe\u6807\u3001\u5168\u5c40\u5feb\u6377\u952e\u3001\u89e6\u63a7\u677f\u624b\u52bf\uff08\u4e09\u6307/\u56db\u6307/\u4e94\u6307\u53ef\u81ea\u5b9a\u4e49\uff09\u3001F4 \u952e\u548c\u89e6\u53d1\u89d2\u7b49\u591a\u79cd\u65b9\u5f0f\u3002\u6d4f\u89c8\u6a21\u5f0f\u9664\u4e86\u539f\u751f\u7684\u5206\u9875\u6d4f\u89c8\uff0c\u8fd8\u589e\u52a0\u4e86<strong>\u7eb5\u5411\u6eda\u52a8\u6a21\u5f0f</strong>\uff0c\u5bf9\u4f7f\u7528\u9f20\u6807\u6eda\u8f6e\u7684\u7528\u6237\u66f4\u53cb\u597d\u3002\u5e94\u7528\u7ba1\u7406\u65b9\u9762\uff0c\u652f\u6301\u6309\u540d\u79f0\u3001\u6dfb\u52a0\u65f6\u95f4\u3001\u6700\u540e\u6253\u5f00\u65f6\u95f4\u6392\u5e8f\uff0c\u53ef\u4ee5\u9690\u85cf\u4e0d\u7528\u7684\u5e94\u7528\uff0c\u8fd8\u80fd<strong>\u4e00\u952e\u7eaf\u51c0\u5378\u8f7d</strong>\u2014\u2014\u628a\u5e94\u7528\u8fde\u540c\u914d\u7f6e\u6587\u4ef6\u4e00\u8d77\u5220\u5e72\u51c0\u3002</p>\n<p>\u6587\u4ef6\u5939\u7ba1\u7406\u652f\u6301\u53f3\u952e\u4e00\u952e\u89e3\u6563\u3002\u5916\u89c2\u4e0a\u66f4\u662f\u6df1\u5ea6\u878d\u5408\u4e86 Liquid Glass \u6548\u679c\uff0c\u80cc\u666f\u652f\u6301\u6bdb\u73bb\u7483\u6216\u7cfb\u7edf\u58c1\u7eb8\u6a21\u7cca\u6548\u679c\uff0c\u5e94\u7528\u56fe\u6807\u4e0a\u8fd8\u4fdd\u7559\u4e86\u539f\u751f\u542f\u52a8\u53f0\u7684\u4e5d\u5bab\u683c\u56fe\u6807\u548c\u5c0f\u706b\u7bad\u56fe\u6807\u3002\u6700\u8d34\u5fc3\u7684\u662f\uff0c\u5b83\u8fd8\u652f\u6301\u4ece\u539f\u751f Launchpad \u5bfc\u5165\u5e03\u5c40\u6570\u636e\uff0c\u5b9e\u73b0\u65e0\u7f1d\u5207\u6362\u3002</p>\n<p><img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.v2ex.co/OME7M0qo.png\"/></p>\n<h2>\u516d\u3001LaunchOS \u7684\u4ef7\u683c\u4e0e\u8d2d\u4e70\u65b9\u5f0f</h2>\n<p>LaunchOS \u91c7\u7528<strong>\u57fa\u7840\u7248\u514d\u8d39 + Pro \u7248\u4e70\u65ad</strong>\u7684\u5b9a\u4ef7\u7b56\u7565\u3002\u57fa\u7840\u7248\u53ef\u4ee5\u6c38\u4e45\u514d\u8d39\u4f7f\u7528\u6838\u5fc3\u542f\u52a8\u53f0\u529f\u80fd\uff0c\u4e0d\u9650\u5e94\u7528\u6570\u91cf\u3002Pro \u7248\u5355\u8bbe\u5907\u6388\u6743 46 \u5143\uff0c2 \u53f0\u8bbe\u5907 69 \u5143\uff0c5 \u53f0\u8bbe\u5907 115 \u5143\uff0c\u90fd\u662f\u7ec8\u8eab\u4e70\u65ad\u3001\u6c38\u4e45\u66f4\u65b0\uff0c\u6240\u6709\u7528\u6237\u90fd\u53ef\u4ee5<strong>\u514d\u8d39\u8bd5\u7528 Pro \u7248 7 \u5929</strong>\u3002</p>\n<p><img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.v2ex.co/18aze347.png\"/></p>\n<p><strong>\u5b98\u65b9\u7f51\u7ad9\uff1a <a href=\"https://launchosapp.com\" rel=\"nofollow\">https://launchosapp.com</a></strong></p>\n<h2>\u603b\u7ed3</h2>\n<p>Apple \u780d\u6389 Launchpad \u8fd9\u4ef6\u4e8b\uff0c\u6709\u4eba\u65e0\u6240\u8c13\uff0c\u6709\u4eba\u96be\u53d7\u4e86\u597d\u4e00\u9635\u3002\u5982\u679c\u4f60\u662f\u540e\u8005\u2014\u2014\u4e60\u60ef\u4e86\u9760\u56fe\u6807\u4f4d\u7f6e\u627e\u5e94\u7528\u3001\u9760\u808c\u8089\u8bb0\u5fc6\u6253\u5f00\u542f\u52a8\u53f0\u3001\u5e0c\u671b\u5728\u65b0\u7cfb\u7edf\u4e0a\u91cd\u5efa\u90a3\u5957\u719f\u6089\u7684\u79e9\u5e8f\u2014\u2014<strong>LaunchOS \u53ef\u80fd\u662f\u76ee\u524d\u6700\u597d\u7684\u9009\u62e9</strong>\u3002</p>\n<p>\u5b83\u4e0d\u8bd5\u56fe\u53d6\u4ee3 Spotlight \uff0c\u4e5f\u4e0d\u6253\u7b97\u505a\u5168\u80fd\u542f\u52a8\u5668\uff0c\u5b83\u5c31\u662f\u8001\u8001\u5b9e\u5b9e\u5730\u628a\u90a3\u4e2a\u88ab\u4f60\u7528\u60ef\u4e86\u7684 Launchpad \u5e26\u56de\u6765\uff0c\u987a\u4fbf\u4fee\u4e86\u4e00\u4e9b\u8001\u6bdb\u75c5\uff0c\u52a0\u4e86\u4e00\u4e9b\u5f88\u5b9e\u7528\u7684\u6539\u8fdb\u3002\u5bf9\u5f88\u591a\u4eba\u6765\u8bf4\uff0c\u8fd9\u5c31\u591f\u4e86\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/dangotown", 
        "name": "dangotown", 
        "avatar": "https://cdn.v2ex.com/avatar/2c22/f4eb/630134_large.png?m=1787577595"
      }, 
      "url": "https://www.v2ex.com/t/1236897", 
      "date_modified": "2026-08-24T13:23:13+00:00", 
      "content_html": "<p>\u5f00\u673a\u65f6\u95f4 110 \u5929\u5de6\u53f3\uff0c\u5199\u5165 55TB<br/>\n\u6700\u8fd1\u4e00\u6b21\u5f00\u673a 6 \u5929\uff0c\u5199\u5165 2.46TB<br/>\n\u6d3b\u52a8\u76d1\u89c6\u5668\u622a\u56fe\u5982\u4e0b<br/>\n<img alt=\"BQACAgUAAyEGAASHRsPbAAEZxT9qjETWkO80Qw7UhOn8fMno5GfhIwACwzIAAg-uYVTOlr4oMXHjVD0E.png\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEZxT9qjETWkO80Qw7UhOn8fMno5GfhIwACwzIAAg-uYVTOlr4oMXHjVD0E.png\"/>\n\u6211\u662f 512G \u7684 m2pro mac mini \uff0c16G \u5185\u5b58\u3002<br/>\n\u611f\u8c22\u56de\u590d</p>\n", 
      "date_published": "2026-08-24T13:21:07+00:00", 
      "title": "Mac mini \u7528\u4e86\u4e09\u5e74\uff0c\u65e5\u5747\u5199\u5165 600GB\uff0c\u8bf7\u95ee\u6709\u5f02\u5e38\u5417", 
      "id": "https://www.v2ex.com/t/1236897"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/msdurex", 
        "name": "msdurex", 
        "avatar": "https://cdn.v2ex.com/gravatar/2bd5fdfd7bbba8e456a1171497dbaa13?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1236701", 
      "title": "\u5fae\u4fe1\u4f60\u80fd\u4e0d\u80fd\u4e0d\u8981\u7ed9\u6b63\u5e38\u4eba\u5582\u7cbe\u795e\u75c5\u836f\u7269\uff1f\ud83d\udc8a", 
      "id": "https://www.v2ex.com/t/1236701", 
      "date_published": "2026-08-24T02:13:22+00:00", 
      "content_html": "<p><img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.v2ex.co/73T6aYRm.png\"/></p>\n<p>\u5fae\u4fe1\u4e00\u4e2a\u6b63\u5e38\u4eba\u662f\u4e0d\u4f1a\u4e0d\u5c0f\u5c0f\u6309\u5230 Command+Q \u7684\uff0c\u957f\u6309\u624d\u80fd\u9000\u51fa\uff1f\u4e0d\u5982\u6211\u7ed9\u4f60\u4e00\u4e2a\u66f4\u597d\u7684\ud83d\udca1idea \uff0c\u770b\u4e2a 30 \u79d2\u5e7f\u544a\u624d\u80fd\u9000\u51fa\u597d\u4e0d\u597d\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wanyaxing", 
        "name": "wanyaxing", 
        "avatar": "https://cdn.v2ex.com/gravatar/afb17d7bd0e8fbb26493977b1f10ffa0?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1236102", 
      "title": "MAC \u5fae\u4fe1\u73b0\u5728\u53ef\u4ee5\u770b\u5230\u7fa4\u6210\u5458\u7684\u5907\u6ce8\u5566\uff01", 
      "id": "https://www.v2ex.com/t/1236102", 
      "date_published": "2026-08-21T03:21:30+00:00", 
      "content_html": "<p>\u60f3\u8981\u8fd9\u4e2a\u529f\u80fd\u5f88\u591a\u5f88\u591a\u5e74\uff0c\u4eca\u5929\u7a81\u7136\u53d1\u73b0\u5c0f\u533a\u7fa4\u91cc\u7684\u4e00\u4e2a\u7528\u6237\u7684\u6635\u79f0\u597d\u773c\u719f\uff0c\u8ddf\u6211\u521a\u521a\u624b\u673a\u4e0a\u5907\u6ce8\u7684\u4e00\u6a21\u4e00\u6837\uff01</p>\n<p>\u4e8e\u662f\u7814\u7a76\u4e86\u4e00\u4e0b\uff0c\u60ca\u559c\u6765\u7684\u592a\u7a81\u7136\u4e86\uff0c\u786e\u8ba4\uff1aMac \u5fae\u4fe1\u53ef\u4ee5\u770b\u5230\u624b\u673a\u4e0a\u7ed9\u5fae\u4fe1\u7fa4\u6210\u5458\u505a\u7684\u5907\u6ce8\u6635\u79f0\u4e86\uff01</p>\n<p>\u4ee5\u524d\uff1a\u624b\u673a\u4e0a\u53ef\u4ee5\u7ed9\u7fa4\u91cc\u672a\u52a0\u597d\u53cb\u7684\u6210\u5458\u5199\u5907\u6ce8\u4e14\u80fd\u5728\u5bf9\u8bdd\u4e2d\u770b\u5230\u7684\u662f\u5907\u6ce8\u4fe1\u606f\uff0c\u4f46\u662f\uff0c\u7535\u8111\u4e0a\u5fae\u4fe1\u5bf9\u8bdd\u91cc\u770b\u5230\u7684\u8fd8\u662f\u53d1\u8a00\u7528\u6237\u81ea\u5df1\u7684\u6635\u79f0\u3002</p>\n<p>\u73b0\u5728\uff1a\u7535\u8111\u4e0a\u5fae\u4fe1\u91cc\u770b\u5230\u7684\u4e5f\u662f\u4f60\u624b\u673a\u4e0a\u7ed9\u5bf9\u65b9\u5199\u7684\u5907\u6ce8\u4e86\u3002</p>\n<p>\u6ce8\uff1a\u4e4b\u524d\u505a\u8fc7\u7684\u5907\u6ce8\u4e0d\u4f1a\u81ea\u52a8\u540c\u6b65\uff0c\u9700\u8981\u4f60\u5728\u624b\u673a\u4e0a\u91cd\u65b0\u7ed9\u5bf9\u65b9\u66f4\u65b0\u4e00\u4e0b\u5907\u6ce8\u3002</p>\n<p>\u9644\uff1a\u7ed9\u5fae\u4fe1\u53cd\u9988\u7559\u7684\u8a00\uff0c\u65e0\u4eba\u56de\u5e94\u3002\u3002\u3002\u3002</p>\n<pre><code>\u5e0c\u671b mac \u7248\u5fae\u4fe1\u652f\u6301\u7ed9\u7fa4\u4e2d\u6210\u5458\u52a0\u5907\u6ce8\u3002\uff08\u624b\u673a\u7248\u672c\u5df2\u7ecf\u652f\u6301\u7684\u5440\uff09\n4 \u6708 23 \u65e5\n\u6211\u60f3\u8981\n\u5e0c\u671b mac \u7248\u5fae\u4fe1\u652f\u6301\u7ed9\u7fa4\u4e2d\u6210\u5458\u52a0\u5907\u6ce8\u3002\n\ud83d\ude24\n\u76ee\u524d\u75db\u70b9\nmac \u4e0a\u770b\u4e0d\u5230\u7fa4\u4e2d\u6210\u5458\u7684\u5907\u6ce8\uff0c\u624b\u673a\u4e0a\u660e\u660e\u5df2\u7ecf\u5907\u6ce8\u597d\u4e86\u7684\u3002\n\ud83d\udca1\n\u6211\u7684\u60f3\u6cd5\n\u8bf7\u652f\u6301\u3002\uff08\u624b\u673a\u7248\u672c\u5df2\u7ecf\u652f\u6301\u7684\u5440\uff09\n4 \u6708 23 \u65e5 \u00b7 1 \u8d5e\n\u6211\u60f3\u8981\n\u5e0c\u671b\u652f\u6301 mac \u7248\u5fae\u4fe1\u4e2d\u652f\u6301\u7fa4\u6210\u5458\u5907\u6ce8\u3002\n\ud83d\ude24\n\u76ee\u524d\u75db\u70b9\n\u76ee\u524d\u5728\u5c0f\u533a\u7fa4\u3001\u540c\u4e8b\u7fa4\u4e2d\uff0c\u9700\u8981\u7ed9\u5404\u79cd\u7279\u7acb\u72ec\u884c\u7684 ID \u52a0\u4e0a\u5907\u6ce8\uff0c\u4e0d\u7136\u5bf9\u4e0d\u4e0a\u4eba\u3002\u3002\u3002\n\ud83d\udca1\n\u6211\u7684\u60f3\u6cd5\n\u624b\u673a\u7aef\u662f\u652f\u6301\u7684\u5440\uff0cmac \u7248\u5565\u65f6\u5019\u624d\u80fd\u652f\u6301\u554a\n2025 \u5e74 8 \u6708 21 \u65e5 \u00b7 19 \u8bc4\u8bba \u00b7 1 \u8d5e\n\u5e0c\u671b mac \u7248\u80fd\u652f\u6301\u7ed9\u7fa4\u4e2d\u6210\u5458\u52a0\u5907\u6ce8\u3002\uff08 iPhone \u7248\u662f\u652f\u6301\u7684\u5440\uff01\uff01\uff01\uff09\n2025 \u5e74 6 \u6708 27 \u65e5 \u00b7 1 \u8d5e\n</code></pre>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/inviteassign", 
        "name": "inviteassign", 
        "avatar": "https://cdn.v2ex.com/avatar/a208/fe38/706699_large.png?m=1726125589"
      }, 
      "url": "https://www.v2ex.com/t/1235494", 
      "title": "MacOS27 beta6 \u8bbf\u8fbe\u5de6\u4e0a\u89d2\u7684[\u7ea2\u9ec4\u7eff]\u6309\u94ae\u6389\u8272", 
      "id": "https://www.v2ex.com/t/1235494", 
      "date_published": "2026-08-19T02:01:44+00:00", 
      "content_html": "<p>\u6628\u5929\u66f4\u65b0\u5230 beta6 \uff0c\u6211\u53d1\u73b0\u8bbf\u8fbe[\u7ea2\u9ec4\u7eff]\u6309\u94ae\u6709\u70b9\u6389\u8272</p>\n<p>\u6d45\u8272\u9875\u9762\u7684 header \u6709\u79cd\u88ab\u98ce\u5439\u65e5\u6652\u4e86\u5f88\u4e45\u7684\u611f\u89c9</p>\n<p><a href=\"https://app.screencast.com/JQI3ooe5Ifpdj\" rel=\"nofollow\">https://app.screencast.com/JQI3ooe5Ifpdj</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/BearCookie", 
        "name": "BearCookie", 
        "avatar": "https://cdn.v2ex.com/avatar/874d/5702/452997_large.png?m=1739705170"
      }, 
      "url": "https://www.v2ex.com/t/1235470", 
      "title": "\u907f\u96f7 APP => Dynamic Wallpaper\uff0c\u6c38\u4e45\u5f3a\u884c\u8f6c\u8ba2\u9605", 
      "id": "https://www.v2ex.com/t/1235470", 
      "date_published": "2026-08-19T01:25:58+00:00", 
      "content_html": "<p>Dynamic Wallpaper \u8fd9\u6b3e APP \uff0c\u7528\u9014\u662f\u52a8\u6001\u58c1\u7eb8</p>\n<p>\u521a\u4e70 mac book \u7684\u65f6\u5019\uff0c\u4e70\u7684\u7b2c\u4e00\u6b3e app \uff0c\u672c\u8eab\u662f\u4ed8\u8d39\u8d2d\u4e70</p>\n<p>\u524d\u6bb5\u65f6\u95f4\u66f4\u65b0\u540e\uff0c\u7a81\u7136\u4ece\u4e70\u65ad\uff0c\u5f3a\u884c\u8f6c\u6362\u4e3a\u8ba2\u9605</p>\n<p>\u6062\u590d\u8d2d\u4e70\u70b9\u4e86\u6ca1\u7528\uff0c\u53d1\u51fa\u6765\u8ba9\u5927\u5bb6\u907f\u96f7\u4e00\u4e0b</p>\n<p>\u540c\u65f6\u8bf7\u95ee\u4e00\u4e0b\u8001\u54e5\u4eec\uff0cmacOS \u4e0a\u6709\u5565\u597d\u7684\u52a8\u6001\u58c1\u7eb8 APP \u63a8\u8350\u5417</p>\n<p>\u53ef\u60dc macOS \u6ca1\u6709 steam \u4e0a\u7684 Wallpaper Enginee</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/flashradonc", 
        "name": "flashradonc", 
        "avatar": "https://cdn.v2ex.com/gravatar/67909b88571143f60ca92d5330152f50?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1235444", 
      "title": "word\uff0c\u62d6\u52a8\u9f20\u6807\u65e0\u6cd5\u9009\u62e9\u6587\u672c", 
      "id": "https://www.v2ex.com/t/1235444", 
      "date_published": "2026-08-18T23:05:26+00:00", 
      "content_html": "<p>macos \u4e0a\u7684 word \uff0c\u62d6\u52a8\u9f20\u6807\u65e0\u6cd5\u9009\u62e9\u6587\u672c\uff0c\u63d2\u4e86 ai \u4e5f\u6ca1\u641e\u660e\u767d\u95ee\u9898\u5728\u54ea\u91cc</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/xiaochenzhu", 
        "name": "xiaochenzhu", 
        "avatar": "https://cdn.v2ex.com/avatar/2b95/9192/465343_large.png?m=1677736066"
      }, 
      "url": "https://www.v2ex.com/t/1235410", 
      "date_modified": "2026-08-18T12:40:44+00:00", 
      "content_html": "<p>\u51e0\u4e4e\u90fd\u662f deepseek \u5b8c\u6210\u7684\uff0c\u90e8\u5206\u7531 cursor \u5b8c\u6210\u3002\n\u76ee\u524d\u7684\u72b6\u6001\u662f\u80fd\u7528\uff0c\u652f\u6301\u5feb\u6377\u952e\u5524\u51fa\u3001\u56db\u6307\u634f\u5408\u548c\u5f00\u673a\u81ea\u542f\u52a8\uff0c\u53ea\u5728\u81ea\u5df1\u7535\u8111\u4e0a\u6d4b\u8bd5\u8fc7\u3002\n\u540e\u7eed\u518d\u8003\u8651\u6587\u4ef6\u5939\u548c\u62d6\u62fd\u90e8\u5206\u7684\u4ea4\u4e92\u3002</p>\n<p>\u653e\u4e2a github \u5730\u5740\uff1a\naHR0cHM6Ly9naXRodWIuY29tL2NjZHl5L1JsYXVuY2g=</p>\n<p>\u6765\u4e2a\u9884\u89c8\u56fe\uff1a<img alt=\"\u9884\u89c8\u56fe\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://github.com/ccdyy/Rlaunch/raw/main/Images/screenshot.png\"/></p>\n", 
      "date_published": "2026-08-18T12:40:02+00:00", 
      "title": "vibe coding \u4e86\u4e00\u4e2a macos26 \u7684 launchpad", 
      "id": "https://www.v2ex.com/t/1235410"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hiWorld", 
        "name": "hiWorld", 
        "avatar": "https://cdn.v2ex.com/gravatar/d6c1c6405c0130628231714734c19fd1?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1235229", 
      "title": "mac \u7528 clion git \u6587\u4ef6\u53d8\u5316\u5f02\u5e38", 
      "id": "https://www.v2ex.com/t/1235229", 
      "date_published": "2026-08-18T03:01:09+00:00", 
      "content_html": "mac \u7528 clion \u51e0\u4e4e\u6240\u6709\u7684\u6587\u4ef6 h cpp \u6587\u4ef6\u5728 idea \u4f1a\u88ab\u8bc6\u522b git \u6709\u53d8\u5316 \u4f46\u5b9e\u9645\u4e0a\u5e76\u6ca1\u6709"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/EricYuan1", 
        "name": "EricYuan1", 
        "avatar": "https://cdn.v2ex.com/avatar/b331/dc8e/651160_large.png?m=1786883813"
      }, 
      "url": "https://www.v2ex.com/t/1234838", 
      "title": "\u7ee7 LaunchX \u878d\u5165 claude/codex \u5feb\u6377\u5207\u6362\u529f\u80fd\u4e4b\u540e\uff0c\u65b0\u589e\u4e86\u4e00\u4e2a\u529f\u80fd\u300c\u80a1\u7968\u300d", 
      "id": "https://www.v2ex.com/t/1234838", 
      "date_published": "2026-08-16T23:53:59+00:00", 
      "content_html": "<p>\u5c0f\u97ed\u83dc\u4eca\u5e74\u5165\u5e02\uff0c\u6700\u8fd1\u5728\u7814\u7a76\u4e00\u4e9b\u7b56\u7565\uff0c\u56de\u770b\u4e00\u4e9b\u80a1\u7968\u6570\u636e\u7684\u65f6\u5019\u6709\u70b9\u9ebb\u70e6\uff0c\u684c\u9762\u7248\u540c\u82b1\u987a\u6211\u8bd5\u7740\u7528\u4e86\uff0c\u8001\u662f\u8bef\u70b9\u4e00\u4e9b\u4e1c\u897f\uff0c\u5c31\u5f88\u70e6\uff0c\u7d22\u6027\u5468\u672b\u4e24\u5929\u7528 glm-5.3 \u628a\u8fd9\u4e2a\u529f\u80fd\u878d\u5165\u5230\u6211\u7684 LaunchX \u4e2d\uff0c\u8fd9\u6837\u6211\u4ee5\u540e\u56de\u770b\u67d0\u4e2a\u80a1\u7968\u8fd1\u671f\u6570\u636e\u7684\u65f6\u5019\u5c31\u6bd4\u8f83\u65b9\u4fbf\u3002</p>\n<p>\u987a\u5e26\uff0c\u628a AI \u5206\u6790\u4e5f\u4e00\u5e76\u878d\u5165\u4e86\u8fdb\u53bb\uff0c\u6548\u679c\u5982\u4e0b\uff1a\n\u529f\u80fd-\u80a1\u7968 AI \u5206\u6790.gif <img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.imgur.com/7F2SOf3.gif\"/> </p>\n<p>\u8bbe\u7f6e\u754c\u9762\u4e2d\uff0c\u81ea\u5b9a\u4e49\u81ea\u5df1\u7684 AI \u6a21\u578b\uff0c\u6211\u8bd5\u4e86\u4e00\u4e0b\uff0c\u8c03\u7528 DeepSeekv4f \uff0c\u4e00\u6b21 2 \u5206\u94b1\uff0c\u8fd8\u884c\u3002\n<img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.imgur.com/RIatKFH.png\"/> </p>\n<p>\u540e\u7eed\u6709\u53ef\u80fd\u4f1a\u52a0\u5165\u591a\u53ea\u80a1\u7968\u5bf9\u6bd4 AI \u5206\u6790\u7684\u529f\u80fd\uff0c\u76ee\u524d\u8fd9\u4e2a\u6211\u8fd8\u662f\u5728 Marvis \u4e2d\u4f7f\u7528\uff0c\u611f\u89c9\u4e5f\u633a\u597d\u3002</p>\n<p>\u6700\u540e\u8fd8\u901a\u8fc7 glm-5.3 \u628a\u4e4b\u524d LaunchX \u7f51\u7ad9\u4f18\u5316\u4e86\u4e00\u4e0b\uff0c\u6548\u679c\u6bd4\u4e4b\u524d\u597d\u4e00\u70b9\u70b9\u3002<br/>\n<a href=\"https://launch-x-website.vercel.app/\" rel=\"nofollow\">https://launch-x-website.vercel.app/</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/bjcwgqm", 
        "name": "bjcwgqm", 
        "avatar": "https://cdn.v2ex.com/avatar/808a/6243/408727_large.png?m=1777806408"
      }, 
      "url": "https://www.v2ex.com/t/1234715", 
      "title": "\u6709\u6c92\u6709\u8fa6\u6cd5\u5b89\u88dd\u820a\u7248\u672c\u7684 MONOKAKIDO Dictionaries\uff1f", 
      "id": "https://www.v2ex.com/t/1234715", 
      "date_published": "2026-08-16T02:04:37+00:00", 
      "content_html": "<p>\u88dd\u4e86\u4e00\u500b\u540c\u540d\u7684 Dictionaries \u8edf\u4ef6\uff0c\u79fb\u5230 Application \u6587\u4ef6\u593e\u5f8c\u7269\u66f8\u5802\u7684 Dictionaries \u88ab\u66ff\u63db\u4e86\uff0cTime Machine \u6c92\u5099\u4efd\uff0cApp Store \u88e1\u65b0\u7684 Dictionaries \u754c\u9762\u96e3\u770b\u5230\u6c92\u8fa6\u6cd5\u7528\u3002\u7cfb\u7d71\u662f macOS Ventura \uff0c\u8edf\u4ef6\u662f 2023 \u9084\u662f 2024 \u5c31\u6c92\u66f4\u65b0\u904e\u4e86\uff0c\u4e0d\u77e5\u9053\u7248\u672c\u865f\u3002\u6709\u5565\u8fa6\u6cd5\u80fd\u88dd\u56de\u8001\u7248\u672c\u7684\u7269\u66f8\u5802 Dictionaries \u55ce\uff1f\u8b1d\u8b1d\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/pyther", 
        "name": "pyther", 
        "avatar": "https://cdn.v2ex.com/avatar/e903/0316/154685_large.png?m=1786786865"
      }, 
      "url": "https://www.v2ex.com/t/1234639", 
      "title": "macOS \u81ea\u5199\u7684\u7b2c\u4e09\u65b9\u8ba1\u7b97\u5668\u5c0f\u5de5\u5177", 
      "id": "https://www.v2ex.com/t/1234639", 
      "date_published": "2026-08-15T09:42:25+00:00", 
      "content_html": "<h2>\u524d\u8a00</h2>\n<p>\u4e4b\u524d\u5728 Windows \u4e0a\u4e00\u76f4\u7528\u4e00\u6b3e\u7279\u522b\u8f7b\u91cf\u7684\u7b2c\u4e09\u65b9\u8ba1\u7b97\u5668\uff0c\u6700\u8fd1\u4e00\u5e74\u4e3b\u529b\u6362\u5230 macOS \uff0c\u4f46\u90a3\u6b3e\u8ba1\u7b97\u5668\u6ca1\u6709 Mac \u7248\u672c\uff0cApp Store \u548c\u7b2c\u4e09\u65b9\u4e5f\u90fd\u6ca1\u627e\u5230\u5408\u9002\u7684\u66ff\u4ee3\u54c1\u3002\u65e5\u5e38\u53c8\u5927\u91cf\u4f9d\u8d56\u8ba1\u7b97\u5668\uff0c\u7d22\u6027\u82b1\u4e86\u4e24\u5468\u65f6\u95f4\uff0c\u7528\u7eaf Swift \u81ea\u5df1\u5199\u4e86\u4e00\u4e2a\u3002\u6700\u7ec8\u6253\u5305\u53ea\u6709 <strong>2.4MB</strong>\uff0c\u4ee3\u7801\u91cf\u5f88\u5c0f\uff0c\u4f46\u529f\u80fd\u4e00\u70b9\u6ca1\u780d\u3002</p>\n<h2>\u7279\u6027</h2>\n<ul>\n<li><strong>38 \u4f4d\u9ad8\u7cbe\u5ea6</strong> \u2014 Decimal \u5f15\u64ce</li>\n<li><strong>\u4e09\u79cd\u8ba1\u7b97\u6a21\u5f0f</strong> \u2014 \u57fa\u7840 / \u79d1\u5b66 / \u7a0b\u5e8f\u5458\uff08\u4e09\u89d2\u3001\u5bf9\u6570\u3001\u9636\u4e58\u3001\u6392\u5217\u7ec4\u5408\u3001\u8d28\u56e0\u6570\u5206\u89e3\u3001\u8fdb\u5236\u8f6c\u6362\u3001\u4f4d\u8fd0\u7b97\uff09</li>\n<li><strong>\u65b9\u7a0b\u6c42\u89e3</strong> \u2014 \u725b\u987f\u6cd5\u8fed\u4ee3</li>\n<li><strong>\u5355\u4f4d &amp; \u8d27\u5e01\u8f6c\u6362</strong> \u2014 16 \u7c7b\u5355\u4f4d + \u591a\u6e90\u6c47\u7387\u7f13\u5b58 + \u4e2d\u6587\u5927\u5199\u91d1\u989d</li>\n<li><strong>\u5168\u751f\u6001\u96c6\u6210</strong> \u2014 \u7075\u52a8\u5c9b / Interactive Widget / Control Widget / Siri / Spotlight / Handoff / \u83dc\u5355\u680f\u8ba1\u7b97\u5668</li>\n<li><strong>\u9690\u79c1\u4f18\u5148</strong> \u2014 \u96f6\u6570\u636e\u6536\u96c6\uff0c\u65e0\u8ffd\u8e2a\uff0c\u65e0\u5e7f\u544a</li>\n<li><strong>\u8de8\u5e73\u53f0</strong> \u2014 iOS 17+ / macOS 14+\uff08 Apple Silicon Only \uff09</li>\n</ul>\n<h2>\u8bf4\u660e</h2>\n<p>\u76ee\u524d\u53ea\u6709\u4e2a\u4eba\u5f00\u53d1\u8005\u7b7e\u540d\uff08 G \u7b7e\uff09\uff0c\u6ca1\u6709\u4e0a\u67b6 App Store \uff08\u9700\u8981\u7f34\u7eb3 99 \u7f8e\u91d1\u5e74\u8d39\uff09\uff0c\u6240\u4ee5\u6682\u65f6\u65e0\u6cd5\u63d0\u4f9b IPA \u7ed9 iOS / iPadOS \u7528\u6237\uff0c\u81ea\u5df1\u7528\u8db3\u591f\u4e86\u3002\u73b0\u5728\u628a macOS \u7248\u672c\u7684 DMG \u514d\u8d39\u5206\u4eab\u7ed9\u5927\u5bb6\u3002\u8bba\u575b\u91cc\u7528 macOS \u7684\u670b\u53cb\u53ef\u80fd\u4e0d\u591a\uff0c\u6709\u9700\u8981\u7684\u53ef\u4ee5\u5c1d\u8bd5\u4e00\u4e0b\uff0c\u4e5f\u6b22\u8fce\u591a\u6279\u8bc4\u63d0\u5efa\u8bae\uff0c\u907f\u514d\u6211\u95ed\u95e8\u9020\u8f66\u3002</p>\n<p>\u56fe\u6807\u548c\u540d\u5b57\u90fd\u662f\u968f\u624b\u8d77\u7684\uff0c\u56fe\u6807\u786e\u5b9e\u6bd4\u8f83\u4e11\uff0c\u5982\u679c\u575b\u5b50\u91cc\u6709\u64c5\u957f\u8bbe\u8ba1\u56fe\u6807\u7684\u670b\u53cb\u613f\u610f\u5e2e\u5fd9\uff0c\u90a3\u5c31\u518d\u597d\u4e0d\u8fc7\u4e86\u3002</p>\n<h2>\u4e0b\u8f7d</h2>\n<p>\u84dd\u594f\u4e91\uff1a<a href=\"https://wwbvs.lanzouq.com/iV51842eq2od\" rel=\"nofollow\">https://wwbvs.lanzouq.com/iV51842eq2od</a></p>\n<h2>\u75c5\u6bd2\u67e5\u6740</h2>\n<ul>\n<li>VirScan\uff1a<a href=\"https://www.virscan.org/report/fe56e9e6e81873d6215cb55edac9aa714ffb5f2169bf14c944b956971af594e9\" rel=\"nofollow\">https://www.virscan.org/report/fe56e9e6e81873d6215cb55edac9aa714ffb5f2169bf14c944b956971af594e9</a></li>\n<li>VirusTotal\uff1a<a href=\"https://www.virustotal.com/gui/file/fe56e9e6e81873d6215cb55edac9aa714ffb5f2169bf14c944b956971af594e9\" rel=\"nofollow\">https://www.virustotal.com/gui/file/fe56e9e6e81873d6215cb55edac9aa714ffb5f2169bf14c944b956971af594e9</a></li>\n</ul>\n<h2>\u622a\u56fe</h2>\n<p><img alt=\"\u622a\u56fe 1\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477F98b0LiHFkiqd3EAE.png\"/>\n<img alt=\"\u622a\u56fe 2\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477F96e3ySuPfqIv9Rbi.png\"/>\n<img alt=\"\u622a\u56fe 3\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477EMZR9bNC7Vn4BxYOU.png\"/>\n<img alt=\"\u622a\u56fe 4\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477EKbUPInsqLGmWm3M1.png\"/>\n<img alt=\"\u622a\u56fe 5\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477EKVFL8nbczYcjHce9.png\"/>\n<img alt=\"\u622a\u56fe 6\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477EKU52hsguDbmZk1fC.png\"/>\n<img alt=\"\u622a\u56fe 7\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477EKMBCqJGSFZTnTiJi.png\"/>\n<img alt=\"\u622a\u56fe 8\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477EJmPD6WTIgxzJzSbt.png\"/>\n<img alt=\"\u622a\u56fe 9\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477EJebjNQ5X2avHxipS.png\"/>\n<img alt=\"\u622a\u56fe 10\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477EJets7hamBFL6vgSc.png\"/>\n<img alt=\"\u622a\u56fe 11\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477EJcx7un1lMd7mwhjD.png\"/>\n<img alt=\"\u622a\u56fe 12\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pic1.imgdb.cn/i/03477EJbsZj7NnvuHRuLCf.png\"/></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/RayJiang9", 
        "name": "RayJiang9", 
        "avatar": "https://cdn.v2ex.com/avatar/8382/545b/424826_large.png?m=1766625747"
      }, 
      "url": "https://www.v2ex.com/t/1234271", 
      "title": "UU \u8fdc\u7a0b\u6709\u529e\u6cd5\u7528 \u2318+Q \u5173\u95ed\u8fdc\u7a0b\u684c\u9762\u4e0a\u7684 App \u5417\uff1f", 
      "id": "https://www.v2ex.com/t/1234271", 
      "date_published": "2026-08-14T02:04:41+00:00", 
      "content_html": "mac \u8fdc\u7a0b mac \uff0cVNC \u53ef\u4ee5 \u2318+Q \u5173\u95ed\u8fdc\u7a0b\u684c\u9762\u4e0a\u7684 App \uff0c\u5230 UU \u8fd9\u91cc\u6bcf\u6b21 \u2318+Q \u90fd\u662f\u628a UU \u8fdc\u7a0b\u81ea\u5df1\u5173\u6389\uff0c\u771f\u7ef7\u4e0d\u4f4f\u4e86\u3002<br /><br />\u95ee\u4e86 AI \u53ef\u4ee5\u5728\u7cfb\u7edf\u8bbe\u7f6e \u2192 \u952e\u76d8 \u2192 \u952e\u76d8\u5feb\u6377\u952e \u2192 App \u5feb\u6377\u952e\uff0c\u628a\u5173\u95ed App \u7684\u5feb\u6377\u952e\u4ece \u2318+Q \u6539\u6210\u522b\u7684\u5feb\u6377\u952e\u3002<br /><br />\u6539\u5b8c\u5feb\u6377\u952e \u2318+Q \u5c31\u6ca1\u4efb\u4f55\u53cd\u5e94\u4e86\uff0c\u4e0d\u4f1a\u5173\u95ed UU \uff0c\u8fdc\u7a0b\u684c\u9762\u4e5f\u4e0d\u4f1a\u5173\u95ed App"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/pricky777", 
        "name": "pricky777", 
        "avatar": "https://cdn.v2ex.com/avatar/2308/72c7/550486_large.png?m=1775704250"
      }, 
      "url": "https://www.v2ex.com/t/1234207", 
      "title": "macOS \u7248\u5fae\u4fe1\u53c8\u5f00\u59cb\u5582 shi \u4e86\u3002\u3002\u3002", 
      "id": "https://www.v2ex.com/t/1234207", 
      "date_published": "2026-08-13T13:13:25+00:00", 
      "content_html": "<p>\u9f20\u6807\u79fb\u5230\u8f93\u5165\u6846\uff0c\u5c31\u51fa\u73b0\u300c\u6309\u4f4f\u9f20\u6807 \u8bed\u97f3\u8f93\u5165\u6587\u5b57\u300d\u3002\u3002\u3002\u75af\u4e86</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/shunqwang", 
        "name": "shunqwang", 
        "avatar": "https://cdn.v2ex.com/gravatar/265eb276afce0dcbae78958dde94af10?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1233574", 
      "title": "mac \u8f6f\u4ef6\u514d\u8d39\u4e0b\u8f7d", 
      "id": "https://www.v2ex.com/t/1233574", 
      "date_published": "2026-08-11T07:32:21+00:00", 
      "content_html": "<p>\u9a6c\u514b\u55b5\u8f6f\u4ef6\u514d\u8d39\u4e0b\u8f7d</p>\n<p><a href=\"https://h5.m.goofish.com/item?id=1071930815353\" rel=\"nofollow\">https://h5.m.goofish.com/item?id=1071930815353</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/lylehust", 
        "name": "lylehust", 
        "avatar": "https://cdn.v2ex.com/gravatar/f7b4e31b495931d53611c4ddb28e49c3?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1233395", 
      "title": "gfxCardStatus \u66f4\u65b0", 
      "id": "https://www.v2ex.com/t/1233395", 
      "date_published": "2026-08-10T19:25:05+00:00", 
      "content_html": "<p>\u6211\u7684\u7b14\u8bb0\u672c\u5f88\u8001\uff0c2013 early 15\" Macbook Pro \u3002\u7528 OpenCore Legacy Patcher \u66f4\u65b0\u5230 macOS 15.7.8 \u3002\u7ed3\u679c\u98ce\u6247\u4e00\u76f4\u62fc\u547d\u8f6c\uff0c\u592a\u5435\u4e86\uff0c\u6e29\u5ea6\u4e5f\u5f88\u9ad8\u3002\u5c31\u60f3\u7528 gfxCardStatus \uff0c\u4e00\u76f4\u7528\u72ec\u7acb\u663e\u5361\uff0c\u4f1a\u4e0d\u4f1a\u597d\u4e00\u70b9\u3002\u539f\u7248\u672c\u8fd8\u662f 5 \u30016 \u5e74\u524d\u7684\uff0c\u4f30\u8ba1\u4e0d\u80fd\u5728 macOS 15 \u4e0a\u8dd1\u4e86\u3002\u4e8e\u662f\u7528 deepseek flash \u628a\u4ee3\u7801\u5347\u7ea7\u4e86\uff0c\u73b0\u5728\u53ef\u4ee5\u5728 macOS 15 \u4e0a\u8dd1\uff0c\u80fd\u7528\uff0c\u597d\u50cf\u4e5f\u6ca1\u4ec0\u4e48\u6539\u5584\u3002</p>\n<p>\u9700\u8981\u7684\u53ef\u4ee5\u5230\u4e0b\u9762\u7684\u94fe\u63a5\u4e0b\u8f7d\u3002</p>\n<p><a href=\"https://github.com/lylehust/gfxCardStatus\" rel=\"nofollow\">https://github.com/lylehust/gfxCardStatus</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/19cm", 
        "name": "19cm", 
        "avatar": "https://cdn.v2ex.com/avatar/bc96/b727/522781_large.png?m=1768414908"
      }, 
      "url": "https://www.v2ex.com/t/1233390", 
      "title": "macOS 27 Golden Gate beta 5 \u6765\u4e86", 
      "id": "https://www.v2ex.com/t/1233390", 
      "date_published": "2026-08-10T17:36:43+00:00", 
      "content_html": "<p>\u7ec8\u4e8e\u6765\u4e86,\u8bf6</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/KousukeSakurako", 
        "name": "KousukeSakurako", 
        "avatar": "https://cdn.v2ex.com/avatar/b1a9/d32d/309801_large.png?m=1613093201"
      }, 
      "url": "https://www.v2ex.com/t/1233233", 
      "date_modified": "2026-08-10T05:44:50+00:00", 
      "content_html": "<p>AHK \u811a\u672c\uff1a\nGIST: <a href=\"https://gist.github.com/NobeKanai/261834ece0990b9b74272b09a350f003\" rel=\"nofollow\">https://gist.github.com/NobeKanai/261834ece0990b9b74272b09a350f003</a> <br/>\n\u6ce8\uff1a\u4e0b\u65b9\u8bc4\u8bba\u533a\u6709\u4e00\u4e9b\u9488\u5bf9\u7279\u5b9a\u5e94\u7528\u5355\u72ec\u914d\u7f6e\u7684\u989d\u5916\u8865\u5145\u3002</p>\n<p>\u80cc\u666f\uff1a<br/>\n\u6c9f\u69fd\u7684\u5de5\u4f5c\u8ba9\u6211\u5fc5\u987b\u540c\u65f6\u7528\u4e09\u53f0 JIS \u5e03\u5c40\u4e14\u5404\u6709\u7ec6\u5fae\u4e0d\u540c\u7684\u952e\u76d8\u7684 Windows \u7b14\u8bb0\u672c\uff0c</p>\n<p>\u800c\u6211\u65e9\u5df2\u7ecf\u4e60\u60ef\u4e86\u6807\u51c6\u7684 US \u5e03\u5c40 Mac \u952e\u76d8\uff0c\u78b0\u5230\u8fd9\u79cd\u5b9e\u5728\u5fcd\u4e0d\u4e86\u4e00\u70b9\u3002\u4e8e\u662f\u6211\u76f4\u63a5\u5165\u4e86\u4e00\u4e2a\u957f\u5f97\u633a\u50cf\uff1f magic keyboard \u7684 Keychron B1 Pro \uff0c\u7136\u540e\u7269\u7406\u4ea4\u6362\u4e86\u5de6\u4fa7 Ctrl \u548c Alt \u3002\u4f46\u91cd\u5ea6\u7528\u8d77\u6765\u8fd8\u662f\u5f88\u96be\u53d7\uff0c\u4e8e\u662f\u5f00\u59cb\u6298\u817e ahk \u811a\u672c\u3002</p>\n<p>\u4f7f\u7528\u524d\u63d0\uff1a</p>\n<ul>\n<li>\u4e00\u628a\u5e03\u5c40\u63a5\u8fd1 Mac \u7684\u952e\u76d8\uff1aWindows \u7b14\u8bb0\u672c\u7684 Fn \u4e00\u822c\u90fd\u653e\u5728 Ctrl \u53f3\u8fb9\uff0c\u975e\u5e38\u86cb\u75bc\u3002\u6240\u4ee5\u6211\u76f4\u63a5\u9009\u4e86\u4e2a\u5de6\u4fa7\u6ca1\u6709 Fn \u952e\u7684\u952e\u76d8\u3002</li>\n<li>\u4ea4\u6362\u5de6\u4fa7 Ctrl \u548c Alt \u952e\uff1aKeychron \u53ef\u4ee5\u7528 Keychron Launcher \u76f4\u63a5\u6539\u3002\u5982\u679c\u4e0d\u80fd\u6539\u7684\u952e\u76d8\u7684\u8bdd\uff0c\u542c\u8bf4\u53ef\u4ee5\u901a\u8fc7\u6539\u6ce8\u518c\u8868\u6216\u8005\u7528 PowerToys \u6539\uff0c\u672c\u4eba\u4e0d\u662f\u5f88\u6e05\u695a\u3002</li>\n<li>\u6211\u624b\u8fb9\u9664\u4e86\u4e09\u53f0\u5de5\u4f5c\u7528\u673a\uff08\u7cfb\u7edf\u914d\u7f6e\u51e0\u4e4e\u4e00\u6837\uff09\uff0c\u6ca1\u6709\u522b\u7684 Windows \u8bbe\u5907\u6765\u6d4b\u8bd5\uff0c\u6240\u4ee5\u53ef\u80fd\u6ca1\u6709\u610f\u8bc6\u5230\u6709\u522b\u7684\u524d\u63d0\u6761\u4ef6\u3002</li>\n</ul>\n<p>\u4f18\u52bf\uff1f\uff1a</p>\n<ul>\n<li>Capslock \u5207\u6362\u8bed\u8a00\u6a21\u5f0f\u7684\u65f6\u5019\u4f1a\u5728\u8f93\u5165\u4f4d\u7f6e\u65c1\u8fb9\u663e\u793a\u8bed\u8a00\u6a21\u5f0f\uff08\u611f\u8c22 Tebayaki/AutoHotkeyScripts \uff09\u3002</li>\n<li>\u89e3\u51b3\u4e86\u6c9f\u69fd\u7684 Teams \u5728\u5feb\u901f\u5207\u6362\u5e94\u7528\u65f6\u4f1a\u83ab\u540d\u5176\u5999\u5361\u6b7b\u7684\u95ee\u9898\u3002\uff08\u4f3c\u4e4e\u548c SendInput \u53d1\u9001\u5feb\u6377\u952e\u592a\u5feb\u6709\u5173\uff0c\u6298\u817e\u4e86\u4e00\u5e74\u591a\u8fd8\u662f\u6ca1\u53d1\u73b0\u89c4\u5f8b\uff09</li>\n<li>\u9f20\u6807\u4e2d\u952e = macbook \u7684\u56db\u6307\u4e0a\u6ed1\uff0c\u611f\u89c9\u975e\u5e38\u5b9e\u7528\u3002\u6211\u7528 mac \u65f6\u7ecf\u5e38\u65e0\u610f\u8bc6\u4e2d\u56db\u6307\u4e0a\u6ed1\uff0c\u73b0\u5728\u7528 windows \u4e0a\u7ecf\u5e38\u65e0\u610f\u8bc6\u6309\u9f20\u6807\u4e2d\u952e\u3002\u975e\u5e38\u89e3\u538b\u3002</li>\n<li>\u8d44\u6e90\u7ba1\u7406\u5668\u4e2d\u9009\u4e2d\u6587\u4ef6\u6309\u4e0b Enter \u53ef\u4ee5\u91cd\u547d\u540d\u6587\u4ef6\uff01</li>\n<li>\u5355\u72ec\u6309\u4e0b Ctrl \uff08=Alt \uff09\u4e0d\u4f1a\u805a\u7126\u5230\u83dc\u5355\u680f\uff01</li>\n<li>Shift+Del \u7684\u5c31\u80fd\u6c38\u4e45\u5220\u9664\u6587\u4ef6\uff0c\u4f46\u4f60\u5c31\u662f\u4e0b\u610f\u8bc6\u6309 Win(Opt)+Alt(Cmd)+Backspace \uff1f  Win+Shift+s \u5c31\u80fd\u622a\u56fe\uff0c\u4f46\u4f60\u5c31\u662f\u5fcd\u4e0d\u4f4f\u6309 Ctrl+Alt(Cmd)+Shift+4 \uff1f  \u6309\u4e0b Win \u952e\u5c31\u80fd\u6253\u5f00\u5f00\u59cb\u83dc\u5355\uff0c\u4f46\u4f60\u5c31\u662f\u60f3\u6309 Alt(Cmd)+Space \uff1f</li>\n<li>\u5fd8\u4e86\u3002\u3002\u3002\u5927\u5bb6\u81ea\u5df1\u770b\u4ee3\u7801\u6ce8\u91ca\u5427\u3002</li>\n</ul>\n<p>\u8fd9\u4e2a\u811a\u672c\u6211\u8fb9\u7528\u8fb9\u6539\u4e86\u4e00\u5e74\u591a\u4e86\u3002\u91cc\u9762\u57fa\u672c\u4e0a\u8986\u76d6\u4e86\u6211 99%\u7684\u4f7f\u7528\u573a\u666f\u3002\u4f46\u91cc\u9762\u4e5f\u5305\u542b\u4e0d\u5c11\u4e3a\u4e86\u914d\u5408\u6211\u4e2a\u4eba\u4e60\u60ef\u7684\u8bbe\u5b9a\u3002\u6b64\u5916\u6211\u7528\u4e0d\u7740\u7684\u5feb\u6377\u952e\u6620\u5c04\u81ea\u7136\u662f\u6ca1\u505a\u3002</p>\n<p>\u524d\u6bb5\u65f6\u95f4\u6211\u8ba9 gpt-5.6-sol \u6574\u7406\u4e86\u4ee3\u7801\u7ed3\u6784\u7136\u540e\u8865\u5168\u4e86\u6ce8\u91ca\uff0c\u7406\u8bba\u4e0a\u5e94\u8be5\u6613\u8bfb\u4e86\u4e00\u4e9b\u3002\u6240\u4ee5\u63a8\u8350\u60f3\u8bd5\u8bd5\u7684\u4eba\u6839\u636e\u81ea\u5df1\u7684\u4e60\u60ef\u6539\u4ee3\u7801\u3002</p>\n", 
      "date_published": "2026-08-10T05:41:04+00:00", 
      "title": "\u7ed9\u7528\u60ef\u4e86 macOS \u5feb\u6377\u952e\u4f46\u53c8\u5fc5\u987b\u91cd\u5ea6\u4f7f\u7528 Windows \u7684\u670b\u53cb\u5206\u4eab\u81ea\u5df1\u5728\u7528\u7684\u5feb\u6377\u952e\u6620\u5c04\u65b9\u6848", 
      "id": "https://www.v2ex.com/t/1233233"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/rnrtralrzei", 
        "name": "rnrtralrzei", 
        "avatar": "https://cdn.v2ex.com/gravatar/7a09d417bcf964395a768eeab87193a0?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1232913", 
      "date_modified": "2026-08-08T08:14:30+00:00", 
      "content_html": "<p><a href=\"https://support.apple.com/zh-cn/guide/mac-help/mchl46b3ab20/26/mac/26\" rel=\"nofollow\">https://support.apple.com/zh-cn/guide/mac-help/mchl46b3ab20/26/mac/26</a></p>\n<blockquote>\n<p>\u5728 Mac \u4e0a\u914d\u5408 Apple \u667a\u80fd\u4f7f\u7528\u5343\u95ee</p>\n</blockquote>\n<blockquote>\n<p>\u5982\u679c\u9009\u62e9\u5141\u8bb8 Apple \u667a\u80fd\u914d\u5408\u6765\u81ea\u963f\u91cc\u5df4\u5df4*\u7684\u5343\u95ee\u5de5\u4f5c\uff0c\u4f60\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a</p>\n</blockquote>\n<blockquote>\n<p>\u4ece Siri \u83b7\u53d6\u66f4\u591a\u7b54\u6848\uff1a\u5bf9\u4e8e\u67d0\u4e9b\u8bf7\u6c42\uff0cSiri \u53ef\u5229\u7528\u5343\u95ee\u63d0\u4f9b\u66f4\u6df1\u5165\u7684\u7b54\u6848\uff0c\u4f8b\u5982\uff0c\u7167\u7247\u548c\u6587\u7a3f\u7684\u76f8\u5173\u5206\u6790\u3002</p>\n</blockquote>\n<blockquote>\n<p>\u901a\u8fc7\u5199\u4f5c\u5de5\u5177\u521b\u4f5c\u6587\u672c\uff1a\u501f\u52a9\u5343\u95ee\uff0c\u5199\u4f5c\u5de5\u5177\u4ec5\u51ed\u63cf\u8ff0\u5373\u53ef\u521b\u4f5c\u6587\u672c\u6216\u56fe\u50cf\u3002</p>\n</blockquote>\n<blockquote>\n<p>[\u6ce8]  Apple \u667a\u80fd\u5e76\u975e\u5728\u6240\u6709 Mac \u673a\u578b\u4e0a\u90fd\u53ef\u7528\uff0c\u4e5f\u5e76\u975e\u5bf9\u6240\u6709\u8bed\u8a00\u6216\u5730\u533a\u90fd\u53ef\u7528\u3002** \u82e5\u8981\u8bbf\u95ee\u6700\u65b0\u53ef\u7528\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u4f7f\u7528\u6700\u65b0\u7248\u672c\u7684 macOS \u5e76\u6253\u5f00 Apple \u667a\u80fd\u3002\u5343\u95ee\u6269\u5c55\u5728\u4ee5\u4e0b\u4e09\u79cd\u60c5\u5f62\u4e2d\u9002\u7528\u4e8e macOS 26.6 \u6216\u66f4\u9ad8\u7248\u672c\uff1a\u4f60\u4f4d\u4e8e\u4e2d\u56fd\u5927\u9646\u4e14 Apple \u8d26\u6237\u56fd\u5bb6\u6216\u5730\u533a\u8bbe\u4e3a\u4e2d\u56fd\u5927\u9646\uff1b\u4f60\u4f4d\u4e8e\u4e2d\u56fd\u5927\u9646\u4e14\u5c1a\u672a\u767b\u5f55 Apple \u8d26\u6237\uff1b Mac \u662f\u5728\u4e2d\u56fd\u5927\u9646\u8d2d\u4e70\u3002***</p>\n</blockquote>\n", 
      "date_published": "2026-08-08T08:12:45+00:00", 
      "title": "macOS 26.6 \u56fd\u884c Apple Intelligence \u5c06\u96c6\u6210\u5343\u95ee", 
      "id": "https://www.v2ex.com/t/1232913"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Ryanzlab", 
        "name": "Ryanzlab", 
        "avatar": "https://cdn.v2ex.com/avatar/3bc1/3ed6/637456_large.png?m=1778930068"
      }, 
      "url": "https://www.v2ex.com/t/1232881", 
      "date_modified": "2026-08-08T08:56:26+00:00", 
      "content_html": "\u770b\u4e86\u4e00\u4e0b\u6574\u4e2a\u8bc4\u8bba\u533a\uff0c\u7ed9\u6211\u7684\u611f\u89c9\u597d\u50cf\u5c31\u662f\u8981\u7528 Mac \uff0c\u4f60\u5f97\u53bb\u770b\u5b98\u7f51\u7684\u6559\u7a0b\uff0c\u4f60\u5f97\u53bb\u4e86\u89e3\u5404\u79cd\u63d2\u4ef6\uff0c\u5404\u79cd\u5feb\u6377\u65b9\u5f0f\uff0c\u7136\u540e\u4f60\u8fd8\u5f97\u719f\u6089\u4f7f\u7528\u89e6\u6478\u677f\u3002\u4f46\u662f\u60f3\u60f3\u6700\u65e9\u5c0f\u65f6\u5019\u63a5\u89e6 win \uff0c\u597d\u50cf\u6ca1\u6709\u90a3\u4e48\u591a\u4e1c\u897f\u8981\u5b66\u4e60\u7684...\u50cf\u662f\u81ea\u6765\u719f\u4e00\u6837\uff0c\u6839\u672c\u5c31\u4e0d\u9700\u8981\u5b66\u4e60\uff0c\u62ff\u8d77\u9f20\u6807\u952e\u76d8\u5c31\u80fd\u7528\u4e86\uff0c\u4e0d\u77e5\u9053\u5404\u4f4d\u6709\u6ca1\u6709\u7c7b\u4f3c\u7684\u611f\u89e6\uff1f<br /><br />\u7136\u540e\u5c31\u662f\uff0c\u56fd\u533a\u8d26\u53f7\u975e\u5e38\u4e0d\u53cb\u597d\uff0c\u60f3\u4e0b\u4e00\u4e2a\u4e1c\u897f\uff0c\u5c31\u662f\u641c\u4e0d\u5230\uff0c\u4e4b\u524d\u4e3a\u4e86\u8fde\u8fdc\u7a0b\u684c\u9762\u4e0b Windows APP \u5c31\u5f97\u5207\u5916\u533a\u8d26\u6237\uff0c\u9664\u6b64\u4e4b\u5916\u522b\u65e0\u5176\u4ed6\u5b89\u88c5\u65b9\u5f0f\uff0c\u597d\u591a\u4e1c\u897f\u6ca1\u6709\u63d0\u4f9b dmg \u5b89\u88c5\u5305....\u50cf\u5fae\u8f6f\u8fd9\u8fb9\uff0c\u5c31\u53ea\u9700\u8981\u628a\u533a\u57df\u5207\u6210\u7f8e\u56fd\u5c31\u597d\u4e86", 
      "date_published": "2026-08-08T04:23:12+00:00", 
      "title": "\u7ec8\u4e8e\u770b\u5230 V2 \u6709\u4eba\u53d1 mac \u4e0d\u597d\u7528\u4e86....\u6211\u4e00\u76f4\u4ee5\u4e3a\u53ea\u6709\u6211\u89c9\u5f97\u96be\u7528", 
      "id": "https://www.v2ex.com/t/1232881"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/notcry", 
        "name": "notcry", 
        "avatar": "https://cdn.v2ex.com/avatar/4eda/c966/46668_large.png?m=1786079922"
      }, 
      "url": "https://www.v2ex.com/t/1232697", 
      "date_modified": "2026-08-07T05:48:43+00:00", 
      "content_html": "<p>\u7801\u519c\uff0c\u4e00\u76f4\u7528 Windows(\u57fa\u672c\u6240\u6709\u64cd\u4f5c\u90fd\u662f\u5feb\u6377\u952e\uff0c\u6bd4\u8f83\u5c11\u7528\u9f20\u6807\uff0c\u5b8c\u5168\u4e0d\u5f71\u54cd\u5de5\u4f5c)\uff0c\u672c\u6708\u5207\u6362\u5230 Mac OS \uff08 Macmini M4 Pro \uff09\u4e4b\u540e\uff0c\u611f\u89c9\u975e\u5e38\u4e0d\u597d\u7528\uff0c\u751a\u81f3\u53cd\u4eba\u7c7b\u3002</p>\n<p>\u6211\u77e5\u9053\u5f88\u591a\u7684\u7a0b\u5e8f\u5458\u3001\u5927\u725b\u90fd\u662f\u7528 Mac OS \uff0c\u73b0\u5728\u751a\u81f3\u6000\u7591\u662f\u6211\u81ea\u5df1\u7684\u95ee\u9898\u3002 \u60f3\u542c\u542c\u5927\u5bb6\u7684\u770b\u6cd5\u3002</p>\n<p>\u6587\u4ef6\u5939\u4e2d\u6709 14 \u5f20\u56fe\u7247\uff08\u53c2\u89c1\u56fe\u7247\uff09\uff0c\u7f16\u53f7\u4ece 1 \u5230 14 \u3002</p>\n<ul>\n<li>\u9f20\u6807\u53cc\u51fb\u6253\u5f00\u4e00\u5f20\u4e4b\u540e\uff0c\u65b9\u5411\u952e(\u6216\u8005 PageUp\\PageDown \u952e\u65e0\u6cd5\u5207\u6362\u4e0a\u4e00\u5f20\u4e0b\u4e00\u5f20)\uff1b</li>\n<li>\u9f20\u6807\u70b9\u4e2d\uff0c\u6309\u56de\u8f66\u952e\uff0c\u4e0d\u662f\u6253\u5f00\uff0c\u662f\u66f4\u540d\u3002\u7535\u8111\u5b58\u5728\u8fd9\u4e48\u591a\u5e74\uff0c\u56de\u8f66\u4e0d\u4e00\u76f4\u662f\u786e\u8ba4\u5417\uff1b</li>\n<li>\u9f20\u6807\u9009\u4e2d\uff0c\u7a7a\u683c\u6253\u5f00\uff0c\u6309\u65b9\u5411\u952e\u53ef\u4ee5\u5207\u6362\u5c55\u793a\uff0c\u4f46\u53ea\u80fd\u5207\u6362\u5230\u8fd9\u4e00\u884c\u7684\u6700\u540e\u4e00\u5f20\uff0c\u5982\u679c\u60f3\u770b\u7b2c\u4e8c\u884c\u7684\u7b2c\u4e00\u5f20\uff0c\u9700\u8981\u7528\u5de6\u65b9\u5411\u952e\u5207\u6362\u5230\u7b2c\u4e00\u884c\u7684\u7b2c\u4e00\u5f20\uff0c\u7136\u540e\u6309\u4e0b\u65b9\u5411\u952e\u5207\u6362\u5230\u7b2c\u4e8c\u884c\u7b2c\u4e00\u5f20\u3002\u6211\u89c9\u5f97\u8fd9\u70b9\u662f\u6700\u53cd\u4eba\u7c7b\u7684\u8bbe\u8ba1\u3002\u6211\u7684\u4e00\u4e2a\u6587\u4ef6\u5939\u4e2d\u6709\u4e00\u5806\u56fe\u7247\uff0c\u96be\u9053\u5b83\u4eec\u4e0d\u662f\u4e00\u4e2a\u6574\u4f53\u5417\uff1f\u4e3a\u4ec0\u4e48\u7528\u65b9\u5411\u952e\u53f3\u952e\u5207\u5230\u7b2c\u4e00\u884c\u6700\u540e\u4e00\u5f20\u65f6\uff0c\u518d\u6b21\u6309\u65b9\u5411\u952e\u53f3\u952e\u65e0\u6cd5\u5207\u6362\u5230\u7b2c\u4e8c\u884c\u7b2c\u4e00\u5f20\uff0c\u6211\u89c9\u5f97\u505a\u51fa\u8fd9\u79cd\u8bbe\u8ba1\u6765\u7684\u4eba\uff0c\u7b80\u76f4\u662f\u4e00\u4e2a\u7b11\u8bdd\uff1b</li>\n<li>\u9f20\u6807\u9009\u4e2d\uff0c\u7a7a\u683c\u6253\u5f00\uff0ctab \u5207\u6362\u3002\u53ef\u4ee5\u770b\u73a9\u76ee\u5f55\u4e2d\u7684\u6240\u6709\u56fe\u7247\u3002\u7136\u540e\uff0c\u6700\u5927\u7684\u7b11\u8bdd\u6765\u4e86\u30021 \u770b\u5b8c\u4e4b\u540e\u662f 10 \u300111 \u300112 \u300113 \u300114 \u30012 \u30013 \u30014 \u3001....\u30018 \u30019 \u30011 \u5c45\u7136\u662f\u8fd9\u6837\u7684\u987a\u5e8f\u3002  \u6211\u8bb0\u5f97\u4e0a\u53e4\u65f6\u4ee3\u7684 windows \u4e5f\u5b58\u5728\u8fd9\u4e2a\u95ee\u9898\u3002\u5bfc\u81f4\u5f88\u591a\u60c5\u51b5\u4e0b\uff0c\u5927\u5bb6\u90fd\u7f16\u53f7\u4e3a 001 \u3001002 \u3001003 \u8fd9\u6837\uff0c\u80fd\u5f97\u5230\u9884\u671f\u7684\u987a\u5e8f\u3002\u4f46 windows 10 \u5df2\u7ecf\u7528\u4e86\u4e0d\u77e5\u9053\u591a\u5c11\u5e74\u3002\u5df2\u7ecf\u5b8c\u5168\u6ca1\u6709\u8fd9\u4e2a\u95ee\u9898\u4e86\u3002\u540c\u76ee\u5f55\u4e0b\u7684\u6570\u5b57\u5e8f\u53f7\u7684\u6587\u4ef6\uff0c\u6ce8\u5b9a\u662f 1 \u5230 9 \uff0c\u4e4b\u540e\u662f 10 \u5230 19 \u3002 \u73b0\u5728\u7528\u4e86 macOS \uff0c\u5c45\u7136\u8fd8\u662f 1 \u300110 \u300111 \u300112 \u300113 \u300114 \u30012 \u30013 \u8fd9\u6837\u6392\u5e8f\u3002\u65e0\u5948\u3001\u56f0\u6270\u4e4b\u6781\u3002</li>\n<li>\u5c4f\u5e55\u4e0b\u65b9 dock,\u7b2c\u4e8c\u4e2a\u56fe\u6807 APP \uff0c\u70b9\u5f00\u4e4b\u540e\uff0c\u5149\u6807\u505c\u5728\u641c\u7d22\u8f93\u5165\u51e0\u4e2a\u5b57\u6bcd\uff0c\u627e\u5230\u7a0b\u5e8f\uff0c\u6267\u884c\u3002dock \u6d88\u5931\u3002\u6ca1\u95ee\u9898\u3002\u518d\u6b21\u6253\u5f00 dock \u7684\u65f6\u5019\uff0c\u4f9d\u7136\u662f\u7b2c\u4e00\u6b21\u7684\u7ed3\u679c\uff0c\u6709\u6211\u8f93\u5165\u7684\u5185\u5bb9\uff0c\u6709\u4e0a\u6b21\u7b5b\u9009\u51fa\u6765\u7684\u7a0b\u5e8f\uff0c\u9700\u8981\u6211\u5220\u9664\u6389\u4e0a\u6b21\u7684\u8f93\u5165\u518d\u6b21\u641c\u7d22\u3002\u8fd9\u4e2a\u4e5f\u5f88\u53cd\u4eba\u7c7b\uff0c\u8fd8\u5ff5 windows \u7684\u70b9\u4e00\u4e0b win \u952e\uff0c\u4e4b\u540e\u76f4\u63a5\u8f93\u5165\uff0c\u627e\u5230\u8fd0\u884c\u3002\u4e0b\u6b21\u70b9 win \u952e\uff0c\u5b8c\u5168\u91cd\u65b0\u7684\u7ee7\u7eed\u627e\u3002</li>\n<li>\u62d6\u62fd\u2018\u8bbf\u8fbe\u2019\u7a97\u53e3\uff0c\u5c45\u7136\u80fd\u5728\u4e0b\u8fb9\u51fa\u73b0\u6eda\u52a8\u6761\uff0c\u628a\u672c\u6765\u663e\u793a\u5728\u7a97\u53e3\u4e2d\u7684\u6587\u4ef6\uff0c\u786c\u751f\u751f\u7684\u2018\u9690\u85cf\u2019\u8d77\u6765\uff1b</li>\n<li>\u786c\u751f\u751f\u7684\u627e\u4e0d\u5230\u2018\u526a\u5207\u2019\u5728\u90a3\u91cc\uff08\u4e5f\u662f\u60f3\u8bd5\u8bd5\u81ea\u5df1\u4e0d\u4e0a\u7f51\u641c\u80fd\u4e0d\u80fd\u627e\u5230\u5728 MacOS \u4e2d\u2018\u526a\u5207\u2019\u7684\u529f\u80fd\uff09\uff1b</li>\n<li>\u2018\u590d\u5236\u2019\u548c\u2018\u62f7\u8d1d\u2019\u3002\u3002\u3002\u3002</li>\n<li>zip \u6587\u4ef6\u6ca1\u6709\u7c7b\u4f3c\u4e8e\u2018\u89e3\u538b\u7f29\u2019\u7684\u9009\u9879\uff0c\u53ea\u6709\u6253\u5f00\u3002\u6253\u5f00\u4e4b\u540e\uff0c\u4e24\u4e2a\u56fe\u6807\u5c45\u7136\u662f\uff08\u5141\u8bb8\uff09\u91cd\u53e0\u7684\u3002\u53ef\u6b63\u5e38\u60c5\u51b5\u4e0b\u90a3\u4e00\u4e2a\u56fe\u6807\u62d6\u5230\u53e6\u4e00\u4e2a\u6587\u4ef6\u5939\uff0c\u4e0d\u5e94\u8be5\u662f\u79fb\u52a8\u5230\u8fd9\u4e2a\u6587\u4ef6\u5939\u5417?</li>\n<li>\u2018\u5236\u4f5c\u66ff\u8eab\u2019\uff0c\u8fd8\u6ca1\u7528\u8fc7\uff0c\u770b\u540d\u5b57\u4e5f\u6ca1\u7406\u89e3\u662f\u4ec0\u4e48\u610f\u601d\uff1b</li>\n</ul>\n<p><img alt=\"ScreenShot_2026-08-07_131548_665.png \u00b7 129\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://img.cdn1.vip/i/6a756a89034e4_1786079881.webp\"/></p>\n", 
      "date_published": "2026-08-07T05:46:50+00:00", 
      "title": "\u4ece windows \u5207\u6362\u5230 MacOS\uff0c\u611f\u89c9 MacOS \u4e0d\u597d\u7528\u3002", 
      "id": "https://www.v2ex.com/t/1232697"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/gangsta", 
        "name": "gangsta", 
        "avatar": "https://cdn.v2ex.com/avatar/42ab/bf19/31225_large.png?m=1780235645"
      }, 
      "url": "https://www.v2ex.com/t/1232556", 
      "title": "macOS 15.7.7 \u65e0\u6cd5\u76f4\u63a5\u5411\u540c\u4e00 iCloud \u8d26\u53f7\u7684 iPhone \u9694\u7a7a\u6295\u9001\u4f20\u9001\u6587\u4ef6", 
      "id": "https://www.v2ex.com/t/1232556", 
      "date_published": "2026-08-06T11:51:11+00:00", 
      "content_html": "<p>\u5bb6\u4e2d\u4e00\u53f0 M1 \u7684 Mac Mini \uff0c\u5df2\u5728\u517b\u8001\u7248\u672c 15.7.7 \u5dee\u4e0d\u591a\u4e24\u5e74\u5427\niPhone 17 \uff0ciOS 26.6 \uff0c\u9694\u7a7a\u6295\u9001\u9ed8\u8ba4\u4e3a\u300c\u4ec5\u9650\u8054\u7cfb\u4eba\u300d</p>\n<p>\u76ee\u524d\u78b0\u5230\u7684\u95ee\u9898\uff1a</p>\n<p>Mac Mini \u5411 iPhone \u53d1\u9001\u9694\u7a7a\u6295\u9001\u6587\u4ef6\uff0c<strong>\u4e0d\u6b63\u5e38</strong>\uff0c\u4e14\u8868\u73b0\u4e3a\uff1a</p>\n<ul>\n<li>Mac Mini \u53ef\u4ee5\u8bc6\u522b\u5230\u4e00\u53f0\u53eb iPhone 17 \u7684\u8bbe\u5907\uff0c\u4f46\u65e0\u6cd5\u53d1\u9001\u6587\u4ef6\uff0c\u4e14\u8bbe\u5907\u7684\u9884\u89c8\u7f29\u7565\u56fe\u4e3a\u7a7a\u767d\u3002</li>\n<li>iPhone \u7aef\u66f4\u6539\u4e3a\u300c\u6240\u6709\u4eba 10 \u5206\u949f\u300d\u9009\u9879\u540e\uff0c\u53ef\u6b63\u5e38\u53d1\u9001\u548c\u63a5\u53d7\uff0c\u4f46\u89c2\u5bdf\u5230 iPhone \u7684\u9884\u89c8\u7f29\u7565\u56fe\u4ecd\u663e\u793a\u4e3a\u7a7a\u767d\u3002</li>\n</ul>\n<p>\u8865\u5145\uff1a</p>\n<ol>\n<li>\u4ece iPhone \u7aef\u5411 Mac Mini \u53d1\u9001\u9694\u7a7a\u6295\u9001\u6587\u4ef6\uff0c<strong>\u4e00\u5207\u6b63\u5e38</strong>\uff08\u65e0\u8bba mac \u7aef\u662f\u9009\u62e9\u300c\u5141\u8bb8\u6240\u6709\u4eba\u53d1\u73b0\u300d\u6216\u300c\u4ec5\u9650\u8054\u7cfb\u4eba\u300d\uff09\uff0c\u4e14\u8bbe\u5907\u7f29\u7565\u56fe\u4e0a\u9762\u7684\u63d0\u793a\u6587\u5b57\u5c31\u662f [\u6211\u7684\u8bbe\u5907] </li>\n<li>\u4e24\u8005\u4e4b\u95f4\u53cc\u5411\u526a\u8d34\u677f\u540c\u6b65\uff0c<strong>\u6b63\u5e38</strong>\uff1b</li>\n</ol>\n<p>\u7528\u53e6\u4e00\u53f0 macOS 26 \u7684 MacBook Air \u5c1d\u8bd5\u8fc7\uff0c\u548c iPhone \u4e4b\u95f4\u7684\u6240\u6709\u53cc\u5411\u64cd\u4f5c\u90fd\u6b63\u5e38\uff0c\u54ea\u6015\u4e24\u8fb9\u90fd\u662f\u8bbe\u7f6e\u4e3a\u300c\u4ec5\u9650\u8054\u7cfb\u4eba\u300d\u3002\n\u53d1\u9001\u9694\u7a7a\u6295\u9001\u65f6\uff0ciPhone \u8bbe\u5907\u7684\u9884\u89c8\u56fe\u4f1a\u663e\u793a\u4e3a iCloud \u7684\u5934\u50cf\u3002</p>\n<p>\u6839\u636e\u63cf\u8ff0\u6765\u8bf4\uff0c\u4f3c\u4e4e\u5c31\u662f Mac mini \u6ca1\u6709\u628a iPhone \u8bc6\u522b\u4e3a\u540c iCloud \u7684\u8d26\u53f7\u7684\u8bbe\u5907\uff0c\u4f46\u5947\u602a\u7684\u662f\u4e24\u8005\u4e4b\u95f4\u7684\u5176\u4ed6 Handoff \u64cd\u4f5c\u53c8\u662f\u6b63\u5e38\u7684\u3002\n\u4e0d\u77e5\u9053\u6709\u6ca1\u6709\u78b0\u5230\u8fd9\u4e2a\u95ee\u9898\u7684\u8001\u54e5\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/heoizokdung", 
        "name": "heoizokdung", 
        "avatar": "https://cdn.v2ex.com/avatar/ea2b/5b45/636050_large.png?m=1786009026"
      }, 
      "url": "https://www.v2ex.com/t/1232533", 
      "title": "\u8ba9 Codex \u5e2e\u6211\u628a\u5fae\u4fe1\u7684\u6e38\u620f\u4e2d\u5fc3\u548c\u5c0f\u7a0b\u5e8f\u9762\u677f\u8fd9\u4e24\u4e2a\u8ba8\u538c\u7684\u4fa7\u8fb9\u680f\u5165\u53e3\u53bb\u6389\u4e86", 
      "id": "https://www.v2ex.com/t/1232533", 
      "date_published": "2026-08-06T09:54:41+00:00", 
      "content_html": "<p>\u5fae\u4fe1\u81ea\u4ece\u66f4\u65b0\u4e86\u4e00\u4e2a\u5927\u7248\u672c\uff0c\u628a Mac \u548c Windows \u7edf\u4e00\u540e\uff0c\u5de6\u4fa7\u8fb9\u680f\u5c31\u591a\u51fa\u4e86\u6e38\u620f\u4e2d\u5fc3\u548c\u5c0f\u7a0b\u5e8f\u5165\u53e3\uff0c\u6ca1\u6709\u63d0\u4f9b\u9690\u85cf\u8fd9\u4e24\u4e2a\u5165\u53e3\u7684\u8bbe\u7f6e\u3002\u7f51\u4e0a\u641c\u4e86\u4e00\u5708\u4e5f\u6ca1\u627e\u5230\u53ef\u4ee5\u9690\u85cf\u7684\u65b9\u6cd5\u3002\u4e8e\u662f\u8ba9 Codex \u81ea\u5df1\u6478\u7d22\u4e86\u4e00\u756a\uff0c\u7ec8\u4e8e\u641e\u5b9a\u4e86\u3002\u4e0b\u56fe\u662f\u641e\u5b9a\u4e4b\u540e\u7684\u6548\u679c\uff1a</p>\n<p><img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://image-hosting-service.oss-cn-hangzhou.aliyuncs.com/20260806-173314.jpeg\"/></p>\n<p>\u6211\u628a\u6210\u529f\u7684\u7ecf\u9a8c\u8ba9 Codex \u63d0\u70bc\u6210\u4e86\u6307\u5357\uff0c\u60f3\u8981\u5c1d\u8bd5\u7684\u670b\u53cb\u53ef\u4ee5\u628a\u4ee5\u4e0b\u5185\u5bb9\u590d\u5236\u7ed9 Codex:</p>\n<pre><code class=\"language-txt\">\u8bf7\u5728\u6211\u7684 Mac \u4e0a\u5236\u4f5c\u4e00\u4e2a\u72ec\u7acb\u7684\u5b9e\u9a8c\u7248\u5fae\u4fe1\uff0c\u9690\u85cf\u5de6\u4fa7\u680f\u7684\u201c\u6e38\u620f\u4e2d\u5fc3\u201d\u548c\u201c\u5c0f\u7a0b\u5e8f\u9762\u677f\u201d\u4e24\u4e2a\u5165\u53e3\uff0c\u5e76\u4fdd\u8bc1\u622a\u56fe\u6743\u9650\u5728\u91cd\u542f\u540e\u4ecd\u7136\u6709\u6548\u3002\u8bf7\u5b9e\u9645\u6267\u884c\u3001\u9010\u6b65\u9a8c\u8bc1\uff0c\u4e0d\u8981\u53ea\u7ed9\u6211\u547d\u4ee4\u3002\n\n\u4e00\u3001\u5df2\u77e5\u7ed3\u8bba\u4e0e\u9002\u7528\u8303\u56f4\n\n1. \u76ee\u6807\u662f\u817e\u8baf\u5b98\u7f51\u4e0b\u8f7d\u7248 macOS \u5fae\u4fe1 4.1.12\uff1a\n   https://mac.weixin.qq.com/?t=mac&amp;lang=zh_CN\n2. \u672c\u65b9\u6848\u53ea\u9002\u7528\u4e8e Apple Silicon \uff08 arm64 \uff09 Mac \uff0c\u4ee5\u53ca\u8be5\u7248\u672c\u7684\u8fd9\u4e00\u4efd wechat.dylib\uff1a\n   - \u8def\u5f84\uff1a/Applications/WeChat.app/Contents/Resources/wechat.dylib\n   - \u4fee\u6539\u524d\u5b8c\u6574 SHA-256\uff1a\n     f28329ed2599e8567f6b0a09f031d05666a48abd97dbc7a3380891ddbcff6cdc\n3. \u5fae\u4fe1 4.1.12 \u4e0d\u662f\u901a\u8fc7\u4fee\u6539 Electron \u7684 asar \u6765\u5b8c\u6210\u6b64\u4efb\u52a1\u3002\u76ee\u6807\u903b\u8f91\u4f4d\u4e8e Qt/XUI \u539f\u751f Mach-O \u52a8\u6001\u5e93 wechat.dylib \u4e2d\u3002\n4. \u5982\u679c\u7cfb\u7edf\u4e0d\u662f arm64 \u3001\u7248\u672c\u4e0d\u662f 4.1.12 \u3001\u6587\u4ef6\u8def\u5f84\u4e0d\u5b58\u5728\u3001\u54c8\u5e0c\u4e0d\u76f8\u540c\uff0c\u6216\u5f85\u4fee\u6539\u4f4d\u7f6e\u7684\u539f\u59cb\u5b57\u8282\u4e0d\u76f8\u540c\uff0c\u7acb\u5373\u505c\u6b62\u5e76\u5411\u6211\u62a5\u544a\u3002\u4e0d\u8981\u731c\u6d4b\u65b0\u504f\u79fb\uff0c\u4e0d\u8981\u628a\u5176\u4ed6\u7248\u672c\u786c\u5957\u8fdb\u6765\u3002\n\n\u4e8c\u3001\u5b89\u5168\u8fb9\u754c\n\n1. \u6c38\u8fdc\u4e0d\u8981\u4fee\u6539\u3001\u91cd\u7b7e\u6216\u8986\u76d6 /Applications/WeChat.app \u3002\n2. \u6210\u54c1\u56fa\u5b9a\u5b89\u88c5\u4e3a\uff1a\n   /Applications/WeChat-NoGame.experimental.app\n3. \u6240\u6709\u4fee\u6539\u5148\u5728 /private/tmp \u4e0b\u7528 mktemp -d \u521b\u5efa\u7684\u4e34\u65f6\u76ee\u5f55\u4e2d\u5b8c\u6210\u5e76\u9a8c\u8bc1\uff0c\u9a8c\u8bc1\u901a\u8fc7\u540e\u624d\u80fd\u5b89\u88c5\u3002\n4. \u5982\u679c\u4e0a\u8ff0\u5b9e\u9a8c\u7248\u5df2\u7ecf\u5b58\u5728\uff0c\u5148\u6b63\u5e38\u9000\u51fa\u5b83\uff0c\u5e76\u628a\u5b83\u79fb\u52a8\u5230\u672c\u6b21\u4e34\u65f6\u76ee\u5f55\u4e2d\u4f5c\u4e3a\u53ef\u6062\u590d\u5907\u4efd\uff1b\u4e0d\u8981\u76f4\u63a5\u5220\u9664\u3002\n5. \u5b98\u65b9\u7248\u548c\u5b9e\u9a8c\u7248\u7684\u4e3b\u8fdb\u7a0b\u540d\u79f0\u90fd\u53eb WeChat \u3002\u7ed3\u675f\u8fdb\u7a0b\u524d\u5fc5\u987b\u6839\u636e\u5b8c\u6574\u53ef\u6267\u884c\u6587\u4ef6\u8def\u5f84\u786e\u8ba4\u76ee\u6807\uff0c\u53ea\u7ed3\u675f /Applications/WeChat-NoGame.experimental.app \u4e0b\u7684\u8fdb\u7a0b\u3002\u4e0d\u8981\u4f7f\u7528 pkill WeChat \u6216 killall WeChat \u3002\n6. \u4e0d\u8981\u540c\u65f6\u8fd0\u884c\u5b98\u65b9\u7248\u548c\u5b9e\u9a8c\u7248\u3002\n7. \u5199\u5165 /Applications \u3001\u8bbf\u95ee\u4ee3\u7801\u7b7e\u540d\u79c1\u94a5\u6216\u64cd\u4f5c\u9690\u79c1\u8bbe\u7f6e\u524d\uff0c\u6309\u8fd0\u884c\u73af\u5883\u8981\u6c42\u5411\u6211\u7533\u8bf7\u6743\u9650\u3002\u94a5\u5319\u4e32\u5bc6\u7801\u3001Apple ID \u767b\u5f55\u3001\u5f55\u5c4f\u6388\u6743\u7b49\u5b89\u5168\u64cd\u4f5c\u7531\u6211\u4eb2\u81ea\u5b8c\u6210\u3002\n\n\u4e09\u3001\u5148\u505a\u53ea\u8bfb\u68c0\u67e5\n\n\u8bf7\u68c0\u67e5\u5e76\u8bb0\u5f55\uff1a\n\n- uname -m \uff0c\u5fc5\u987b\u662f arm64 \u3002\n- /Applications/WeChat.app/Contents/Info.plist \u4e2d\u7684 CFBundleShortVersionString \uff0c\u5fc5\u987b\u662f 4.1.12 \u3002\n- \u7528 file \u6216 lipo -archs \u68c0\u67e5 wechat.dylib \uff0c\u5fc5\u987b\u5305\u542b arm64 \u3002\n- shasum -a 256 \u68c0\u67e5 wechat.dylib \uff0c\u5fc5\u987b\u7b49\u4e8e\u4e0a\u8ff0\u539f\u59cb SHA-256 \u3002\n- codesign --verify --deep --strict /Applications/WeChat.app \u5e94\u901a\u8fc7\u3002\n\n\u5982\u679c\u5b98\u65b9\u5e94\u7528\u4e0d\u662f\u8fd9\u4e2a\u7248\u672c\uff0c\u8bf7\u8ba9\u6211\u5148\u4ece\u817e\u8baf\u5b98\u7f51\u5b89\u88c5 4.1.12 \uff1b\u4e0d\u8981\u4f7f\u7528 App Store \u7248\u7ee7\u7eed\u3002\n\n\u56db\u3001\u5236\u4f5c\u4e34\u65f6\u526f\u672c\n\n1. \u7528 mktemp -d \u521b\u5efa\u7c7b\u4f3c\u4ee5\u4e0b\u4e34\u65f6\u76ee\u5f55\uff1a\n   /private/tmp/wechat-nogame.XXXXXX\n2. \u4f7f\u7528 ditto \u5b8c\u6574\u590d\u5236\u5b98\u65b9\u5e94\u7528\u5230\u4e34\u65f6\u76ee\u5f55\uff0c\u5e76\u628a\u526f\u672c\u547d\u540d\u4e3a\uff1a\n   WeChat-NoGame.experimental.app\n3. \u540e\u7eed\u53ea\u64cd\u4f5c\u8fd9\u4e2a\u4e34\u65f6\u526f\u672c\u3002\n\n\u4e94\u3001\u5e94\u7528\u4e8c\u8fdb\u5236\u8865\u4e01\n\n\u76ee\u6807\u6587\u4ef6\u662f\u4e34\u65f6\u526f\u672c\u7684\uff1a\nContents/Resources/wechat.dylib\n\n\u8bf7\u521b\u5efa\u4e00\u4e2a\u5c0f\u578b\u3001\u53ef\u5ba1\u8ba1\u7684\u8865\u4e01\u811a\u672c\uff0c\u5e76\u4e25\u683c\u5b8c\u6210\u4ee5\u4e0b\u64cd\u4f5c\uff1a\n\n1. \u4fee\u6539\u524d\u91cd\u65b0\u8ba1\u7b97 SHA-256 \uff1b\u53ea\u6709\u7b49\u4e8e\n   f28329ed2599e8567f6b0a09f031d05666a48abd97dbc7a3380891ddbcff6cdc\n   \u624d\u80fd\u7ee7\u7eed\u3002\n2. \u5728\u5b8c\u6574 universal \u4e8c\u8fdb\u5236\u6587\u4ef6\u7684\u4ee5\u4e0b\u4e24\u4e2a\u6587\u4ef6\u504f\u79fb\u5904\u4fee\u6539\u5404 4 \u5b57\u8282\uff1a\n\n   - \u5c0f\u7a0b\u5e8f\u9762\u677f\uff0citem type 6\uff1a0x0B5A4664\n   - \u6e38\u620f\u4e2d\u5fc3\uff0citem type 7\uff1a0x0B5A4740\n\n3. \u4e24\u5904\u4fee\u6539\u524d\u7684\u5b57\u8282\u90fd\u5fc5\u987b\u4e25\u683c\u7b49\u4e8e\uff1a\n   f5 03 00 aa\n   \u8fd9\u662f ARM64 \u6307\u4ee4 `mov x21, x0`\u3002\n4. \u4e24\u5904\u90fd\u6539\u4e3a\uff1a\n   15 00 80 52\n   \u8fd9\u662f ARM64 \u6307\u4ee4 `mov w21, #0`\u3002\n5. \u5fc5\u987b\u5148\u9a8c\u8bc1\u4e24\u5904\u539f\u59cb\u5b57\u8282\u90fd\u6b63\u786e\uff0c\u518d\u6267\u884c\u4efb\u4f55\u5199\u5165\uff1b\u5176\u4e2d\u4efb\u610f\u4e00\u5904\u4e0d\u5339\u914d\u5c31\u505c\u6b62\uff0c\u4e0d\u80fd\u7559\u4e0b\u53ea\u6539\u4e00\u534a\u7684\u6587\u4ef6\u3002\n6. \u5199\u5165\u540e\u91cd\u65b0\u8bfb\u53d6\u5e76\u9a8c\u8bc1\u4e24\u4e2a\u4f4d\u7f6e\u3002\n7. \u4ec5\u5b8c\u6210\u8fd9\u4e24\u5904\u4fee\u6539\u3001\u5c1a\u672a\u91cd\u7b7e\u65f6\uff0c\u76ee\u6807 dylib \u7684 SHA-256 \u5e94\u4e3a\uff1a\n   1e75abf1aa20cf093d6365f71e7328e8c4607e661ac552a9e1adb74daf225ac3\n   \u5982\u679c\u4e0d\u76f8\u540c\uff0c\u505c\u6b62\u5b89\u88c5\u3002\n\n\u8fd9\u4e2a\u8865\u4e01\u7684\u539f\u7406\u662f\uff1a\u4fdd\u7559\u4e24\u4e2a mmui::XTabBarItem \u5bf9\u8c61\u53ca\u5176\u5185\u90e8\u7d22\u5f15\uff0c\u53ea\u628a\u4f20\u7ed9 QWidget::setVisible \u7684\u53ef\u89c1\u6027\u7ed3\u679c\u5f3a\u5236\u4e3a false \u3002\u4e0d\u8981\u5220\u9664\u5bf9\u8c61\u3001\u4e0d\u8981\u6539\u53d8 tab \u96c6\u5408\u3001\u4e0d\u8981 NOP \u6389\u63d2\u5165\u8c03\u7528\u3002\n\n\u5c24\u5176\u4e0d\u8981\u4f7f\u7528\u8fd9\u4e24\u4e2a\u5df2\u77e5\u5931\u8d25\u65b9\u6848\uff1a\n\n- \u4fee\u6539 0x1934d3c \u9644\u8fd1\u7684 game_entry_state\uff1a\u4e0d\u4f1a\u6539\u53d8\u56fe\u6807\u663e\u793a\u3002\n- NOP 0x102a2dc \u9644\u8fd1\u7684\u63d2\u5165\u8c03\u7528\uff1a\u56fe\u6807\u53ef\u80fd\u6d88\u5931\uff0c\u4f46\u540e\u7eed\u4ee3\u7801\u4f1a\u8bbf\u95ee\u7a7a\u5bf9\u8c61\u5e76\u5d29\u6e83\u3002\n\n\u516d\u3001\u4f7f\u7528\u7a33\u5b9a\u7684 Apple Development \u8eab\u4efd\u91cd\u7b7e\n\n\u4e0d\u80fd\u4f7f\u7528 ad-hoc \u7b7e\u540d\u4f5c\u4e3a\u6700\u7ec8\u65b9\u6848\u3002ad-hoc \u7684 designated requirement \u4f1a\u7ed1\u5b9a\u5f53\u524d cdhash \uff1b\u4e8c\u8fdb\u5236\u4e00\u53d8\uff0cmacOS TCC \u5c31\u53ef\u80fd\u628a\u5b83\u89c6\u4f5c\u53e6\u4e00\u4e2a\u5e94\u7528\uff0c\u5bfc\u81f4\u201c\u5f55\u5c4f\u4e0e\u7cfb\u7edf\u5f55\u97f3\u201d\u6761\u76ee\u6d88\u5931\u6216\u6743\u9650\u6c38\u8fdc\u65e0\u6cd5\u8bc6\u522b\u3002\n\n1. \u6267\u884c\uff1a\n   security find-identity -v -p codesigning\n2. \u9009\u62e9\u4e00\u5f20\u5f53\u524d\u6709\u6548\u4e14\u5e26\u79c1\u94a5\u7684 `Apple Development` \u8eab\u4efd\uff0c\u540e\u7eed\u7528\u5b83\u7684 SHA-1 \u6307\u7eb9\u7b7e\u540d\uff0c\u4e0d\u8981\u53ea\u6309\u53ef\u80fd\u91cd\u590d\u7684\u8bc1\u4e66\u540d\u79f0\u9009\u62e9\u3002\n3. \u5982\u679c\u6ca1\u6709\u6709\u6548\u8eab\u4efd\uff0c\u6682\u505c\uff0c\u8ba9\u6211\u5728 Xcode \u2192 Settings \u2192 Accounts \u2192 Manage Certificates \u2192 + \u2192 Apple Development \u4e2d\u521b\u5efa\u3002\u521b\u5efa\u540e\u518d\u68c0\u67e5\u3002\n4. \u5982\u94a5\u5319\u4e32\u4e2d\u5b58\u5728\u591a\u5f20\u540c\u540d\u65e7\u8bc1\u4e66\uff0c\u8981\u6838\u5bf9\u5b9e\u9645\u4f7f\u7528\u8bc1\u4e66\u7684\u6709\u6548\u671f\u3002\u4e0d\u8981\u8bef\u7528\u8fc7\u671f\u8bc1\u4e66\u3002\n5. \u4e0d\u8981\u590d\u5236\u817e\u8baf\u539f\u59cb entitlements \u3002\u91cc\u9762\u7684 application-identifier \u3001App Group \u548c\u817e\u8baf Team ID \u4e0d\u5c5e\u4e8e\u6211\u7684\u5f00\u53d1\u56e2\u961f\uff0c\u5f3a\u884c\u4fdd\u7559\u4f1a\u9020\u6210\u65e0\u6548\u6216\u5f02\u5e38\u7b7e\u540d\u3002\n6. \u4e0d\u8981\u989d\u5916\u542f\u7528 hardened runtime \uff1b\u8fd9\u53ef\u80fd\u7834\u574f\u5fae\u4fe1\u4f9d\u8d56\u7684\u8fd0\u884c\u65b9\u5f0f\u3002\n\n\u6e05\u9664\u4e34\u65f6\u526f\u672c\u4e0a\u7684\u6269\u5c55\u5c5e\u6027\u3002\u82e5 xattr \u56e0\u4e0b\u9762\u8fd9\u4e2a\u53ea\u8bfb\u7f13\u5b58\u6587\u4ef6\u5931\u8d25\uff1a\n\nContents/MacOS/WeChatAppEx.app/Contents/Frameworks/WeChatAppEx Framework.framework/Versions/C/Resources/gpu_shader_cache.bin\n\n\u53ef\u4ee5\u53ea\u5bf9\u8be5\u6587\u4ef6\u4e34\u65f6\u6267\u884c chmod u+w \uff0c\u5b8c\u6210 xattr -cr \u540e\u6062\u590d\u4e3a chmod 444 \u3002\n\n\u8bbe\u6709\u6548\u8bc1\u4e66 SHA-1 \u4e3a SIGNING_IDENTITY \uff0c\u4f9d\u6b21\u6267\u884c\u7b49\u4ef7\u4e8e\u4ee5\u4e0b\u6d41\u7a0b\u7684\u7b7e\u540d\uff1a\n\n1. \u5148\u7b7e\u88ab\u4fee\u6539\u7684 wechat.dylib\uff1a\n   codesign --force --sign \"$SIGNING_IDENTITY\" --timestamp=none &lt;\u4e34\u65f6\u526f\u672c&gt;/Contents/Resources/wechat.dylib\n2. \u4f7f\u7528\u540c\u4e00\u4e2a\u8eab\u4efd\u91cd\u7b7e\u6240\u6709\u5d4c\u5957\u4ee3\u7801\u548c\u6574\u4e2a\u5e94\u7528\uff1a\n   codesign --force --deep --sign \"$SIGNING_IDENTITY\" --timestamp=none &lt;\u4e34\u65f6\u526f\u672c&gt;\n3. \u6700\u540e\u53ea\u91cd\u7b7e\u5916\u5c42\u5e94\u7528\uff0c\u5e76\u8bbe\u7f6e\u4e00\u4e2a\u4e0e\u817e\u8baf\u4e0d\u540c\u3001\u5728\u672c\u673a\u552f\u4e00\u4e14\u5408\u6cd5\u7684\u4ee3\u7801\u7b7e\u540d\u6807\u8bc6\u3002\u4f8b\u5982\uff1a\n   local.&lt;\u7ecf\u8fc7\u6e05\u7406\u7684\u7528\u6237\u540d&gt;.WeChatNoGame\n   \u547d\u4ee4\u5f62\u5f0f\uff1a\n   codesign --force --sign \"$SIGNING_IDENTITY\" --timestamp=none --identifier &lt;\u552f\u4e00\u6807\u8bc6&gt; &lt;\u4e34\u65f6\u526f\u672c&gt;\n\n\u4e0d\u8981\u4fee\u6539 Info.plist \u4e2d\u539f\u6765\u7684 CFBundleIdentifier `com.tencent.xinWeChat`\uff0c\u56e0\u4e3a\u5fae\u4fe1\u7684\u6570\u636e\u8def\u5f84\u3001\u767b\u5f55\u72b6\u6001\u3001\u5b50\u8fdb\u7a0b\u53c2\u6570\u548c IPC \u4f9d\u8d56\u5b83\u3002\u8fd9\u91cc\u9694\u79bb\u7684\u662f\u5916\u5c42\u4ee3\u7801\u7b7e\u540d identifier \uff0c\u4e0d\u662f\u5fae\u4fe1\u8fd0\u884c\u65f6\u8bfb\u53d6\u7684 bundle identifier \u3002\n\n\u4e03\u3001\u7b7e\u540d\u9a8c\u6536\n\n\u5b89\u88c5\u524d\u5fc5\u987b\u5b8c\u6210\uff1a\n\n1. \u5728\u80fd\u591f\u8bbf\u95ee\u7cfb\u7edf\u94a5\u5319\u4e32\u4fe1\u4efb\u5e93\u7684\u73af\u5883\u91cc\u8fd0\u884c\uff1a\n   codesign --verify --deep --strict &lt;\u4e34\u65f6\u526f\u672c&gt;\n   \u5fc5\u987b\u6210\u529f\u3002\n2. \u8fd0\u884c codesign -dvv \uff0c\u786e\u8ba4\uff1a\n   - Signature \u4e0d\u662f adhoc \u3002\n   - Authority \u662f\u521a\u521b\u5efa\u7684 Apple Development \u8bc1\u4e66\uff0c\u5e76\u80fd\u770b\u5230 Apple \u7684\u4e2d\u95f4\u8bc1\u4e66\u548c\u6839\u8bc1\u4e66\u94fe\u3002\n   - TeamIdentifier \u4e0d\u518d\u662f `not set`\u3002\n3. \u8fd0\u884c codesign -dr -\uff0c\u786e\u8ba4 designated requirement\uff1a\n   - \u5305\u542b\u521a\u8bbe\u7f6e\u7684\u552f\u4e00 identifier \u3002\n   - \u7531 Apple Development \u8bc1\u4e66\u7ea6\u675f\u3002\n   - \u4e0d\u80fd\u662f `cdhash H\"...\"` \u8fd9\u79cd ad-hoc \u5f62\u5f0f\u3002\n4. \u518d\u6b21\u9a8c\u8bc1\u4e24\u4e2a\u8865\u4e01\u4f4d\u7f6e\u4ecd\u4e3a `15 00 80 52`\u3002\n5. \u6ce8\u610f\uff1a\u91cd\u7b7e\u4f1a\u6539\u53d8 dylib \u7684\u6574\u4f53\u54c8\u5e0c\uff0c\u56e0\u6b64\u91cd\u7b7e\u5b8c\u6210\u540e\u4e0d\u8981\u518d\u8981\u6c42\u5b83\u7b49\u4e8e\u201c\u672a\u91cd\u7b7e\u8865\u4e01\u54c8\u5e0c\u201d\uff1b\u6b64\u65f6\u5e94\u4ee5\u4e25\u683c\u7b7e\u540d\u9a8c\u8bc1\u548c\u4e24\u4e2a\u4f4d\u7f6e\u7684\u5b57\u8282\u4e3a\u51c6\u3002\n6. \u5982\u679c\u53d7\u9650\u6c99\u7bb1\u91cc\u51fa\u73b0 `CSSMERR_TP_NOT_TRUSTED` \u6216 `Authority=(unavailable)`\uff0c\u53ef\u80fd\u53ea\u662f\u6c99\u7bb1\u8bfb\u4e0d\u5230\u94a5\u5319\u4e32\u3002\u7ecf\u6211\u6279\u51c6\u540e\u5728\u80fd\u8bbf\u95ee\u7cfb\u7edf\u4fe1\u4efb\u5e93\u7684\u73af\u5883\u4e2d\u91cd\u65b0\u9a8c\u8bc1\uff1b\u4ecd\u5931\u8d25\u624d\u7b97\u771f\u6b63\u5931\u8d25\u3002\n\n\u516b\u3001\u5b89\u88c5\u5b9e\u9a8c\u7248\n\n1. \u786e\u8ba4\u5b9e\u9a8c\u7248\u6240\u6709\u8fdb\u7a0b\u5747\u5df2\u9000\u51fa\u3002\n2. \u82e5 /Applications/WeChat-NoGame.experimental.app \u5df2\u5b58\u5728\uff0c\u5c06\u65e7\u7248\u79fb\u5165\u672c\u6b21\u4e34\u65f6\u76ee\u5f55\u5907\u4efd\u3002\n3. \u4f7f\u7528 ditto \u628a\u901a\u8fc7\u9a8c\u8bc1\u7684\u4e34\u65f6\u526f\u672c\u5b89\u88c5\u5230\uff1a\n   /Applications/WeChat-NoGame.experimental.app\n4. \u5bf9\u5b89\u88c5\u540e\u7684\u8def\u5f84\u518d\u6b21\u6267\u884c codesign --verify --deep --strict \uff0c\u5e76\u590d\u67e5 designated requirement \u548c\u4e24\u4e2a\u8865\u4e01\u5b57\u8282\u3002\n5. \u5b98\u65b9 /Applications/WeChat.app \u5fc5\u987b\u4fdd\u6301\u539f\u54c8\u5e0c\u548c\u539f\u7b7e\u540d\u4e0d\u53d8\u3002\n\n\u4e5d\u3001\u5904\u7406\u201c\u5f55\u5c4f\u4e0e\u7cfb\u7edf\u5f55\u97f3\u201d\u6743\u9650\n\n\u9996\u6b21\u5b89\u88c5\u7a33\u5b9a\u7b7e\u540d\u7248\u540e\uff0c\u8bf7\u542f\u52a8\u5b9e\u9a8c\u7248\u5e76\u8ba9\u6211\u5b8c\u6210\u201c\u8fdb\u5165\u5fae\u4fe1\u201d\u3002\u7136\u540e\u7531\u6211\u4eb2\u81ea\u5728\uff1a\n\n\u7cfb\u7edf\u8bbe\u7f6e \u2192 \u9690\u79c1\u4e0e\u5b89\u5168\u6027 \u2192 \u5f55\u5c4f\u4e0e\u7cfb\u7edf\u5f55\u97f3\n\n\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a\n\n1. \u5982\u679c\u5217\u8868\u91cc\u5df2\u6709\u65e7\u7684 `WeChat-NoGame.experimental.app`\uff0c\u5148\u9009\u4e2d\u5e76\u70b9\u51cf\u53f7\u79fb\u9664\u3002\n2. \u70b9\u52a0\u53f7\uff0c\u91cd\u65b0\u9009\u62e9\u51c6\u786e\u8def\u5f84\uff1a\n   /Applications/WeChat-NoGame.experimental.app\n3. \u6253\u5f00\u5b83\u7684\u6743\u9650\u5f00\u5173\u3002\n4. \u5b8c\u6574\u9000\u51fa\u5b9e\u9a8c\u7248\u7684\u4e3b\u8fdb\u7a0b\u548c\u8f85\u52a9\u8fdb\u7a0b\uff0c\u518d\u91cd\u65b0\u542f\u52a8\u3002\n5. \u4f7f\u7528 Control\u2013Command\u2013A \u6d4b\u8bd5\u5fae\u4fe1\u622a\u56fe\u3002\n\n\u7b2c\u4e00\u6b21\u6d4b\u8bd5\u65f6\u53ef\u80fd\u540c\u65f6\u51fa\u73b0\u4e24\u4e2a\u7a97\u53e3\uff1a\u524d\u666f\u662f\u5fae\u4fe1\u81ea\u5df1\u7684\u201c\u5f55\u5c4f\u6743\u9650\u672a\u5f00\u542f\u201d\uff0c\u540e\u65b9\u662f macOS \u539f\u751f\u7684\u201c\u5fae\u4fe1\u60f3\u8981\u5f55\u5236\u6b64\u7535\u8111\u5c4f\u5e55\u201d\u6388\u6743\u6846\u3002\u6b64\u65f6\u5148\u53d6\u6d88\u6216\u79fb\u5f00\u5fae\u4fe1\u81ea\u5df1\u7684\u63d0\u793a\uff0c\u518d\u7531\u6211\u5728\u7cfb\u7edf\u6388\u6743\u6846\u91cc\u70b9\u201c\u5141\u8bb8\u201d\uff0c\u7136\u540e\u518d\u6b21\u89e6\u53d1\u622a\u56fe\u3002\n\n\u4e0d\u8981\u6267\u884c\u4e0d\u5e26\u5e94\u7528\u6807\u8bc6\u7684\u5168\u5c40 `tccutil reset ScreenCapture`\uff0c\u5b83\u4f1a\u6e05\u6389\u5176\u4ed6\u8f6f\u4ef6\u7684\u5f55\u5c4f\u6388\u6743\u3002\u7531\u4e8e\u6211\u4eec\u4fdd\u7559\u4e86\u539f\u59cb CFBundleIdentifier \uff0c\u800c\u53ea\u8986\u76d6\u4ee3\u7801\u7b7e\u540d identifier \uff0c\u9488\u5bf9\u81ea\u5b9a\u4e49 identifier \u7684 tccutil \u547d\u4ee4\u53ef\u80fd\u63d0\u793a `No such bundle identifier`\uff1b\u8fd9\u79cd\u60c5\u51b5\u4e0d\u8981\u6269\u5927\u91cd\u7f6e\u8303\u56f4\uff0c\u76f4\u63a5\u4f7f\u7528\u7cfb\u7edf\u8bbe\u7f6e\u4e2d\u7684\u201c\u79fb\u9664\u540e\u91cd\u65b0\u6dfb\u52a0\u201d\u6d41\u7a0b\u3002\n\n\u5341\u3001\u6700\u7ec8\u9a8c\u6536\n\n\u8bf7\u548c\u6211\u5171\u540c\u786e\u8ba4\uff1a\n\n- \u5b9e\u9a8c\u7248\u53ef\u4ee5\u6b63\u5e38\u542f\u52a8\u5e76\u8fdb\u5165\u804a\u5929\u4e3b\u754c\u9762\u3002\n- \u5de6\u4fa7\u680f\u7684\u201c\u5c0f\u7a0b\u5e8f\u9762\u677f\u201d\u548c\u201c\u6e38\u620f\u4e2d\u5fc3\u201d\u4e24\u4e2a\u6309\u94ae\u90fd\u6d88\u5931\u3002\n- \u5176\u4ed6 tab \u548c\u804a\u5929\u529f\u80fd\u6ca1\u6709\u56e0\u4e3a\u7d22\u5f15\u53d8\u5316\u800c\u5d29\u6e83\u3002\n- Control\u2013Command\u2013A \u53ef\u4ee5\u8fdb\u5165\u5fae\u4fe1\u622a\u56fe\u6a21\u5f0f\u3002\n- \u5b8c\u6574\u9000\u51fa\u5e76\u91cd\u65b0\u6253\u5f00\u5b9e\u9a8c\u7248\u4ee5\u540e\uff0c\u5f55\u5c4f\u6743\u9650\u6761\u76ee\u4ecd\u7136\u5b58\u5728\u3001\u5f00\u5173\u4ecd\u5f00\u542f\uff0c\u622a\u56fe\u4ecd\u53ef\u4f7f\u7528\u3002\n- codesign --verify --deep --strict \u4ecd\u901a\u8fc7\u3002\n- \u5b98\u65b9\u5fae\u4fe1\u4ece\u672a\u88ab\u4fee\u6539\u3002\n\n\u5341\u4e00\u3001\u56de\u6eda\u4e0e\u5347\u7ea7\u89c4\u5219\n\n1. \u5982\u679c\u5b9e\u9a8c\u7248\u5f02\u5e38\uff0c\u9000\u51fa\u5b83\uff0c\u4fdd\u7559\u5d29\u6e83\u62a5\u544a\u548c\u7b7e\u540d\u4fe1\u606f\uff0c\u7136\u540e\u6062\u590d\u672c\u6b21\u4e34\u65f6\u76ee\u5f55\u4e2d\u7684\u65e7\u5b9e\u9a8c\u7248\uff0c\u6216\u8005\u4ece\u5b98\u65b9\u5fae\u4fe1\u91cd\u65b0\u5236\u4f5c\uff1b\u4e0d\u8981\u52a8\u5b98\u65b9\u5e94\u7528\u3002\n2. \u5fae\u4fe1\u5347\u7ea7\u4f1a\u8986\u76d6\u6216\u6539\u53d8 wechat.dylib \u3002\u65b0\u7248\u672c\u5fc5\u987b\u91cd\u65b0\u9006\u5411\u5b9a\u4f4d\u5e76\u5efa\u7acb\u65b0\u7684\u539f\u59cb\u54c8\u5e0c\u3001\u539f\u59cb\u5b57\u8282\u548c\u8865\u4e01\u504f\u79fb\u3002\u6ca1\u6709\u91cd\u65b0\u9a8c\u8bc1\u524d\uff0c\u7edd\u5bf9\u4e0d\u8981\u6cbf\u7528 4.1.12 \u7684\u504f\u79fb\u3002\n3. Apple Development \u8bc1\u4e66\u901a\u5e38\u6709\u6709\u6548\u671f\u3002\u4ee5\u540e\u82e5\u5f55\u5c4f\u6743\u9650\u518d\u6b21\u5f02\u5e38\uff0c\u5148\u68c0\u67e5\u8bc1\u4e66\u662f\u5426\u8fc7\u671f\uff0c\u4ee5\u53ca\u91cd\u7b7e\u540e designated requirement \u662f\u5426\u6539\u53d8\u3002\n\n\u6267\u884c\u8fc7\u7a0b\u4e2d\u8bf7\u6301\u7eed\u544a\u8bc9\u6211\u5f53\u524d\u68c0\u67e5\u7ed3\u679c\u3001\u51c6\u5907\u4fee\u6539\u7684\u51c6\u786e\u8def\u5f84\u548c\u9a8c\u8bc1\u7ed3\u8bba\u3002\u4efb\u4f55\u7248\u672c\u3001\u54c8\u5e0c\u3001\u539f\u59cb\u5b57\u8282\u6216\u7b7e\u540d\u9a8c\u8bc1\u4e0d\u7b26\u5408\u4e0a\u8ff0\u9884\u671f\u65f6\uff0c\u7acb\u5373\u505c\u6b62\u5e76\u4fdd\u7559\u53ef\u6062\u590d\u72b6\u6001\u3002\n</code></pre>\n<pre><code></code></pre>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/PaperZai", 
        "name": "PaperZai", 
        "avatar": "https://cdn.v2ex.com/gravatar/899cc9d18be61785034ae873ebbc479e?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1232275", 
      "title": "\u6296\u97f3 PWA \u663e\u793a\u51fa\u95ee\u9898\u4e86\u5417", 
      "id": "https://www.v2ex.com/t/1232275", 
      "date_published": "2026-08-05T08:53:09+00:00", 
      "content_html": "edge \u6d4f\u89c8\u5668\u5b89\u88c5\u6296\u97f3\u7684 PWA \uff0c\u4f1a\u5bfc\u81f4\u9876\u680f\u51fa\u73b0\u6e32\u67d3\u95ee\u9898\uff0c\u5927\u5bb6\u6709\u5417"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/jefferyH", 
        "name": "jefferyH", 
        "avatar": "https://cdn.v2ex.com/avatar/6af2/a04f/599911_large.png?m=1787717444"
      }, 
      "url": "https://www.v2ex.com/t/1231533", 
      "title": "[\u5494\u5494\u627e AI] \u793e\u533a\u5408\u4f5c\u63a8\u5e7f\u8ba1\u5212-\u9001\u6c38\u4e45\u4f1a\u5458", 
      "id": "https://www.v2ex.com/t/1231533", 
      "date_published": "2026-08-02T06:41:28+00:00", 
      "content_html": "\u5494\u5494\u627e (KaCutAI) \u662f\u4e00\u4e2a macOS \u672c\u5730 AI \u89c6\u9891\u7d20\u6750\u641c\u7d22\u5f15\u64ce\uff0c\u4e00\u53e5\u8bdd\u5c31\u80fd\u641c\u5230\u4f60\u60f3\u8981\u7684\u955c\u5934\u3002\u7eaf\u672c\u5730\u8dd1\uff0c\u4e0d\u4e0a\u4f20\u3001\u4e0d\u8054\u7f51\u3001\u7d20\u6750\u4e0d\u51fa\u7535\u8111\u3002<br /><br />\u73b0\u5728\u60f3\u627e\u4e00\u6279\u771f\u5b9e\u7528\u6237\u6765\u4f53\u9a8c\uff0c\u987a\u4fbf\u641e\u4e2a\u7b80\u5355\u7684\u793e\u533a\u5408\u4f5c\uff1a<br /><br />\u4f60\u4e0b\u8f7d\u8bd5\u7528 \u2192 \u5728\u5c0f\u7ea2\u4e66/\u6296\u97f3/B \u7ad9\uff08\u4efb\u4f55\u6b63\u80fd\u91cf\u7684\u793e\u4ea4\u5a92\u4f53\u5e73\u53f0\uff09\u53d1\u4e00\u7bc7\u771f\u5b9e\u4f53\u9a8c\u5185\u5bb9 \u2192 \u5185\u5bb9\u6ee1 10 \u8d5e \u2192 \u9001\u6c38\u4e45\u4f1a\u5458\u3002<br /><br />\u8981\u6c42\u5c31\u8fd9\u4e9b\uff1a<br />\u5185\u5bb9\u516c\u5f00\uff0c\u522b\u5220<br />\u5e26 App \u622a\u56fe\u6216\u5f55\u5c4f<br />\u771f\u5b9e\u611f\u53d7\u5c31\u884c\uff0c\u53ef\u4ee5\u5938\u4e5f\u53ef\u4ee5\u5410\u69fd\uff0c\u4e0d\u7528\u5199\u597d\u8bc4<br />\u4e0d\u80fd\u642c\u8fd0\u6284\u88ad\u3002<br /><br />\u4e3a\u4ec0\u4e48\u4e0d\u7528\u597d\u8bc4\uff1f\u56e0\u4e3a\u6211\u66f4\u60f3\u6536\u96c6\u771f\u5b9e\u53cd\u9988\u3001\u6539\u8fdb\u4ea7\u54c1\u3002\u4f60\u89c9\u5f97\u597d\u7528\u81ea\u7136\u4f1a\u5b89\u5229\uff0c\u89c9\u5f97\u4e0d\u597d\u7528\u4e5f\u5e2e\u6211\u627e bug \u3002<br /><br />\u611f\u5174\u8da3\u7684\u5c0f\u4f19\u4f34\u52a0\u6211 vx \u5907\u6ce8\uff08\u63a8\u5e7f\u8ba1\u5212\uff09\uff1a<br />SmVmZmVyeUhKVw==<br /><br />\u540d\u989d\u6709\u9650\uff0c\u5148\u5230\u5148\u5f97 \ud83d\ude80<br /><br />\u6f14\u793a\u89c6\u9891<br /><div class=\"embedded_video_wrapper\"><iframe src=\"https://www.youtube.com/embed/I2ReJM9B_RM\" class=\"embedded_video\" allowfullscreen=\"\" type=\"text/html\" id=\"ytplayer\" frameborder=\"0\"></iframe></div>?si=sxMVxis664O0C_IJ"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/laivn", 
        "name": "laivn", 
        "avatar": "https://cdn.v2ex.com/avatar/ad8e/da80/8613_large.png?m=1747730631"
      }, 
      "url": "https://www.v2ex.com/t/1231366", 
      "date_modified": "2026-07-31T22:53:44+00:00", 
      "content_html": "<p>Setapp 19 \u5e74\u7edd\u7248\u5bb6\u5ead\u8ba2\u9605\u8f66\u4f4d\u4e00\u4e2a\uff0c\u5177\u4f53\u4ecb\u7ecd\u81ea\u884c\u4e86\u89e3\u3002</p>\n<p>\u4eca\u5e74\u6709\u4e2a\u4e0b\u8f66\u7684\uff0c\u7a7a\u51fa\u4e00\u4f4d\u300226 \u5e74 5 \u6708 24 \u53f7\u521a\u7eed\u671f\u7684\uff0c\u4eca\u5e74\u00a5206 \u3002</p>\n<p>\u72ec\u7acb\u8d26\u53f7\uff0c\u6bcf\u4e2a\u8d26\u53f7\u53ef\u7528 2 \u4e2a Mac \u6388\u6743\uff0c1500 \u70b9 AI \u6a21\u578b\u4f59\u989d\u3002</p>\n<p>WX\uff1aMzI5Mzg2NjI=</p>", 
      "date_published": "2026-07-31T22:51:45+00:00", 
      "title": "\u7edd\u7248 Setapp \u5bb6\u5ead\u7248\u8f66\u4f4d", 
      "id": "https://www.v2ex.com/t/1231366"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Zarhani", 
        "name": "Zarhani", 
        "avatar": "https://cdn.v2ex.com/avatar/7fcd/13e3/496308_large.png?m=1762129271"
      }, 
      "url": "https://www.v2ex.com/t/1231108", 
      "title": "macos \u4e2d\uff0c\u4f11\u7720\u4e00\u6bb5\u65f6\u95f4\u548c\u89e6\u63a7\u677f\u62d6\u52a8\u53d8\u5f97\u5361\u987f\uff0c windowserver \u8fdb\u7a0b CPU \u5360\u7528\u8d85\u8fc7 30%\uff0c\u53ef\u80fd\u662f\u4ec0\u4e48\u539f\u56e0", 
      "id": "https://www.v2ex.com/t/1231108", 
      "date_published": "2026-07-30T18:18:07+00:00", 
      "content_html": "<p>\u64cd\u4f5c\u7cfb\u7edf\uff1amacos 26.5 arm\n\u5b89\u88c5\u7684\u8f6f\u4ef6\uff1akarabiner-elements \uff08\u672a\u5904\u7406\u9f20\u6807\u4e8b\u4ef6\uff09, linearmouse\n\u89e6\u53d1\u6761\u4ef6\uff1a\u672a\u77e5\uff0c\u901a\u5e38\u5728\u7b14\u8bb0\u672c\u591c\u665a\u4f11\u7720\u540e\u89e6\u53d1\n\u5916\u8bbe\uff1a\u7b14\u8bb0\u672c\u81ea\u5e26\u89e6\u63a7\u677f\uff0c\u901a\u8fc7\u84dd\u7259\u8fde\u63a5\u7684\u7f57\u6280\u9f20\u6807\uff08\u672a\u5b89\u88c5 logi options+\uff09</p>\n<p>\u95ee\u9898\u63cf\u8ff0\uff1a\n\u7535\u8111\u4f11\u7720\u4e00\u665a\u4e0a\u540e\uff0c\u518d\u5524\u9192\uff0c\u53ef\u80fd\u6709\u4e00\u5b9a\u6982\u7387\u51fa\u73b0\u8fd9\u79cd\u95ee\u9898\uff1a\u89e6\u63a7\u677f\u6309\u538b\u62d6\u52a8\u65f6\uff0c\u53cd\u5e94\u53ca\u5176\u5361\u987f\uff0c\u751a\u81f3\u901a\u8fc7\u89e6\u63a7\u677f\u79fb\u52a8\u9f20\u6807\u6307\u9488\u65f6\u90fd\u4f1a\u53d1\u751f\u5361\u987f\uff1b\u89e6\u63a7\u677f\u4e09\u6307\u62d6\u79fb\u5219\u975e\u5e38\u6d41\u7545\u65e0\u5361\u987f\uff1b\u9f20\u6807\u4ea4\u4e92\u548c\u62d6\u52a8\u4e5f\u5f88\u6d41\u7545\u3002\u7528\u4efb\u52a1\u7ba1\u7406\u5668\u67e5\u770b\u8fdb\u7a0b\uff0cWindowServer \u7684 CPU \u5360\u7528\u4f1a\u5e38\u5e74\u4e0a 30%\u3002\n\u91cd\u542f windowserver \u8fdb\u7a0b\u540e\uff0c\u89e6\u63a7\u677f\u6309\u538b\u62d6\u79fb\u53d8\u5f97\u91cd\u65b0\u6d41\u7545\uff0c\u95ee\u9898\u6d88\u5931\u3002</p>\n<p>\u53ef\u80fd\u662f\u4ec0\u4e48\u539f\u56e0\u5bfc\u81f4\u8fd9\u6837\u7684\u60c5\u51b5\uff1f\u6b22\u8fce\u5927\u5bb6\u5206\u4eab\u7c7b\u4f3c\u7ecf\u5386\u3002</p>\n<p>\u672c\u4eba\u6709\u90e8\u5206\u7279\u6b8a\u7528\u9014\uff0c\u5fc5\u987b\u4f7f\u7528\u9f20\u6807\uff0c\u4f46\u8eba\u5230\u5e8a\u4e0a\u540e\u5219\u4f1a\u6539\u7528\u89e6\u63a7\u677f\u6765\u505a\u4e00\u4e9b\u8f7b\u91cf\u7684\u64cd\u4f5c\u3002</p>\n"
    }
  ]
}