一种对iOS系统应用重签名的方法与流程

文档序号:18901216发布日期:2019-10-18 21:58阅读:1057来源:国知局
一种对iOS系统应用重签名的方法与流程

本发明涉及计算机领域,尤其涉及一种对ios系统应用重签名的方法。



背景技术:

随着企业开发应用的增多,对已发布的app管理越来越繁琐。有些app没有新功能的更新,通常ios企业版app的配置文件有效期只有一年。等到app快要过期了,再对这些app所在的工程代码进行重新编译、打包,会带来很大的工作量。随着时间的流逝,编译环境会发生变化,如依赖文件的缺失,ios系统及机型的设备等;为了适应变化,不得不去修改原有的工程代码,重新进行适配工作,会带来很大的不确定性,并且还会一定的功能校验工作,一定程序上增加了公司的人员资源。

为了解决已发版app证书过期的问题,当前普遍的做法是进行重签名。但重签名步骤复杂而繁琐,稍有不慎会导致重签名出的包不可用、文件缺失等问题。



技术实现要素:

本发明的目的是针对现有技术的缺陷,提供了一种对ios系统应用重签名的方法,消除了在签名过程中可能产生的包不可用、文件缺失等不确定问题,提高了运维的效率。

为了实现以上目的,本发明采用以下技术方案:

一种对ios系统应用重签名的方法,包括以下步骤:

s1、解压后缀名为ipa的文件;

s2、从s1中解压后的文件中提取entitlements.plist文件信息;

s3、设置ipa的新版本号;

s4、读取teamname信息,

s5、将名为embedded.mobileprovision的描述文件替换为新的描述文件;

s6、对后缀为名为app的文件进行重签名;

s7、重新打包app的文件;

s8、清除中间文件,包括payload文件夹、entitlements.plist文件、appthinning.plist文件、appex的plist信息文件等;

s9、重签名结束。

进一步的,所述步骤s2至s3还包括下述步骤,

sa1、是否存在后缀为appex的插件;

sa2、若存在,则提取其plist文件信息,若否则跳转至s3;

sa3、对后缀为appex的插件进行重签名,跳转至s3。

进一步的,所述步骤sa3至s3还包括下述步骤,

sb1、应用是否指定版本号,若是则跳转至s3;

sb2、sb1中若否,则将原版本号最后一位加1作为新版本号,再跳转至s3。

进一步的,步骤sa2中若否,还可跳转至下述步骤:

sb1、应用是否指定版本号,若是则跳转至s3;

sb2、sb1中若否,则将原版本号最后一位加1作为新版本号,再跳转至s3。

进一步的,所述步骤s3至s4还包括下述步骤,

sc1、是否制定mobileprovision描述文件,若是则跳转至s4;

sc2、sc1中若否,则从已有的embedded.mobileprovision描述文件中读取teamname信息,并可直接删除旧的签名文件,跳转至步骤s6。

进一步的,所述步骤s5至s6还包括下述步骤,

sd、删除旧的签名文件。

进一步的,所述步骤s6至s7还包括下述步骤,

se打印签名验证信息。

采用本发明技术方案,本发明的有益效果为:与现有技术相比,本发明方法可以实现app安装包的快速重签名,大幅提高重签名的效率,提高了开发人员的使用体验和满意度。本方法是由swift语言来实现的,具有轻量化、便捷易用等特点,相对于手工操作,节约了很多的时间,保证了重签名的正确性。

附图说明

图1是本发明提供的一种对ios系统应用重签名的方法流程图;

图2是本发明提供的一种对ios系统应用重签名的方法总流程图。

具体实施方式

结合附图对本发明具体方案具体实施例作进一步的阐述。

实施例一、

如图1所示,本发明主要方法步骤如下:

s1、解压后缀名为ipa的文件;

s2、从s1中解压后的文件中提取entitlements.plist文件信息;

s3、设置ipa的新版本号;

s4、读取teamname信息,

s5、将名为embedded.mobileprovision的描述文件替换为新的描述文件;

s6、对后缀为名为app的文件进行重签名;

s7、重新打包app的文件;

s8、清除中间文件,包括payload文件夹、entitlements.plist文件、appthinning.plist文件、appex的plist信息文件等;

s9、重签名结束。

本发明可以通过以上的主步骤既能实现重签名的功能,步骤简洁,效率高,提高了开发人员的使用体验和满意度。

其中,后缀名为ipa的文件是apple(苹果公司)程序应用文件iphoneapplication的缩写,ipa文件实质是一个zip压缩包。

entitlements.plist文件是指ios系统下的文件。

后缀为plist的文件是一种文件形式,通常用于储存用户设置,也可以用于存储捆绑的信息,该功能在旧式的ios系统中是由资源分支提供的。由于plist中存储的数据是抽象的,其采用的文件格式可以不止一种。

teamname信息是指ios系统下的指定文件。

描述文件embedded.mobileprovision是指ios开发中的设备描述文件,里面有证书信息、调试设备的uuid信息及证书的日期等。

实施例二、

本发明一种对ios系统应用重签名的方法,除实施例一中所指出的步骤基础上,还可包括以下步骤,如图2流程总图所示。

s1、解压后缀名为ipa的文件;

s2、从s1中解压后的文件中提取entitlements.plist文件信息;

s3、设置ipa的新版本号;

sa1、是否存在后缀为appex的插件;

sa2、若存在,则提取其plist文件信息,若否则跳转至sb1;

sa3、对后缀为appex的插件进行重签名,跳转至sb1。

sb1、应用是否指定版本号,若是则跳转至s3;

sb2、sb1中若否,则将原版本号最后一位加1作为新版本号,再跳转至s3。

sc1、是否制定mobileprovision描述文件,若是则跳转至s4;

sc2、sc1中若否,则从已有的embedded.mobileprovision描述文件中读取teamname信息,并跳转至sd,删除旧的签名文件。

s4、读取teamname信息,

s5、将名为embedded.mobileprovision的描述文件替换为新的描述文件;

sd、删除旧的签名文件。可以节省空间且是文件包里的文件更简洁清楚,该步骤也可省略。

s6、对后缀为名为app的文件进行重签名;

se打印签名验证信息。

s7、重新打包app的文件;

s8、清除中间文件,包括payload文件夹、entitlements.plist文件、appthinning.plist文件、appex的plist信息文件等;

s9、重签名结束。

进一步的,sb1和sb2两步骤可为待选项,即sa1中判断是否存在后缀为appex的插件,若否也可直接跳转至s3,同样sa3对后缀为appex的插件进行重签名,直接跳转至s3。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1