iOS 企业签名与超级签名

开篇

好久没有静下心来写点iOS方面的东西了,可能是忙了一些,也可能我们都不是几年前的我们,但工资却回退到几年前
好了,不说废话,今天讲讲签名的那些事

不上架苹果商店,目前用户下载大约有两种

1、苹果企业证书签名
2、苹果超级签名

苹果企业证书签名(企业签)


特点总结

1、随时可分发APP
2、可接受Apple不可接受的APP

缺点总结

1、苹果开发者账号难求,据说最近炒到了50万左右
2、市场上证书混乱,烂大街的证书不少
3、掉签风险极高
4、掉签后重新获取用户,运营成本加大

重签名方法
工具

1、iOS APP Signer
2、iReSign
等的(有很多第三方提供的,据说会盗证书)

使用方法

上面两种见Git

终端签名

1、准备IPA后缀文件(Ad Hoc Deployment 打包)xx.mobileprovision文件(企业)

2、获取证书里面的信息(xx.plist)

security cms -D -i xx.mobileprovision > xx.plist

3、导出xx.plist

/usr/libexec/PlistBuddy -x -c 'Print:xx项目名'  xx.plist > xx.plist

4、解压ipa包

unzip xx.ipa

5、删除旧签名

rm -rf Payload/xx.app/_CodeSignature/

6、删除动态库签名(所有framework都有需要执行此步骤)

①、删除签名
rm -rf Payload/xx.app/Frameworks/xx.framework/_CodeSignature

②、重新签名
codesign -f -s "证书的名称" Payload/xx.app/Frameworks/xx.framework/

7、替换配置文件

cp xx.mobileprovision Payload/xx.app/

8、签名

codesign -f -s "证书的名称" --entitlements xx.plist Payload/xx.app

9、打包成ipa

zip -r new_xx.ipa Payload/

最终 new_xx.ipa就是重新签名的文件

苹果超级签名

原理

说的明白一些,开发者可以在开发者后台添加手机的UDID,然后重新打包一个IPA文件,分发平台,然后被添加的UDID就可以下载

整体架构图
图1
特点总结

1、直接分发,安装即可运行,不需要用户做企业证书的信任操作
2、目前稳定,不会有证书吊销导致的业务风险

缺点总结

1、单开发者账号的iPhone设备数量只有100个,导致分发成本非常高(99美元/1年/100个设备)

XML制作细节

1、在你的Web服务器上创建一个.mobileconfig的XML格式的描述文件;
XML代码如下

<?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>PayloadContent</key>
        <dict>
            <key>URL</key>
            <string>一个接收UDID的网址</string>
            <key>DeviceAttributes</key>
            <array>
                <string>UDID</string>
                <string>IMEI</string>
                <string>ICCID</string>
                <string>VERSION</string>
                <string>PRODUCT</string>
            </array>
        </dict>
        <key>PayloadOrganization</key>
        <string>GuangdongQi</string><!--组织名称-->
        <key>PayloadDisplayName</key>
        <string>AppFree</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadUUID</key>
        <string>9CF421B3-9853-4454-BC8A-982CBD3C907C</string><!--自己随机填写的唯一字符串,http://www.guidgen.com/ 可以生成-->
        <key>PayloadIdentifier</key>
        <string>com.gpon.profile-service</string>
        <key>PayloadDescription</key>
        <string>This temporary profile will be used to find and display your current device's UDID.</string>
        <key>PayloadType</key>
        <string>Profile Service</string>
    </dict>
</plist>

注意
①、接收网址的地址需要SSL签名,自签名的不行,这也是苹果强制https的一种方式吧
②、mobileconfig下载时设置文件内容类型Content Type为:application/x-apple-aspen-config(遇到问题的都是因为这个),或者像这里用一个简单页面做好下载mobileconfig文件,引导用户安装
2、服务器做一些301跳转,存储UDID等操作

自动化
注册新的开发者设备+更新Provisioning Profile

接下来的关键点就是如何在获取到用户的UDID之后,秒级完成注册新的开发者设备+更新Provisioning Profile的。 这里我们需要借助开源工具(spaceship):

Spaceship

Spaceship公开了Apple Developer Center的API,而且执行速度比解析开发者Web页面快两个数量级,从而在非常短的时间内搞定Provisioning Profile。 这个框架解决了整套机制的关键问题,成为整个工具链的基石。其实某平台早就完成了UDID获取和应用签名分发的技术储备,只差这套API。

下面是解析开发者Web页面和直接访问API的速度对比图:

SpaceshipRecording
自动签名封包

此处其实应该有一万个解决方案,通过命令行脚本/Python脚本/或者其他第三方都能实现。

这里推荐使用 Sigh 这个框架来解决这个问题。

image.png

Sigh的用法和配置都非常简单,一个纯命令工具,丰富的配置选项(自行查阅文档),活跃的社区,完全够用了。

直接上演示图:

image
分发

不多说了,什么蒲公英,fir,各种小平台等等

广告

最后打个广告吧企业签名按天收费20一天
不想坑人,不知道什么时候证书就掉了,所以就按天算吧,掉签可补

超级签名不做了,太贵,账号死的快,

至于超级签名系统,就当我没有,毕竟没人付过钱

然后不接受各种咨询,有问题评论区
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS自助签名超级工具是一种应用程序开发工具,可让开发人员自行署和安装iOS应用程序,而无需依赖于苹果开发者账号的付费订阅或其他限制。它的功能包括提供一个用户友好的图形界面,让用户可以轻松地配置和管理签名证书、描述文件和应用程序的Bundle ID等。 使用iOS自助签名超级工具可以带来许多好处。首先,它能够降低开发者的成本。传统上,开发者需要购买苹果的开发者账号来签名和部署应用程序,这需要支付相当高昂的费用。而使用自助签名工具可以避免这个费用,并将这笔资金用于其他开发相关的事项。 其次,自助签名工具可以提高开发速度和灵活性。使用苹果的官方签名方式需要等待苹果的审核和发布过程,这可能需要几天乃至几周的时间。而使用自助签名工具,开发者可以立即将应用程序签名并安装到测试设备上进行测试,节省了宝贵的时间。 此外,自助签名工具还提供了更多的控制权和自定义选项。开发者可以自由地选择证书和描述文件,并定制应用程序的Bundle ID,以满足特定的需求。这种灵活性使得开发者能够更好地适应不同的开发环境和需求。 总之,iOS自助签名超级工具是一种方便、灵活且经济实惠的工具,可以帮助开发人员快速、高效地署和部署iOS应用程序,提高开发效率并降低成本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值