Apple开发者交不出99美金!个人开发者“白嫖”Xcode打包导出Mac App

很多刚接触 macOS 开发的朋友(包括当年的我)都会遇到这个尴尬的时刻:

代码敲完了,Bug 修好了,App 在模拟器里跑得飞起。你兴致勃勃地想把这个 App 发给好基友体验一下,或者仅仅是想把它作为一个独立软件放在自己的“应用程序”文件夹里。

结果去点 Archive -> Distribute App,Xcode 直接反手给你一个提示:“请充值信仰(交钱)”

难道不交那 99 美元/年的苹果开发者保护费,我们辛辛苦苦写的代码就只能烂在 Xcode 里吗?

当然不是! 作为一个“免费党”个人开发者,其实完全可以导出可用的 App。虽然有点小限制,但自己用或者小范围分享绝对够了。今天就手把手教你如何操作。


第一阶段:搞定“身份证明” (签名)

虽然我们没交钱,但还是得告诉苹果“这是我写的程序”。不用担心,你的免费 Apple ID 就能用。

  1. 打开你的 Xcode 项目。
  2. 点击左侧最顶部的 蓝色项目图标
  3. 看右边,切到 Signing & Capabilities 面板。
  4. 关键点来了:Team 那一栏,选你自己名字的 (Personal Team)
    • 没有名字?去 Xcode 的 Settings -> Accounts 里登录一下你的 Apple ID 就行。
  5. 确保勾选了 Automatically manage signing。只要 Xcode 不报错,这一步就稳了。

第二阶段:别用 Archive,直接“偷”文件!

常规的发布流程是点 Product -> Archive,但那个是给付费用户上架 App Store 用的。咱们换条路:

  1. 编译: 确保顶部的运行目标选的是 My Mac,然后按下 Command + B (或者菜单栏 Product -> Build)。
  2. 等待: 看到 "Build Succeeded" 出现。
  3. 找文件:
    • 在 Xcode 菜单栏点击 Product -> Show Build Folder in Finder
    • 这会打开一个很深的文件夹。在里面找到 Products -> Debug (或者 Release)。
    • 你会看到一个 .app 文件(比如 MyApp.app)。

这就是我们要的本体! 你可以直接把它拖到你的 /Applications 文件夹里,在你这台电脑上,它已经是个成熟的 App 了,想怎么开就怎么开,永久有效。


第三阶段:发给朋友?注意避坑!(高能预警)

如果你只在自己这台电脑用,看到上面就可以关掉文章了。但如果你把这个 .app 文件通过微信、网盘发给朋友,或者换了一台 Mac 打开,事情就会变得有点“诡异”。

你的朋友双击打开时,MacOS 的门神 (Gatekeeper) 会跳出来拦截:

  • 情况 A: 提示“无法验证开发者”。
  • 情况 B: (更吓人) 提示“App 已损坏,打不开。你应该将它移到废纸篓”

别慌!App 没坏,代码也没毒。纯粹是因为你没交保护费,苹果无法对你的 App 进行“公证 (Notarization)”,所以系统默认不信任它。

✅ 如何解决?

把下面这段话发给你的朋友(或者作为你的软件使用说明):

方法 1 (如果不报错,只是打不开):

不要直接双击!对着 App 图标 点击右键 -> 选择 “打开” -> 在弹出的警告框里再点一次 “打开”。只要操作一次,以后就能直接双击了。

方法 2 (如果提示文件已损坏):

这是 MacOS 的隔离机制在作祟。需要用终端命令解除封印:

  1. 把 App 拖到“应用程序”文件夹。

  2. 打开 终端 (Terminal)

  3. 复制粘贴下面的命令(注意最后有个空格):

    Bash

    xattr -cr 
  4. 把你的 App 图标从 Finder 里拖入终端窗口(它会自动补全路径),然后回车。

搞定!现在 App 就能正常打开了。


总结一下

你的身份 这一招能干嘛? 代价是什么?
免费个人账号 ✅ 本机永久运行 ✅ 可以发给朋友 ⚠️ 朋友打开时会报安全警告,需要手动绕过。
付费账号 ($99) ✅ 上架 App Store ✅ 完美分发 💸 钱包痛一下。

我的建议:

如果你只是开发个小工具自己用,或者给懂点电脑技术的同事朋友用,完全没必要付费。用今天教的方法,0成本搞定。

但如果你是想做一个商业软件,发给完全不懂技术的普通用户,那还是乖乖交钱吧,毕竟要把用户吓跑了,那损失可不止 99 刀。

Happy Coding! 👨‍💻👩‍💻