Apple开发者交不出99美金!个人开发者“白嫖”Xcode打包导出Mac App
目录
很多刚接触 macOS 开发的朋友(包括当年的我)都会遇到这个尴尬的时刻:
代码敲完了,Bug 修好了,App 在模拟器里跑得飞起。你兴致勃勃地想把这个 App 发给好基友体验一下,或者仅仅是想把它作为一个独立软件放在自己的“应用程序”文件夹里。
结果去点 Archive -> Distribute App,Xcode 直接反手给你一个提示:“请充值信仰(交钱)”。
难道不交那 99 美元/年的苹果开发者保护费,我们辛辛苦苦写的代码就只能烂在 Xcode 里吗?
当然不是! 作为一个“免费党”个人开发者,其实完全可以导出可用的 App。虽然有点小限制,但自己用或者小范围分享绝对够了。今天就手把手教你如何操作。
第一阶段:搞定“身份证明” (签名)
虽然我们没交钱,但还是得告诉苹果“这是我写的程序”。不用担心,你的免费 Apple ID 就能用。
- 打开你的 Xcode 项目。
- 点击左侧最顶部的 蓝色项目图标。
- 看右边,切到 Signing & Capabilities 面板。
- 关键点来了: 在
Team那一栏,选你自己名字的 (Personal Team)。- 没有名字?去 Xcode 的
Settings -> Accounts里登录一下你的 Apple ID 就行。
- 没有名字?去 Xcode 的
- 确保勾选了
Automatically manage signing。只要 Xcode 不报错,这一步就稳了。
第二阶段:别用 Archive,直接“偷”文件!
常规的发布流程是点 Product -> Archive,但那个是给付费用户上架 App Store 用的。咱们换条路:
- 编译: 确保顶部的运行目标选的是 My Mac,然后按下
Command + B(或者菜单栏 Product -> Build)。 - 等待: 看到 "Build Succeeded" 出现。
- 找文件:
- 在 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 的隔离机制在作祟。需要用终端命令解除封印:
-
把 App 拖到“应用程序”文件夹。
-
打开 终端 (Terminal)。
-
复制粘贴下面的命令(注意最后有个空格):
Bash
xattr -cr -
把你的 App 图标从 Finder 里拖入终端窗口(它会自动补全路径),然后回车。
搞定!现在 App 就能正常打开了。
总结一下
| 你的身份 | 这一招能干嘛? | 代价是什么? |
|---|---|---|
| 免费个人账号 | ✅ 本机永久运行 ✅ 可以发给朋友 | ⚠️ 朋友打开时会报安全警告,需要手动绕过。 |
| 付费账号 ($99) | ✅ 上架 App Store ✅ 完美分发 | 💸 钱包痛一下。 |
我的建议:
如果你只是开发个小工具自己用,或者给懂点电脑技术的同事朋友用,完全没必要付费。用今天教的方法,0成本搞定。
但如果你是想做一个商业软件,发给完全不懂技术的普通用户,那还是乖乖交钱吧,毕竟要把用户吓跑了,那损失可不止 99 刀。
Happy Coding! 👨💻👩💻
