我是iPhone / iPad开发的新手。我想知道为什么苹果使用ipa扩展而不是zip(实际上是文件)用于移动应用程序。 这是文件app.ipa
的输出app.ipa:Zip档案数据,至少提取v1.0
他们为什么不只使用拉链?
答案 0 :(得分:2)
.ipa
表示它不仅仅是一个旨在提取的存档,而是一个iOS应用程序,具有特定的数据和布局,恰好是一个zip存档。
编辑:请注意,定义自定义扩展以指示文件满足其他规范(和/或具有非常规文件格式的特定“目的”)并不是特别常见。例如,.c
,.java
等都是文本文件,但它们不是只是文本文件,而是具有非常特定格式的文本文件(C和Java编程语言,分别地)。
与.ipa
类似,Java ARchives(.jar
)也是zip文件,但它们实现了更具体的目的,并且包含比“任何”随机.zip
更具体的数据。碰巧,Android .apk
文件甚至是更具体的.jar
文件,因此也是.zip
个文件......但随着目的和格式变得更加具体,将扩展名更改为表明这一点。
(作为额外的好处,打开这些更具体的扩展可能会导致操作环境启动更具体的程序,例如IDE而不是简单的文本编辑器,或iTunes而不是unarchiver。我没有看到这个但是,作为更具体扩展的主要目的。)
答案 1 :(得分:1)
他们使用它来避免人们解压缩,就像那样简单。 IPA文件有点难以打开,因此“更安全”。此外,Apple喜欢以他们的方式做事。
我没有看到.ipa真的使用.ipa的任何缺点。
答案 2 :(得分:1)
这是因为iTunes处理 .ipa / .ipsw文件而不是zip文件 与* .app / .bundle相同,它们实际上是文件夹,使用不同的扩展名可以更改默认的打开反应。