swift 生成的 IPA 非常大,大约 5MB



我刚刚使用 swift 语言创建了一个简单的项目,然后编译并存档以生成 .ipa 文件。IPA文件太大了,大约是5 MB。

那里对吗(没问题)? 当我在Objective-C中创建它时,它只有大约500kb。

是的,这是正确的。包含整个 Swift 语言的库必须嵌入到 IPA 中。这些库是应用程序的一部分,而不是系统的一部分 - 因为 Swift 即使在向后兼容的情况下也必须工作,部分原因是它不断变化(独立于系统更新),部分原因是为了在 iOS 7 上运行(系统从未听说过 Swift)。它们的大小约为5MB。

为了扩展 matt 的答案,以下是 Swift 博客中关于兼容性的一段话:

您可以相信您的应用程序将来会运行良好。[...]这是可能的,因为 Xcode 在应用的捆绑包中嵌入了一个小型的 Swift 运行时库。由于该库是嵌入式的,因此您的应用程序使用在过去、现在和未来操作系统版本上运行的一致版本的 Swift

因此,如果您的最新应用程序版本是使用 Xcode 6.0 构建的,并且您的应用程序的用户运行的是 iOS 8.1,并且您的应用程序在中间引入了对 Swift 的重大更改,那么您的应用程序不会因 iOS 更新而中断。如果你的应用只使用系统库,它可以。

这允许 Swift 的开发人员更快地迭代,而无需在每个版本之间建立向后兼容性。

附加警告:

虽然你的应用的运行时兼容性得到了保证,但 Swift 语言本身将继续发展,二进制接口也将发生变化。为了安全起见,应用的所有组件都应使用相同版本的 Xcode 和 Swift 编译器构建,以确保它们协同工作。

最新更新