苹果开发证书分为个人证书和企业证书。两者其中一个区别是,企业证书打包的app不需要发布到app store,而个人证书的app必须发布到app sotre。但是企业证书有个弊端,使用企业证书发布app有效期为12个月,假如过了有效期app则无法运行。也就是说,企业证书发布的app至少需要 1年升级一次,每次升级使用新的证书来发布。
这真是一个大坑。
下面是苹果官方文档的说明(http://help.apple.com/iosdeployment-apps/mac/1.1/?lang=zh-cn#app43ad802c):
您自己分发的应用程序不会自动更新。当您有新版本可供用户安装时,向他们发送更新通知并指导他们安装应用程序。考虑让应用程序检查更新,并在它打开时通知用户。如果您使用的是无线应用程序分发,则通知可以提供已更新应用程序的清单文件链接。
如果您想要用户保留他们的设备上储存的应用程序数据,请确定新版本使用的 bundle-identifier 与它要替换的 bundle-identifier 相同,并告知用户在安装新版本之前不要删除他们的旧版本。新版本将会替换旧版本并保留设备上储存的数据,前提是 bundle-identifier 匹配。
分发预置描述文件自签发之日起 12 个月后过期。过期之前的两个月,iOS设备会开始显示即将过期通知。过期之后,应用程序将无法开启。
请在预置描述文件过期之前,使用 iOS Development Portal(iOS 开发门户)为应用程序创建新描述文件。使用新预置描述文件为首次安装应用程序的用户创建新应用程序归档 (.ipa)。
对于已经拥有该应用程序的用户,您可能想要计划发布下一个版本的时间,以便它包括新预置描述文件。如果您不想这样做,则可以仅分发新 .mobileprovision 文件,以便用户不必再次安装该应用程序。新预置描述文件将覆盖已存在于应用程序归档中的描述文件。
现在,您可以使用 MDM 安装和管理预置描述文件,用户可以从您提供的安全网站上下载和安装它,或者您可以将它作为电子邮件附件分发给用户,供用户打开和安装。
您的分发证书过期后,应用程序将无法开启。分发证书自签发之日起三年有效,或者在您的 Enterprise Developer Program(企业级开发者计划)成员资格过期之前一直有效,过期日期以先到者为准。若要防止证书提前到期,请确保在成员资格过期之前续订它。有关如何 检查分发证书的信息,请参阅证书验证。
您可以同时让两个证书处于活跃状态,它们之间相互独立。第二个证书是为了提供一个重叠期,让您能够在第一个证书过期前更新您的应用程序。从 iOS Dev Center(iOS 开发中心)请求您的第二个分发证书时,请确保您没有撤销第一个证书。
苹果官方文档写明,企业帐号发布证书有效期是3年,而开发证书有效期为1年,而描述文件不分开发发布都是只有1年有效期。所以当你的描述文件过期(**expire**)时。不用慌张,我看到网上好多朋友说删除重新生成,其实不用这么麻烦,只需要3步完成:点击过期的描述文件展开详情界面-点击Edit按钮-点击Generate按钮
个人帐号开发证书发布证书有效期都是1年,描述文件也全是1年有效期Apple Pay (RSA) 有效期2年
对于个人开发帐号Appstore的证书来说
1、先revoke你的Certificate,重新生成一个新的。
2、Edit一下你的证书,选择新的Certificate。
3、下载覆盖之前的证书,就可以了。
这个帐号发布的产品不会受到影响。未发布的产品也不会有影响。(注意,这个是APPSTORE的,删除不影响线上版本,如果是企业版到期前千万别乱删,只要删除已经装了的App立马不能用----这都是血和泪的教训!!!)
证书的有效期不能修改,只能重新下载。
证书过期不会影响已上架 AppStore ,但是推送会出问题,更新推送证书也不用下架重新发布,可以重新生成,只要保证 developer.apple.com 中那个 APP ID 的推送证书和推送服务器上的一致即可。