iOS系统要求在设备上运行的所有应用程序都必须经过代码签名,以下几类iOS应用都需要签名:
- App Store应用 – 发布到App Store的应用必须使用Apple开发者账号进行签名,并通过审核。
- 企业应用 – 企业内部使用的B2B应用也必须正确签名,通常使用企业证书。
- TestFlight应用 – 在TestFlight测试的iOS应用必须经过签名后才能安装在测试设备上。
- Ad-Hoc应用 – 使用Ad-Hoc证书打包供小批量测试使用的应用。
- 跨平台应用 – 使用React Native、Flutter等跨平台框架开发的iOS版应用。
- 预装应用 – 预先安装在iOS设备上的OEM应用也必须进行签名。
- Safari插件 – 用于Safari浏览器的插件必须有正确的签名。
- Mac Catalyst应用 – 使用Mac Catalyst工具开发的Mac应用的iOS部分。
- Jailbreak应用 – 越狱设备上安装的通过自签名方式安装的应用。
总之,除了模拟器调试外,任何要安装到真机运行的iOS应用都必须进行苹果官方认可的签名,这是保障安全的必要手段。