iOS plugins的ipa包重签名问题

公司业务需求,需要将我们的包给部分公司使用,但是不给源码,并且需要我们开发出重签名教程,但是由于公司的app有ShareExtensio,签名完成后总是无法安装。

我的具体操作步骤流程如下:

1.用公司自己的Appstore账号打了一个的不带插件的的ipa包。
2.用另一个appstore账号配置的 embedded.mobileprovision,和插件的 embeddedEX.mobileprovision
3.使用embedded.mobileprovision 通过security cms -D -i embedded.mobileprovision > embedded.plist 命令生成embedded.plist
4.使用/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' embedded.plist > entitlements.plist生成创建 entitlements.plist 文件
5.修改解压后的ipa包里的info.plist的BoundleID和 embedded.mobileprovision中的一致。
6. codesign -f -s “iPhone Distribution: XXX” Payload/解压出来的.app/Frameworks/xxxx.framework

重签名framework

7.codesign -f -s "iPhone Distribution: XXX" --no-strict --entitlements=entitlements.plist Payload/解压出来的.app,重签名app
8.zip -r new.ipa Payload 打包后可以安装使用。
9.对带shareExtension的adhoc包重复2-5操作。并且embeddedEX.mobileprovision 生成插件的相关plist,并修改plugins/info.plist的BoundleID,同时embeddedEX.mobileprovision替换插件目录下的embedded.mobileprovision
10.先对插件中appex签名,(appex里没framework);然后重复6-7操作主程序的签名。
11.打包安装,安装总是提示
image
(可以去确定证书和配置文件都没选择错误)尝试了多次也没解决带插件的ipa包的签名。
12.使用另一个签名方法也失败
后来直接sigh resign的命令行直接操作。
sigh resign -p cn.main.ex当前=embeddedEx.mobileprovision -p cn.main=embedded.mobileprovision
最后系统提示
image

签名成功。安装也是同样提示。

13.使用iOS App Signer签名带插件的程序 插件部分的info.plist是未变的,但是可以安装,我只对主程序签名,忽略插件也是安装不成功的,不知道iOS App Signer的方案是啥。

PS:

BoundleID是正确的。主程序和ex部分都是同样签名操作(这边是不是要有差异化?)。手机的uuid也在mobileprovision里
主程序mobileprovision的和ex的mobileprovision都是新建的两个id,并且用app group关联了。
网上基本上找到的都是只对不带ex的程序进行签名的按理。我只是把ex的签名过程弄的和主程序一致的,但是最后还是失败。

你可能感兴趣的:(iOS plugins的ipa包重签名问题)