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

2024-05-10 04:44

本文主要是介绍IOS Xcode证书配置和ipa打包流程(附详细图文教程),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

  • 前言
  • ipa文件简介
  • 证书文件简介
  • Provisioning Profile描述文件简介
  • 当前环境版本
  • Xcode证书配置和ipa打包流程
    • 生成Apple Distribution Certificates证书
    • 创建描述文件(Provisioning Profiles)
    • 证书和描述文件配置
    • 执行Archive打包
    • 选择distribution Options
    • 在App Store Connect,进行发布审核
    • 用TestFlight提交测试
  • 最后

前言

在你最初接触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->Preferences->Accounts->Manage Certificates,生成Apple Distribution Certificates证书。
  2. 在苹果开发者后台创建描述文件(Provisioning Profile)。
  3. 在Xcode中,打开Targets -> Signing & Capabilities,进行证书和描述文件配置。
  4. 在Xcode中,执行Product -> Archive,打包构建。
  5. 选择需要的Export Options,例如Development或者Distribution。
  6. 选择需要的证书和Provisioning Profile,并选择Export。
  7. 等待Xcode编译打包和上传完成,生成ipa文件。
  8. 在App Store Connect,进行发布审核,或者使用TestFlight进行内测。

生成Apple Distribution Certificates证书

首先在Xcode中打开IOS项目,选择菜单栏Xcode->Preferences:

在这里插入图片描述

选择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:

选择distribution Options

在这里插入图片描述

点击右上角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打包过程中还有遇到其他问题吗,欢迎大家在评论区讨论学习。

这篇关于IOS Xcode证书配置和ipa打包流程(附详细图文教程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975471

相关文章

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

springboot3打包成war包,用tomcat8启动

1、在pom中,将打包类型改为war <packaging>war</packaging> 2、pom中排除SpringBoot内置的Tomcat容器并添加Tomcat依赖,用于编译和测试,         *依赖时一定设置 scope 为 provided (相当于 tomcat 依赖只在本地运行和测试的时候有效,         打包的时候会排除这个依赖)<scope>provided