苹果签名

iphoneqm
首页 > 苹果签名 > 正文内容

provision profile文件过期与iOS App重新签名

admin1年前 (2024-12-02)苹果签名492

  本文主要参考:iOS App重新签名方法介绍 - Haven's Blog

provision profile文件过期与iOS App重新签名

  其实iPA文件就是zip文件,只是后缀不同而已。要重签名,我们需要准备证书与provision profile, 证书直接在Keychian里管理,provision profile与证书是对应关系。 真机调试或提交过App到App Store的朋友都应不会陌生。

  下面直接说步骤:

  a.解压iPA文件

  b.删掉旧的签名文件

  c.拷贝新的provision profile替换旧的embedded.mobileprovision

  d.用codesign命令重签名

  f.重新zip为iPA文件

  下面有一个脚本,它完成了上面5步骤:1234567891011121314151617181920212223242526

  需要注意脚本中有两处需要你们手动修改,第一处是123.mobileprovision,这个文件需要与脚本放同一目录,第二处是XXXXX (XXX), 这儿XXX改为你keychian里有的证书,只需要改XXX, 括号保留。

  我的笔记:

  上面的括号并不是一定必要的,这要视你的keychian里的证书而定。如果在keychian证书列表里你需要的证书带括号,那么就带括号,如果不带,就不需要。

  另外,注意证书重名的问题,如果重名了,会出现下面的提示:

  iPhone Distribution: XXXXXX ambiguous (matches "iPhone Distribution: XXXXX" and "iPhone Distribution: XXX" in /Users/admin/Library/Keychains/login.keychain)

  去掉重名的证书就可以解决问题了

  延伸用途:用于判断provision profile文件是否失效/过期

  最近遇到一个问题,用企业证书发布的app下载安装失败,主要表现是安装进度条能看到是满了,但是最后一步就是不行,猜测是验证不成功。

  首先就是猜测provision profile过期了,但是在developer中心查看对应bundle ID的provision profile,是没有过期的,这本身就很奇怪,不管怎样,先试一下吧。先在developer中心里把这个provision profile删除掉,再重新生成一个并下载。然后使用上面的方法,试试重新签名的ipa能否安装。经过我的测试,重新签名的ipa在我的iPhone上是可以安装的。

  这个问题的另一种分析方法:

  将iPhone连上Mac,打开Xcode,选择菜单上的Window——Devices,找到自己的设备名,查看右下方的log,可以看到下面的日志:

  Aug 19 14:54:30 iphone installd[5481] : 0x100594000 -[MIInstaller performInstallationWithError:]: Installing

  Aug 19 14:54:30 iphone misagent[5495] : attempt to install invalid profile: 0xe8008011

  Aug 19 14:54:30 iphone installd[5481] : 0x100594000 -[MIInstallableBundle _installEmbeddedProfileInBundle:]: Could not install embedded profile: 0xe8008011 (Expired)

  根据这篇文章,0xE8008011代表The Provisioning Profile being loaded is expired,可以确认就是Provisioning Profile过期了。

  ipa安装失败时出现的各种错误码的意义:

  0xE8008003 - It was unable to get the Creation Date of the Provisioning Profile being loaded

  0xE8008010 - Provisioning Profile Version is not equal to 1 (?)

  0xE8008012 - The UUID of the device does not match any in the Provisioning Profile being loaded

  0xE8008011 - The Provisioning Profile being loaded is expired

  0xE8008003 - No UUID included in the Provisioning Profile that is being loaded

  0xE8008015 - A valid provisioning profile for this executable was not found

  0xe8008016 原因可能之一是证书名正确,Profile里的App ID不正确,可能原因2是app id正确而证书名不正确

  20160421更新:

  遇到0xE8008015报错问题的一种情况:从开发者中心下载了发布证书,没在先在生成csr(certSigningRequest)文件的Mac上安装,而是直接在另一台电脑上安装的,导致安装的证书没有私钥。对应的mobileprovision文件会提示valid signing identity not found,不知道为啥能正常生成ipa文件。

  解决方法是先在生成csr(certSigningRequest)文件的Mac上双击发布证书安装,然后在keychain中导出证书,并设置密码,把生成的p12证书导入另一台Mac双击安装,输入密码,安装成功后在keychain中应该就能看到私钥的。这时候重新生成的ipa文件就能正常安装了

扫描二维码推送至手机访问。

版权声明:本文由MDM苹果签名,IPA签名,苹果企业签名,苹果超级签,ios企业签名,iphoneqm.com发布,如需转载请注明出处。

转载请注明出处https://www.iphoneqm.com/iphoneqm/129.html

分享给朋友:

相关文章

苹果App转让遇到的两个问题

苹果App转让遇到的两个问题

  如上,转让的过程遇到两个问题。   一、必须接受最新版本的主协议   本App是免费的,但也涉及到“付费”和“免费”两个选项,之前显示“付费 App”栏目需要进一步设置,完善报税表,银...

网友曝胡歌给医务人员手写信,粉丝直呼:这句话太戳泪点

网友曝胡歌给医务人员手写信,粉丝直呼:这句话太戳泪点

  近日,有网友在社交平台上晒出胡歌给武汉市儿童医院医护人员的手写信。并且据爆料,此前胡歌还定点向武汉市儿童医院捐赠了一百台空气消毒机。   在信中,胡歌向武汉市儿童医院的医护人员表达致敬,一句...

苹果开发者证书下载/安装

苹果开发者证书下载/安装

  证书。(最好是下载它的完整的向导说明书,是一个PDF,7M多,步骤还是挺详细的。但是这本手册在网上没有见过中文版的说明,所以在这里简单介绍一下。)   这个开发者中心的用户权限分三种类型:A...

突发:苹果超级签名后闪退黑标(图标色)IO灰S14.2 beta2 最新的代码签名格式解决方案

突发:苹果超级签名后闪退黑标(图标色)IO灰S14.2 beta2 最新的代码签名格式解决方案

  ​最近很多产品应该都出现过这个情况,用udid导入p8之后下载的app发现有签名不上的问题,那么他是如何出现的呢?   从iOS 14.2 beta 2开始,iOS系统将检查新的,更安全的签...

原创苹果企业签名的具体操作步骤

原创苹果企业签名的具体操作步骤

  对于签名这个行业,有企业签、超级签、个人签还有TF签名,今天具体还是介绍一下企业签名是怎么操作的,一起来看看吧!   一、什么是企业签名?   众所周知,苹果开发者账号分三种:个人开发...

苹果签名过期可以用吗

苹果签名过期可以用吗

  在使用苹果设备时,我们经常会遇到一个问题,就是应用程序无法启动,提示“无法验证此应用程序的开发者”。这是因为应用程序的签名已经过期,导致无法正常使用。那么,苹果签名过期可以用吗?下面,我们来详细介...

现在,非常期待与您的又一次邂逅

我们努力让每一次邂逅总能超越期待

  • 高效满意
    高效满意

    专业的技术团队

  • 性能稳定
    性能稳定

    响应速度快,放心有保障

  • 用户体验
    用户体验

    响应式布局,兼容各种设备

  • 持续更新
    持续更新

    不断升级维护,更好服务用户