什么是
苹果APP签名呢?苹果APP签名所说的就是将iOS App使用企业证书重签名, 苹果企业账号是苹果公司提供给 iOS 开发者的一种高级别的开发者账号,区别于个人开发者账号和公司开发者账号,企业账号具有如下特点:
1、价格比个人账号和公司账号更贵,为 299$/年
2、不可以提交应用到 App Store 商店
3、可以将签名后的应用在任何 iOS 设备上安装,且没有安装数量的限制
那么如何将iOS App使用企业证书重签名呢?
第一步:
申请企业证书,配置文件:embedded.mobileprovision。 进入苹果开发者网站会员中心,依次进入如下图Distribution页面。
我们会看到如下信息,我们需要记录下App ID,一般为com.XXX.XXX,将iOS Provisioning Profiles (Distribution) Donwload到本地,保存为embedded.mobileprovision。
在本地电脑上,打开钥匙串访问,我的证书,找到Distribution(必须) 企业证书,如下图所示,需要记录下用户ID和常用名称。
第二步:
命令行安装工具:fruitstrap
fruitstrap工具可以在命令行安装ipa文件到手机上,好处是可以看到安装进度,若安装失败,可以知道在什么位置失败的,便于查找原因。以下是git下载地址。
git clone https://github.com/sgleadow/fruitstrap-demo.git
授权文件:entitlements.plist
我们还需要生成一个授权文件,授权文件的作用是告诉签名工具如何对app进行签名。授权文件内容如下,要用到前面准备好的用户ID,App ID。
下面我们把需要重签名的ipa解压缩,会得到一个Payload的目录,接下来就可以开始对App重新签名了。
修改 Info.plist
修改Bundle ID为前面准备好的App ID,保存。
删除旧的签名文件和配置文件
删除App目录下的_CodeSignature,文件夹和embedded.mobileprovision文件,将前面准备好的embedded.mobileprovision拷贝到App目录下。
我们用codesign命令,对app重新签名。证书使用前面记录下的证书常用名称。—entitlements使用前面生成的授权文件。
codesign -f -s "iPhone Distribution: Beijing XXXXXX Technology Co., Ltd." --entitlements entitlements.plist Payload/XXX.app
打包
zip -r XXX.ipa Payload
安装
fruitstrap-demo/bin/fruitstrap -d XXX.ipa
搞定苹果APP重新签名的过程就这么简单,对于企业账号来说,苹果的管控是非常严格的,任何违背苹果 ADP 和 ADEP 条款使用企业账号,都会有企业账号被封的风险。根据经验,我们总结了上述一些规则提供给所有开发者,只要根据严格遵守,即可极大程度的避免企业账号被封。
但是,苹果的企业账号监管很大程度上是取决于苹果人工审核,所以并没有100%安全的事情,有的时候,也需要一点运气。苹果企业开发者账号一旦被封,基本上也就没有办法找回来了,钱也不会退的,随后苹果会给你发一封邮件通知,并且一年内不得再次注册。
如果没有企业开发者账号的朋友可以联系我欢迎包月、包年, 西嘉i
os企业签名-专注
苹果企业签名8年