当前位置: 代码网 > it编程>App开发>苹果IOS > IOS Xcode证书配置和ipa打包流程(附详细图文教程)

IOS Xcode证书配置和ipa打包流程(附详细图文教程)

2024年07月28日 苹果IOS 我要评论
IOS Xcode证书配置和ipa打包流程(附图文教程)

前言

在你最初接触ios app开发的时候,你是否有个焦虑,在ios app开发完成后如何打包给测试人员使用或者提交到apple store呢?

最近笔者刚好也在接触ios app的开发以及发布,由于网上搜索到的文章很多是几年前的,而且资料也不全,所以只好自己摸索,一步一步操作到最后的成功上线,因此想把这个过程记录,以便不时之需。

如果你也是刚接触这块内容,不熟悉用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 2019 款
系统版本:macos sonoma 14.4.1
xcode 版本:15.3

xcode证书配置和ipa打包流程

简单来说,分以下几步:

  1. 在xcode中打开项目,选择xcode->settings->accounts->manage certificates,生成apple distribution certificates证书。
  2. 在苹果开发者后台创建描述文件(provisioning profile)。
  3. 在xcode中,打开targets -> signing & capabilities,配置证书和描述文件。
  4. 在xcode中,执行product -> archive,打包构建。
  5. 点击distribute app,选择app store connect,继续点击distribute。
  6. 等待xcode编译打包和上传完成,生成ipa文件。
  7. 在app store connect,进行发布审核,或者使用testflight进行内测。

生成apple distribution certificates证书

首先在xcode中打开ios项目,选择菜单栏xcode->settings…:

在这里插入图片描述

选择accounts选项卡:
在这里插入图片描述

在右下角点击manage certificates…,会打开:

在这里插入图片描述
如果你没有显示对应的apple distribution certificates文件,请在左下角点击+新增,选择apple distribubtion。
几秒中会自动生成证书文件如上图红方框。这一步之后 xcode 会自动同步该证书到 app 管理后台上,查看地址:https://developer.apple.com/account/resources/certificates/list

你也可以通过检查系统钥匙串是否已正确生成:

在这里插入图片描述

到这里,你已成功生成发布证书。

如果你有其他的证书用途,你也可以点击这个证书导出为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(双击打开如图aiyunhua目录),选择signing & capabilities选项卡,点击provisioning profiles,import导入你刚下载到本地的profile文件:

在这里插入图片描述

导入后,切换到build settings选项卡查看signing是否已配置成功(下面没有错误提示就是成功):

  • 成功:
    在这里插入图片描述
  • 失败:
    在这里插入图片描述
    失败原因:provisioning profile “provision_profile_app_store” has app id “com.linshang.app”, which does not match the bundle id “com.linshang”.意思是app id没匹配。
    解决办法:将上面的bundle identifier的值由提示中的com.linshang改为com.linshang.app。

至此,你也完成证书和描述文件的配置。

执行archive打包

在开始打包之前,首先编辑scheme:

在这里插入图片描述

选择run选项卡,info -> build configuration,如果你想生产打包提交到apple store,下拉选择release,选完之后点close:

在这里插入图片描述
在xcode中打开菜单栏product->archive:

选择distribute app

在这里插入图片描述

点击右上角distribubte app,根据需要进行选择,这里选择app store connect,点击distribute:
在这里插入图片描述
等待十几秒…
在这里插入图片描述
发现报错了…仔细阅读下面红色框框中的信息,你会发现,问题出在一个叫做cfbundleiconname的字段,就是说,需要在info.plist文件中,添加一个该字段,添加完成后,默认显示的名字是icon name,该字段是一个string的字段,value值为空。如下图所示:

在这里插入图片描述

下面来解决问题:

双击项目aiyunhua,点击 info,在custom ios target properties中,点击 + 号,添加icon name属性key,属性值value为:appicon。
在这里插入图片描述
在这里插入图片描述
下面说这个appicon的问题,注意,是i的大写,不是l的小写。这个表示的是应用的图标。从苹果发回来的邮件可以看得出来,大概是从ios11以后,应用的图标就要配置在这个appicon里面,而这个是什么呢?做ios开发的可能更加了解一些,就是assets.xcassets下面的那个appicon,如图所示:

在这里插入图片描述

双击虚线区域进行上传图片,注意图片需要是1024*1024px。

在这里插入图片描述
继续 distribute,等待xcode编译打包和上传完成,生成ipa文件,出现如下图的uploaded,就是成功了:

在这里插入图片描述
恭喜你到这一步,app已经成功打包成ipa并且成功上传到app store connect,可点击查看。

在app store connect,进行发布审核

在这里插入图片描述

用testflight提交测试

阅读到这里,你将学会如何用testflight测试你开发完成的app,切换到testflight选项卡,填写测试信息:

  1. 新建测试群组;
    在这里插入图片描述

  2. 添加测试成员;
    在这里插入图片描述

  3. 添加之后,系统会自动发邮件通知测试人员进行验证测试,打开邮箱上的通知链接;

  4. 兑换码 复制粘贴到testflight app上进行兑换即可进行测试。

最后

希望这篇文章能够帮助到大家。你在ios打包过程中还有遇到其他问题吗,欢迎大家在评论区讨论学习。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com