美文网首页重签名,马甲包
iOS重签名 – ipa包(服务器适用)

iOS重签名 – ipa包(服务器适用)

作者: Recorder_MZou | 来源:发表于2018-11-26 17:43 被阅读93次

    一、项目搭建

    1. 创建一个ios项目


      image.png
    2. 为了方便可以通过修改包而修改应用的图标,项目架构中,需要单独出来图标文件 eg:icon@2x.png ,icon@3x.png
      (1)项目架构设置

      image.png
      (2)配置文件修改:方便可以修改应用图标
      image.png
    image.png

    二、ipa包修改
    1.准备工作,准备需要重签名的证书--具体可以去苹果开发者里面生成证书(此处不做介绍),并修改名字为embedded.mobileprovision 和 Entitlements.plist文件(下面介绍,用于重签名信息配置).
    2.获取生成的ipa包并解压
    (1)在终端获取到ipa包的路径

    命令: cd xxxx/xxx/xx   eg:cd /Users/mzou/Desktop/
    

    (2) 解压ipa包

    命令: unzip xxxx.ipa   eg: unzip TestProject.ipa
    

    3.进入解压ipa包后生成的Payload文件夹中并查看xxx.app包内容删除相关的配置文件和替换证书
    (1)进入xxx.app包里面

    命令:cd xxxx.app     eg:TestProject.app
    

    (2)删除_CodeSignature文件(原签名配置文件)

    命令: rm -rf _CodeSignature   
    

    (3)替换原有的证书文件
    先删除原有的证书文件:rm – rf embedded.mobileprovision
    然后拷贝已下载后的证书文件(已改名的证书文件)

    cp xxxxxx.mobileprovision  xxxx/xxx/Payload/TestProject.app
    
    mv xxxxxxx. mobileprovision embedded.mobileprovision // (改名)
    
    

    4.创建entitlements.plist ,并且配置开发环境
    (1)先创建xml文件

    命令:touch entitlements.xml
    

    (2):编辑xml文件,添加如下文件

    命令:vim entitlements.xml
    

    进入后,按i进行编辑,配置以下文件


    image.png

    编辑内容:

    <?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>application-identifier</key>
        <string>XXXXXXXX</string>
        <key>com.apple.developer.team-identifier</key>
        <string>XXXXXX</string>
        <key>get-task-allow</key>
        <false/>
        <key>keychain-access-groups</key>
        <array>
            <string>XXXXXX</string>
        </array>
    </dict>
    </plist>
    
    

    编辑完后,保存文件退出。
    命令,先esc ->:wq
    (3)编辑完xml文件后,把xml文件转成plist文件

    命令: mv entitlements.xml entitlements.plist
    

    5.修改info文件
    5.1:先把Info.plist 转成xml文件

    命令:mv Info.plist Info.xml
    

    5.2:然后通过vim进行修改info.xml文件

    命令:vim Info.xml
    

    5.3必须修改Bundle ID


    image.png
    介绍以下常用的key
    <key>CFBundleDisplayName</key>   //应用安装后展示的应用名称
    <key>CFBundleName</key>    //应用名称,当不设置DisplayName时显示
    <key>CFBundleIdentifier</key>    //应用BundleID ,必须与证书一致
    <key>CFBundleShortVersionString</key> //应用短版本号
    <key>CFBundleVersion</key>       //应用版本号
    

    修改完成后,保存修改的文件,然后把xml文件重命名为plist文件

    命令:mv Info.xml Info.plist
    

    6.修改应用图标和启动图片(需要的可进行修改)
    通过命令,查看包里面的文件:

    命令:ls – al
    
    image.png

    查看本地文件的,如上图所示,只需要把需要替换的图片和尺寸一致,然后改相同的名称进行替换 (copy替换),此时即可---应用图标的替换,必须项目如步骤一的项目配置一致,否则不能修改成功

    三、重签名

    1.以上文件修改完成之后,返回Payload文件所在的路径

    命令 cd ..
    

    2.通过命令进行重签名(必须有xcode的环境才能重签名成功,服务器端重签名的需要安装相关的环境,此处不介绍)。

    命令:codesign -f -s "XXXX" --entitlements entitlements.plist entitlements.plist
    
    
    image.png

    当出现以下的信息时候,证明签名成功:

    image.png

    此时包里面出现已重新签名的信息

    image.jpeg

    注:如果出现其他信息,建议检查步骤或重新配置

    四:打包重签名后的ipa包
    1.先返回Payload所在的上一层路径
    命令:zip -r xxx.ipa Payload eg: zip -r 测试应用.ipa Payload

    2.打包完成后,可通过手机或者蒲公英等第三放应用托管平台检测。

    大千世界,求同存异;相遇是缘,相识是份,相知便是“猿粪”(缘分)
    From MZou

    相关文章

      网友评论

        本文标题:iOS重签名 – ipa包(服务器适用)

        本文链接:https://www.haomeiwen.com/subject/lvzbqqtx.html