如何从任意应用创建自己的 IPA 文件

什么是 IPA 文件?为什么要创建一个?

IPA 文件(iOS App Archive)是 iOS 用于分发和安装应用程序的打包格式。无论是来自 App Store 还是通过 sideload 安装的,iPhone 上的每一款应用在某个阶段都曾是一个 IPA 文件。如果你一直想创建自己的 IPA 文件,不管是为了分发自己开发的应用、保存某个应用的旧版本,还是为个人使用打包一个修改版应用,本指南将为你讲解所需的全部知识。

在正式开始创建之前,了解 IPA 文件内部的构成会很有帮助。我们在了解 IPA 文件:它们是什么以及如何使用一文中给出了详细的结构解析。简而言之,IPA 文件是一个 ZIP 压缩包,内含应用程序包(.app 文件夹)、资源文件、编译后的二进制文件以及元数据。最后核实时间:2026 年 10 月 27 日,依据 Apple 的 Xcode 文档和开发者会员页面核实。

简要总结

  • 自己构建的 IPA 文件仍需经过签名,iPhone 才能运行。使用免费 Apple Account 签名是可行的,但要遵守 Apple 自身的限制:应用会在 7 天后过期,且每台设备最多只能安装 3 个应用。
  • 如果要从 Xcode 为其他设备导出 IPA(使用 Debugging 或 Ad Hoc 选项),需要付费的 Apple Developer Program 会员资格,Apple 官方定价为每会员年 99 美元。
  • Apple 表示,iPhone 需要开启 Developer Mode(开发者模式),才能运行来自 Xcode 的应用或安装开发版 .ipa 文件。
  • 由他人应用制作的 IPA 文件仅供你本人使用。分享该文件会违反 Apple 的条款,也可能侵犯版权(详见下方法律相关章节)。

免费 Apple 账户与付费开发者计划对比

Apple 的会员对比页面提到,要在个人设备上安装并测试应用,”你需要在 Xcode 中登录你的 Apple 账户”。对此,一个免费账户就已足够,但根据同一页面,存在以下限制:

可以做什么 免费 Apple 账户 Apple Developer Program
通过 Xcode 在自己的 iPhone 上运行自己的应用 可以 可以
应用的有效期 7 天,之后需要重新签名 取决于描述文件的有效期(Sideloadly 的 FAQ 中提到最长可达 1 年)
每台设备的应用数量 最多 3 个 没有 3 个应用的限制
App ID 最多 10 个,每个 7 天后过期 在 Certificates, Identifiers & Profiles 中管理
为已注册设备导出 IPA(Debugging、Ad Hoc) 不可以 可以
TestFlight 与 App Store 不可以 可以
价格 免费 每个会员年 99 美元(具体价格可能因地区而异)

Apple 的分发指南写道:”如果你想将应用分发给已注册的设备、通过 TestFlight 分发给测试人员,或者通过 App Store 分发,请加入 Apple Developer Program。”即使使用免费账户,你仍然可以自行构建应用并打包 .app 文件(见下文的方法 3),然后用 sideloading 工具对其签名。关于免费账户限制在实际使用中的具体表现,请参阅我们关于 3 个应用数量限制 以及 应用 7 天后过期 的指南。

方法一:从 Xcode 导出 IPA

如果你是拥有 Xcode 项目访问权限的开发者,导出 IPA 会非常简单。这是最可靠、也是官方支持的方法。

第 1 步:在 Xcode 中打开你的项目

打开 Xcode(建议使用 15 版本或更高版本),并加载你的项目或工作区文件。确保你的项目可以成功构建到真机(而不仅仅是模拟器)。

第 2 步:选择正确的 Scheme 与目标设备

在工具栏中,选择你应用的 scheme,并将目标设备选择为 Any iOS Device (arm64)。这样可以确保编译出的二进制文件与真实硬件兼容。

第三步:归档应用

点击 Product > Archive。Xcode 会编译你的应用并创建一个归档文件,根据项目大小不同,这可能需要几分钟时间。完成后,Organizer 窗口会自动打开。

第四步:分发应用

在 Organizer 窗口中,选中你的归档文件并点击 Distribute App。你会看到几个选项:

  • App Store Connect:用于提交到 App Store(与本教程无关)
  • Ad Hoc:安装到特定的已注册设备上
  • Development:用于开发设备
  • Enterprise:用于内部分发(需要 Enterprise 账户)

选择 Development 或 Ad Hoc(在 Xcode 15 及更高版本中,它们显示为 Debugging 和 Release Testing),然后按照提示操作。最后,选择 Export 将 IPA 文件保存到你的 Mac 上。

Apple 当前针对已注册设备给出的步骤是:选中归档文件并点击 Distribute App,选择 Debugging 并点击 Distribute,查看构建详情后点击 Export,然后选择保存位置。Apple 表示 Xcode 会“创建一个包含若干文件的文件夹”,对于 iOS 应用来说,这个文件夹中就包含了 IPA 文件。测试者只能在已注册到你团队并包含在 provisioning profile 中的设备上运行它。Apple 还指出,一个团队每年每个产品类别可注册的设备数量是有限的。

开启开发者模式

Apple 官方文档表示,无论是“通过 Xcode 构建并运行应用”,还是使用 Apple Configurator “安装 .ipa 文件”,都需要开启开发者模式。在 iPhone 上,进入 设置 > 隐私与安全性,在“安全性”下开启 开发者模式。此时会弹出一个警告,提示开发者模式会降低设备的安全性,点击 重新启动,重启后点击 启用 并输入密码即可。Apple 还补充说,只有在你开始将设备与 Mac 配对,或者之前已经配对过的情况下,这个开关才会出现。如果以后想关闭它,在同一位置关闭开关并重启设备即可。更多细节可参阅我们的 开发者模式指南。

方法二:从设备上已安装的应用创建 IPA

如果你想从 iPhone 上已安装的应用创建 IPA(用于备份或个人用途),你需要一台已越狱的设备,或者能访问旧版 macOS 下生成的 iTunes 备份。

使用已越狱的设备

在已越狱的 iPhone 上,像 Filza File Manager 这样的文件管理器可以从设备中复制出应用程序包,以便你将其打包成 IPA。关键步骤在于解密二进制文件:App Store 应用是通过 FairPlay DRM 加密的,只有在该应用授权绑定的设备上才能解除这种加密。

  1. 通过 Cydia 或 Sileo 安装 Filza 或类似的文件管理器。
  2. 进入 /var/containers/Bundle/Application/ 目录。
  3. 找到你的应用所在的文件夹(这些文件夹以 UUID 命名,因此可能需要查看 Info.plist 来确认具体是哪一个)。
  4. 将 .app 文件夹复制到一个名为 Payload 的新文件夹中,然后将 Payload 文件夹压缩为 .zip,再把文件后缀改为 .ipa。

注意:这样生成的是加密版 IPA。如果要生成可用于 sideloading 的解密版本,还需要额外的解密步骤,使用 frida-ios-dump 或 CrackerXI 等工具。

使用旧版 iTunes 备份

在较早版本的 iTunes 中(在 Apple 移除 App Store 功能之前),iTunes 会把已购买应用的副本以 IPA 文件的形式保存在 ~/Music/iTunes/iTunes Media/Mobile Applications/ 目录下。如果你恰好有这样的备份,那些 IPA 文件已经是打包好的,可以直接使用,不过在 sideloading 之前仍需要重新签名。

方法三:手动构建一个简单的 IPA

对于想要了解其结构或创建一个极简测试 IPA 的开发者来说,可以从零开始构建一个。这主要适用于用一个已知可用的测试应用来测试你的 sideloading 流程。

  1. 在 Xcode 中创建一个极简的 iOS 应用(即使是默认的 “Hello World” 模板也可以)。
  2. 为设备构建:xcodebuild -scheme MyApp -configuration Release -sdk iphoneos build
  3. 在 DerivedData 文件夹中找到构建好的 .app 包。
  4. 创建一个 Payload 目录:mkdir Payload
  5. 将 .app 复制到 Payload 中:cp -r MyApp.app Payload/
  6. 压缩它:zip -r MyApp.ipa Payload

现在你已经有了一个基础的 IPA 文件。在它能够被安装到设备之前,还需要用有效证书进行签名,这时 Scarlet iOS 或其他签名工具就派上用场了。

将经过修改或 Tweaked 的应用打包为 IPA

创建自己的 IPA 的一个常见原因是把修改内容或 tweak 整合进一个现有的应用中。这被称为对 IPA 进行”打补丁”,需要将动态库(dylib)注入到应用包中。

打补丁工具

  • insert_dylib / optool:用于注入 dylib 的命令行工具
  • Azule:一款专门用于将 Cydia Substrate tweak 注入 IPA 的现代工具。它的 GitHub README 中将其描述为”一款用于将 iOS 越狱 tweak 注入非越狱(jailed)iOS 应用的 CLI 工具”;它可以处理 .deb、.dylib 和 .framework 文件,其高级选项还可以更改应用的 bundle ID、版本号和显示名称,或移除应用扩展(app extensions)。

注入完修改内容后,按照上文所述重新打包应用包,并用 Scarlet iOS 或你自己的开发者证书对其进行签名。

有两点需要注意。tweak 运行时拥有与被注入应用相同的访问权限,所以只应使用来自可信来源的 tweak。另外,如果你更改了 bundle ID,iOS 会将结果视为一个独立的应用,这意味着它不会保留原应用的数据。在安装任何经过修改的 IPA 之前,建议按照我们的指南 如何在安装前扫描 IPA 文件中的恶意软件 进行检查。

签名和安装 IPA 的几种方式

工具 使用什么签名 是否需要电脑 主要限制
Xcode(运行) 你的 Apple Account 需要,Mac 免费账号:7 天,3 个应用
Sideloadly 你的 Apple Account 需要,Windows 或 Mac 免费账号:7 天,3 个应用
SideStore 你的 Apple Account 仅设置时需要 免费账号:7 天,3 个应用
Scarlet iOS 共享证书 不需要 Apple 可能随时吊销证书

Scarlet 已在 iOS 14 到 iOS 26 上得到确认支持;有第三方报告称支持 iOS 27,但尚未得到官方确认。

用 Scarlet iOS 安装你的自定义 IPA

准备好 IPA 文件后,通过 Scarlet iOS 安装就很简单了。完整的安装流程请参阅我们的《无需越狱在 iOS 26 和 iOS 27 上安装应用的方法》这篇教程。简要步骤如下:

  1. 通过 AirDrop、iCloud Drive 或直接链接将 IPA 传输到你的 iPhone。
  2. 打开 Scarlet iOS,导入 IPA 文件(例如从“文件”App 中选取)。
  3. 等待 Scarlet 完成应用的签名和安装。
  4. 如有提示,前往“设置”>“通用”>“VPN 与设备管理”信任开发者描述文件。

法律与道德方面的考虑

从你自己拥有的应用制作 IPA 文件用于个人备份是否被允许,取决于当地法律以及该应用的使用条款。分发 App Store 应用的 IPA 文件会违反 Apple 的条款,并可能侵犯版权。请务必确保你拥有分发所创建 IPA 文件的权利,并且只对你购买或自行开发的应用使用这些技术。

常见问题

没有 Mac 能制作 IPA 吗?

从源代码构建 iOS 应用需要 Xcode,而 Xcode 只能在 macOS 上运行。但把现有的 .app 打包成 IPA(即把 Payload 文件夹压缩并重命名)可以在任何电脑上完成。

使用免费 Apple 账号能从 Xcode 导出 IPA 吗?

你可以通过 Xcode 把应用运行在自己的 iPhone 上。但 Apple 的文档明确指出,分发到注册设备、TestFlight 和 App Store 都需要加入 Apple Developer Program(付费会员),因此导出选项也需要付费会员资格。

为什么我自制的 IPA 一周后就打不开了?

这是因为它是用免费账号签名的。Apple 官方页面说明,免费账号的描述文件(provisioning profile)”将在签发后 7 天内到期”。用同一个 Apple ID 重新签名即可保留其数据。

总结

自己制作 IPA 文件能带来多种可能:保存应用的历史版本、测试自己开发的软件,或是为个人使用而定制应用。只要工具选得对,并且对整个流程有扎实的理解,任何人都能熟练掌握 IPA 的制作与管理。

准备好安装你的自定义 IPA 了吗?从上表中选择一种签名方式,或者如果你想在设备上直接签名,可以参考如何安装 Scarlet iOS。

类似文章