苹果签名

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

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

admin10个月前 (12-02)苹果签名405

  本文主要参考: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://iphoneqm.com/iphoneqm/129.html

分享给朋友:

相关文章

企业签名已过期,如何续签?

企业签名已过期,如何续签?

  苹果企业签名对于ios开发者来说,应该不陌生了,它是一种可以让ios应用不经过App Store苹果审核,直接在ios手机上安装的方法,通常在ios应用内测阶段会使用到。但是,使用过苹果企业签名的...

Win7系统签名过期影响腾讯会议APP升级-处理指引

Win7系统签名过期影响腾讯会议APP升级-处理指引

  受到部分微软支持服务的影响,后续可能出现使用Win7及Win7 SP1系统(更高版本系统不受影响)的用户签名验证失败,导致无法升级腾讯会议的情况。有两类解决方案供用户选择,参考指引操作后即可正常升...

Failed to register bundle identifier. The app identifier “xxx” cannot be registered to your developm

Failed to register bundle identifier. The app identifier “xxx” cannot be registered to your developm

  1、在你的 Mac 开发机器生成一对公私钥,这里称为公钥L,私钥L。L:Local  2、苹果自己有固定的一对公私钥,跟上面 AppStore 例子一样,私钥在苹果后台,公钥在每个 iOS 设备上...

小Q画笔iPhone版下载

小Q画笔iPhone版下载

  小Q画笔是由QQ影像团队近期打造推出的一款实用的小工具,专门用于截图图片标注时使用。小Q画笔拥有最简洁的界面,提供箭头、形状、涂鸦、文字、剪切、马赛克6个标注功能,并可一键分享至或QQ好友,帮助你...

究竟什么是苹果ios超级签名源码系统?

究竟什么是苹果ios超级签名源码系统?

  关于ios企业签名大家应该也不陌生了,那我们今天就再来一起看一下有关签名的一些知识吧!   数字签名想必大家应该会陌生一些,数字签名他又叫做公钥数字签名,或者电子盖章,就是一种类似于写在纸上...

app用别人api上架到商店

app用别人api上架到商店

  应用商店   开发者资质协助   上架服务收费   appstore上架   元   元 (不成功不收费)   谷歌上架app   元   元 (不...

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

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

  • 高效满意
    高效满意

    专业的技术团队

  • 性能稳定
    性能稳定

    响应速度快,放心有保障

  • 用户体验
    用户体验

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

  • 持续更新
    持续更新

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