美文网首页
iOS plugins的ipa包重签名问题

iOS plugins的ipa包重签名问题

作者: Lee坚武 | 来源:发表于2021-04-10 14:27 被阅读0次

    公司业务需求,需要将我们的包给部分公司使用,但是不给源码,并且需要我们开发出重签名教程,但是由于公司的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包重签名问题

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