前言
如果你是一名IOS或跨端开发人员,你是否有个焦虑,IOS APP开发完成后如何打包给测试人员或者提交到Apple Store呢?最近笔者也遭遇到这种情况,由于网上搜索到的很多是几年前的、资料不全等原因,所以我只好自己摸索,一步一步操作到最后的成功上线,做个记录,以便不时之需。如果你是刚接触这块内容,不熟悉用Xcode如何生成证书文件、profile描述文件配置、ipa打包提测等,带着这些困惑,本文章将用Xcode生成证书、配置描述文件和ipa打包做个总结,你将会看到具体的图文教程,通过这篇文章,我希望你能少走弯路快速上手。
ipa文件简介
ipa是IOS应用程序iPhoneApplication的缩写,简单来说,ipa文件本质上是一个zip压缩包,跟安卓apk文件性质是一样的,Xcode打包完成后的扩展名为 .ipa。
证书文件简介
苹果APP的证书文件是用于验证应用程序的身份和授权的文件。在开发和发布iOS应用程序时,需要使用苹果的证书文件来进行代码签名和身份验证,以确保应用程序的安全性和可靠性。
- 代码签名:使用证书文件对应用程序进行签名,以确保应用程序的完整性和真实性,防止应用程序被篡改或者恶意攻击。
- 授权:使用证书文件授权应用程序在特定设备上运行,以确保应用程序的合法性和授权性。
- 发布:使用证书文件发布应用程序到App Store或者企业内部分发平台,以确保应用程序的合法性和可靠性。
Provisioning Profile描述文件简介
用于授权iOS设备和应用程序的文件。在开发和发布iOS应用程序时,需要使用Provisioning Profile文件来授权应用程序在特定设备上运行,以确保应用程序的合法性和授权性。
- 授权设备:使用Provisioning Profile文件授权特定设备运行应用程序,以确保应用程序的合法性和授权性。
- 授权应用程序:使用Provisioning Profile文件授权应用程序在特定设备上运行,以确保应用程序的合法性和授权性。
- 代码签名:使用Provisioning Profile文件对应用程序进行代码签名,以确保应用程序的完整性和真实性,防止应用程序被篡改或者恶意攻击。
当前环境版本
笔者当前使用的环境如下:
- 电脑:MacBook Pro 2018 款
- 系统版本:macOS Monterey 12.6.3
- Xcode 版本:14.2
Xcode证书配置和ipa打包流程
简单来说,分以下几步:
- 在Xcode中打开项目,选择Xcode->Preferences->Accounts->Manage Certificates,生成Apple Distribution Certificates证书。
- 在苹果开发者后台创建描述文件(Provisioning Profile)。
- 在Xcode中Targets->Signing & Capabilities进行证书和描述文件配置。
- 在Xcode中执行Product -> Archive,打包构建。
- 选择需要的Export Options,例如Development或者Distribution。
- 选择需要的证书和Provisioning Profile,并选择Export。
- 等待Xcode编译打包和上传完成,生成ipa文件。
- 在App Store Connect,进行发布审核。
生成证书
在开始这一步之前,首先你需有已经在苹果官网注册通过的苹果开发者个人或组织身份的App ID,这里不做阐述,你可到苹果开发者官网了解。
首先在Xcode中打开IOS项目,选择菜单栏Xcode->Preferences:
然后选择Accounts选项卡:
然后在右下角点击Manage Certificates...,会打开:
如果你没有显示对应的Apple Distribution Certificates文件,请在左下角点击+新增,选择Apple Distribubtion。
几秒中会自动生成证书文件如上图红方框。这一步之后 Xcode 会自动同步该证书到 App 管理后台上,查看地址:developer.apple.com/account/res…
你也可以通过检查系统钥匙串是否已正确生成:
到这里,你已成功生成发布证书。
如果你有其他的证书用途,你也可以点击这个证书导出为p12格式的文件(如云打包或者用其他电脑上架App):
点击导出:
重点: 一般一个开发者帐号创建一个发布证书就够了,如果以后需要在其他电脑上上架App,只需要在钥匙串访问中创建p12文件,把p12文件安装到其他电脑上,这相当于给予了其他电脑发布App的权限。
创建描述文件(Provisioning Profiles)
登录苹果开发者官网,然后点击进入描述文件:
选择Profiles选项,点击+新增:
选择相应的用途,描述文件分为开发和发布,这里我们选择App Store为例(如果你打算上架应用或者在TestFlight测试):
选择之后点击Continue:
选者App ID之后,继续点击Continue:
这个证书就是你刚Xcode上生成证书这一步骤生成的文件,然后继续点Continue:
在Provisioning Profile Name输入框输入你想命名的profile描述文件名称(自己定义),输入之后,点击Generate。至此,你已成功创建Provisioning Profiles描述文件。
返回到Profiles列表页面,找到你刚命名的创建profile文件,点击Download,下载到本地。
证书和描述文件配置
回到IOS项目中的Targets(双击打开如图e目录),选择Signing & Capabilities选项卡,点击Provisioning Profiles,Import导入你刚下载到本地的profile文件:
导入后,切换到Build Settings选项卡查看Signing是否已配置成功:
至此,你也完成证书和描述文件的配置。
执行Archive打包
在开始打包之前,首先编辑Scheme:
选择Run选项卡,Info->Build Configuration,如果你想生产打包提交到Apple Store,下拉选择Release,选完之后点close:
在Xcode中打开菜单栏Product->Archive:
发现Archive是灰色的不可点击,原因是因为你当前选择的是用模拟器编译运行,请切换到Any ios Device (arm64):
然后点击菜单栏Product->Archive继续:
选择distribution Options
点击右上角Distribubte App,全部勾选上(根据你的需要),点Next:
选择证书和Provisioning Profile
下拉选择Distribution Certificate(生成证书这一步骤生成的证书文件)和Select Profile,选完后继续点Next:
预览确认Team、打包证书、描述文件相关、app版本相关信息,点击Upload。
等待Xcode编译打包和上传完成,生成ipa文件
等待构建过程和上传,大概几分钟,也可能更长(取决于网络):
恭喜你到这一步,app已经成功打包成ipa并且成功上传到App Store Connect,可点击查看。
在App Store Connect,进行发布审核
在这个页面填写app资料、版本信息、审核信息可提交到Apple Store审核。
用TestFlight提交测试
阅读到这里,你将学会如何用TestFlight测试你开发完成的App,切换到TestFlight选项卡,填写测试信息:
新建测试群组:
首先点击内部测试加号,新建群组:
群组名称你自己定,输完点确定。
你可以通过添加测试员完成群组人员测试工作:
添加完之后系统会自动发邮箱通知测试人员进行验证测试,打开邮箱上的通知链接:
测试人员在手机TestFlight App上输入兑换码进行测试。
总结
大于11版本的Xcode已经简化了证书申请流程,所有的证书申请都可以在 Xcode 内完成,给开发者提供了不少便利的同时,配置、打包、上传ipa操作都可以在Xcode上完成。笔者自己在这过程中踩了不少坑,但看到自己开发的APP成功上架Apple Store后我很开心,希望这篇文章能帮助到大家。你在IOS打包过程中有其他问题吗,欢迎大家讨论。