专业IOS签名团队
闪电售后,性价比秒杀上架,快速上线、测试
提供 iOS 企业证书签名服务,让您的 iOS App 无需提交 App Store 或设置
UDID 即可在iPhone、iPad 等设备上直接安装,帮助您快速完成应用内测
过程,降低测试成本,缩短上线时间。

ipa签名的ipa文件详细解析

2019-06-22 08:00 栏目:ipa签名 查看()

IPA文件扩展名用于表示包含Apple应用程序包的存档。IPA文件是zip存档,因此当文件扩展名.ipa更改为.zip时,可以打开存档并提取文件。ipa签名文件包含“Payload”文件夹和iTunesArtwork文件。iTunesArtwork文件用于在App Store和iTunes中显示应用程序图标,并包含512×512 PNG图像。Payload文件夹包含与应用程序相关的所有数据。可以在IPA文件中看到iTunesMetadata.plist,其中包含Apple ID,艺术家姓名,仅购买(可以设置为true或false),版本,价格,发布者以及有关该应用程序的所有其他信息等详细信息。PLIST文件是XML文件。

打开Payload文件夹时,有一个.app文件夹,表示应用程序的名称。在此文件夹中,可以找到与应用程序相关的所有数据。有很多.lproj文件夹代表英语,西班牙语等语言.lproj是包含本地化的文件夹,每个.lproj包含一个Localizable.strings文件。Localizable.strings文件也是一个XML文件。.app中存在可执行文件(没有文件扩展名)。可执行文件使用Info.plist指定。

下面给出了两个Localizable.strings文件样本(文件的一部分),一个位于en.lproj(英语),另一个位于fr.lproj(法语)。

<key> AudioErrorDialogTitle </key>
<string>音频错误</string>
<key>返回</key>
<string>返回</string>
<key>取消</key>
<string>取消</string>
<key> CannotFindCameraMessage </key>
<string>找不到相机。</string><key> AudioErrorDialogTitle </key>
<string> Erreur audio </string>
<key>返回</key>
<string> Retour </string>
<key>取消</key>
<string> Annuler </string>
<key> CannotFindCameraMessage </key>
<string>Aucunecaméradisponible</string>

IPA文件中将有一个.bundle文件夹,例如Settings.bundle或FBConnect.bundle。Settings.bundle存储设置页面文件。

IPA文件中的信息属性列表(Info.plist)

信息属性列表可以在IPA包的根文件夹中看到。Info.plist示例的内容如下:

<?xml version ="1.0" encoding ="UTF-8" ?>
<!DOCTYPE plist PUBLIC" - // Apple // DTD PLIST 1.0 // EN""http://www.apple.com/DTDs/PropertyList -1.0.dtd">
<plist version ="1.0">
    <dict>
        <key>CFBundleDevelopmentRegion</key>
        <string>zh_cn</string>
        <key>CFBundleDisplayName </key>
        <string> Hexnode </string>
        <key> CFBundleExecutable </key>
        <string> Hexnode </string>
        <key> CFBundleIconFile </key>
        <string> Hexnode.png </string>
        <key> CFBundleIdentifier </key>
        <string> com.mitsogo.hexnode < / string>
        <key> CFBundleInfoDictionaryVersion </key>
        <string> 6.0 </string>
        <key> CFBundleName </key>
        <string> Hexnode </string>
        <key> CFBundlePackageType </key>
        <string> APPL </string>
        <key> CFBundleResourceSpecification </key>
        <string> ResourceRules.plist </string>
        <key> CFBundleSignature </key>
        <string> ???? </string>
        <key> CFBundleVersion < / key>
        <string> 0.33 </string>
        <key> DTPlatformName </key>
        <string> iphoneos </string>
        <key> DTSDKName </key>
        <string> iphoneos2.1 </string>
        <key> LSRequiresIPhoneOS </key>
        <string> YES </string>
        <key> MinimumOSVersion </key>
        <string> 2.1 </string>
        <key> SignerIdentity </key>
        <string>Apple iPhone OS应用程序签名</string>
    </dict>
</plist>

Info.plist文件中使用的所有键及其值都可以在About Info.plist键和值中看到。

代码签名

某些IPA文件使用代码签名。代码签名用于确定代码是否由签署应用程序的人以外的任何人修改。如果使用相同的唯一标识符对新版本进行签名,则系统可以将更新标识为相同的应用程序。签名代码可以在.ipa \ Payload \ .app \ _CodeSignature \ CodeResources中看到。

示例签名代码如下所示。签名代码是XML代码。

<key>文件</key>
<dict>
    <key> Default.png </key>
    <data> 0EXsPsU2vdCjAbnGkXv75mUjww4 = </data>
    <key> Dist.plist </ key>
    <data> s45CsB1sm2EFR9Z1NilFQ5hxXrI = </data>
    <key> Entitlements.plist </ key>
    <data> P9msvFKf4JmXZjt3lnCcp7nqx1A = </data>
    <key> Icon.png </ key>
    <data> NqgkUUSrayNfc4kTtMazDd8c18g = </data>
    <key> PkgInfo </ key>
    <data> n57qDP4tZfLD1rCS43W0B4LQjzE = </data>
</dict>

代码签名包括:

  • Seal:Seal是代码各部分的哈希集合。
  • 数字签名:数字签名用于签署印章。
  • 唯一标识符:代码签名中提供了唯一标识符,用于标识代码。

代码签名主要用于三个目的,以确定是否:

  1. 一段代码被修改,
  2. 不同版本的代码来自同一个源,并且
  3. 该应用程序是可靠的(例如,应用程序是否访问钥匙串)。

PKGINFO

PkgInfo文件用于指定应用程序类型(4个字节),后跟签名(4个字节)。例如,PkgInfo文件包含TextEdit应用程序的“APPLtxtt”。此文件不是必需的,其中的信息可以在IPA文件中的信息属性列表中给出。

扫二维码与IOS签名经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/ios企业签名咨询/签名价格咨询/技术建议/互联网交流

上一篇:创建用于签署iOS应用程序的ipa签名证书和P12文件

下一篇:如何编码签名和发布ipa签名应用程序

郑重申明:IOS企业签名以外的任何单位或个人,不得使用该案例作为工作成功展示!
  • 咨询QQ:1602927038
    邮箱:1602927038@qq.com
    工作时间:08.30-23.30
友情链接: ios企业签名 微构网
Copyright © 2017-2019 www.wegto.com.版权所有  鄂ICP备19007640号-1    苹果企业签名  苹果签名  ios企业签名  
点击这里给我发消息