使用过期iOS开发者账号打包 - 简书

栏目: IOS · 发布时间: 6年前

内容简介:该文章属于 原创,转载请注明:简书>这篇文章不是讲开发者账号过期,怎样进行续费的。而是讲开发者账号过期后,怎样继续进行打包测试,以及其中的原理的。

该文章属于 原创,转载请注明:简书>

http://www.jianshu.com/p/601f596e8550简书>

这篇文章不是讲开发者账号过期,怎样进行续费的。而是讲开发者账号过期后,怎样继续进行打包测试,以及其中的原理的。

当然,在开发者账号过期之前,就及时续费这是最明智的选择,如果开发者账号没有续费,可以看看下面的文章应急。

苹果企业级账号、公司账号、个人账号等账号,因为没有续费过期了,公司着急打测试包怎么办?

占位图

账号过期

如果证书过期,在打包时还和之前的一样,只要配置文件、打包证书、 Bundle Identifier 没有错误,就可以正常 Archive

但是你对 Archive 之后的 .xcarchive 文件,使用打包证书进行打包签名的时候,按照之前的打包流程进行打包,你会发现苹果需要你添加一个 Apple ID

添加Apple ID

然后你到 Accounts 中发现,我已经添加了一个 Apple ID 了,并且是对应当前证书的 Apple ID 。(如果没有添加,则添加即可)

添加Apple ID

你发现添加 Apple ID 之后,打包界面并没有发生变化,还是之前的样子,就算刷新之后也没有什么用。如果是这样,那么遗憾的告诉你, 请去开发者账号看看是否过期了

然而进去之后,你会发现苹果已经提醒你账号过期了,这样就不能正常打包了。

过期

根据苹果的 官方描述 ,如果账号过期后 App 将不能下载,也无法更新和提交 App ,以及失去修改配置证书、描述文件、以及开发者的身份。但是已经安装 App 的用户依然可以使用,我们也可以继续访问 iTunes Connect 和使用免费开发资源。

如果是 299$ 的企业账号过期,已经下载的 App 将不能使用,打开后会直接崩溃。还有一种教育账号,这种账号不会过期。

苹果为了防止账号过期的问题,在账号过期前会给账号的 Agent 用户发送一封邮件,告知账号快过期了,需要续费。而且提供了自动续费的功能,在账号过期前 30 天自动从银行卡扣费,但是这个功能只在部分地区可用(然而并不包含中国大陆:flushed:)。

账号过期,怎么解决?

账号过期后,你可以点击上图中的 renew your membership ,然后进行续费。

续费页面

然而续费之后并不一定能立即使用,而且现在着急打测试包。也或者公司是企业级(299美元)账号,不着急续费,只是想进行发布测试。可以通过以下方式解决这个问题。

  1. 直接在 Xcode 中选择 Window -> Orgenizer ,找到我们 Archives 之后的包,操作如下:

    Archives -> Show in Finder -> 显示包内容 -> Products -> Applications 然后直接将这个包拖到iTunes中,就可以生成一个 ipa 包,这个 ipa 包就是可以安装的包。

    直接拖到应用程序中

  2. 可以在Xcode中重新编译当前程序,编译完成后,在文件目录中 Show in Finder 出这个包。

    我们可以直接将这个包压缩,然后将压缩包改 zip 后缀为 ipa 后缀即可。

    打包

  3. 在Xcode中添加打包脚本为我们自动打包,在 Build Phases 中添加 Run Script ,直接将脚本代码添加进去即可。

添加打包脚本

下面是本文中使用的脚本代码,打包的脚本代码网上一搜一大把,可以根据需求查找打包脚本。

/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${RELEASE_BUILDDIR}/${APPLICATION_NAME}.app" -o "${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa" --sign "${DEVELOPER_NAME}" --embed "${PROVISONING_PROFILE}”

通过以上方式打的测试包,在开发者账号过期的情况下,都可以正常安装测试,可以对外发布测试。

防患于未然

开发者账号过期之前,及时续费是必要的,这可以从根本上解决问题,千万别因为这点钱坏了大事。

可以在账号没过期之前,在Xcode中登陆过开发者账号后,先将 Provisioning Profiles 文件导出到本地一份。

Exporting

在账号过期之后,我们将 Accounts 中之前到账号 Apple IDs 删除。然后将 Mac 断网,断网之后将系统时间修改为过期之前的时间(尽量靠前一些),然后双击 Provisioning Profiles 文件安装即可,使用这种方式还能应付一段时间。

账号过期,为什么还能打包?

首先我们要明确的就是什么是开发者证书?

先来说一些理论性的知识点,开发者证书是苹果颁发给开发者,用来验证开发者身份的一个文件。这个文件类似于我们做加密时,常用的数字证书一样。使用模拟器运行时不需要证书,在真机测试或打包时,需要使用证书进行签名。

证书中最重要的是其中包含的一个私钥,证书的校验使用的是RSA非对称加密算法,这个私钥就是和苹果服务器进行校验的“一把钥匙”。如果证书中的私钥不正确,则校验失败,不能进行相关的操作。

证书和私钥

iOS 中的私钥一般都是 2048 位的,这个级别的私钥长度是非常安全的,目前为止破解最长的私钥只有 RSA-768 的长度。

私钥

导出私钥

我们所说的导出私钥也就是导出 .p12 文件,导出证书后团队中其他人就可以使用这个证书,否则这个证书必须在生成证书助理文件的电脑上使用。

导出私钥

现在我们该说说为什么可以使用已过期账号的证书了

开发者账号过期后,如果证书的有效期没有过期,苹果并不会删除证书的公私钥,还会继续提供校验服务。

在证书生成后会有一个证书有效期,只要这个有效期内使用证书就是有效的。如果证书过期后,我们只需要将过期的证书 revoke 之后生成新证书,之后都是用新证书即可。

证书有效期


以上所述就是小编给大家介绍的《使用过期iOS开发者账号打包 - 简书》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

从莎草纸到互联网:社交媒体2000年

从莎草纸到互联网:社交媒体2000年

[英]汤姆·斯丹迪奇 / 林华 / 中信出版社 / 2015-12 / 58.00元

【内容简介】 社交媒体其实并不是什么新鲜的东西。从西塞罗和其他古罗马政治家用来交换信息的莎草纸信,到宗教改革、美国革命、法国大革命期间印制的宣传小册子,过去人类跟同伴交流信息的方式依然影响着现代社会。在报纸、广播和电视在散播信息上面统治了几十年后,互联网的出现使社交媒体重新变成人们与朋友分享信息的有力工具,并推动公共讨论走向一个新的模式。 汤姆•斯丹迪奇在书中提醒我们历史上的社交网络其......一起来看看 《从莎草纸到互联网:社交媒体2000年》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具