关于ipa重签名及分发全过程的问题求助

533 阅读3分钟

求助内容:

各位大佬好,我看到有共享的p12证书。便尝试着给ipa重签名,但是过程并不顺利,遇到的问题试了很多种方法还是无法成功安装,所以我腆着脸想请教一下:

证书是Distribution类型的发布证书,里面有UUID,应该是用来进行Ad Hoc 真机测试的(我不知道判断是否正确)。

截屏2022-08-25 下午6.18.00.png

这种证书指定了UUID,我们在进行重签名的时候换成自己的测试设备,ipa能安装吗?(因为测试重签名了好几个ipa,不知道是什么地方出了问题。我通过网页分发下载后都是灰色的,显示无法安装,请稍后再试。。)

WechatIMG6.jpeg

另外这张证书中的cert.mobileprovision描述文件与ipa里的embedded.mobileprovision是不一样的,我也没得开发者账号进行重新生成。所以就想要不把重签名ipa中的info.plist文件改成这张证书里的App ID信息。因为在info.plist中bundle ID一般是com.xxx.xxx与这张证书APP ID: 3F2J..com.xx.xx在结构上还是有点不同的,在修改的时候 3F2J..需要加上去吗?(除了bundle ID外,不知道其它地方需不需要改,因为App Name也与info.plist是不一样的,需要改吗?)

截屏2022-08-25 下午6.27.22.png

我重新把所有需要签名的地方都签了,检查也没啥问题。

截屏2022-08-25 下午6.34.48.png

然后上传到https服务器上,再写了一个run.plist分发的文件与已重签名的ipa放在一起以供下载测试。

截屏2022-08-25 下午6.40.49.png

下载的时候用的 itms-services://?action=download-manifest&url=www.xxx.com/run.plist 命令在Safari浏览器进行。

WechatIMG9.jpeg

但是下载的时候并没有遇到需要信任证书的步骤,而是直接下载完,点击却无法安装。

例如这种步骤:

截屏2022-08-25 下午6.51.31.png

因为是第一次操作ipa签名,我只能参考以往发生过的经验,无法判断当下分发的情况。如果下载ipa时没有信任企业签名这一步骤是否正常?

另外,我担心是自己分发时写的run.plist产生的错误导致无法安装,又购买了某平台超级签名进行重签,因为重签名后的ipa托管在别人平台,省去了我需要再找教程,判断ipa无法安装是否由run.plist文件代码的错误。

可事实是,下载了超级签名的证书并信任它,然后点击安装,ipa依旧提示无法安装。懵了都。。。

回到主题,各位大佬请问我在重签名中到底是什么情况引起的无法安装呢?

1、首先我感觉是证书的问题,因为UUID有设备号码了,逻辑上是无法再其它设备上测试安装的吧?但是我花钱买超级签名,为什么也不能安装呢?

2、证书中的.mobileprovision描述文件与ipa中的embedded.mobileprovision不一样,我用证书中的替换了它们。因为我没有开发者账号,无法对证书对应的.mobileprovision描述文件进行修改(尝试强制修改,改动的描述文件无法对ipa重签名)直接用证书中的描述文件可行吗?

3、如果直接用证书中的.mobileprovision描述文件,那么就要对ipa中的info.plist进行修改,但是具体需要改动哪些呢?(我依然对bundle ID需不需要加3F2J..感到困惑,App Name是否也必须一样?)

4、网页分发的run.plist是不是也有问题?它具体应该怎么写?是跟info.plist一样,还是跟从.mobileprovision描述文件提取的entitlements.plist文件保持一样?

期待答复,给我干懵了,整不会了。。。