Xcode - Certificate | Provisioning Profiles | Identifiers | Devices
前言
1 - 我们平时在开发过程中都是用模拟器在调试程序,但是想调用系统相机、微信分享之类的工作模拟器根本无法完成
2 - 模拟器使用的是电脑的内存,要知道手机里边的内存远小于电脑的内存,有些内存问题只有在真机测试时才会暴露
Certificate 证书
1 - Development(开发正书)就是开发过程中需要用到的证书,用于开发过程中真机测试
2 - Production (产品证书)主要用来发布应用程序,产品证书分很多种
① App Store and Ad Hoc(发布证书)用来发布到 AppStore 或者打 ADHoc 包的时候用的证书
② Apple Push Notification service SSL (Production) 是推送证书,每一个应用需要一个独立的推送证书和苹果的推送服务器建立连接
③ Pass Type ID Certificate 是做 Passbook 时需要申请的证书
④ Website Push ID Certificate(未使用过,不清楚)
⑤ VoIP Services Certificate (未使用过,不清楚)
⑥ Apple Pay Certificate (未使用过,不清楚)
Identifiers 标示符
1 - Identifiers 分为六种:App IDs、Pass Type IDs、Website Push IDs、iCloud Containers、App Groups 和 Merchant IDs,其中 App IDs 最为常用。在开发中我们主要看的是 App ID
2 - App ID 是一个用来标示我们应用程序的,好比我们的身份证一样,每一个应用程序都有一个唯一的 App ID,也就是我们工程中看到的 Bundle ID。App Id 主要有以下两种如题所示
① Explicit App ID 这种标示符用于标示一个唯一的应用程序,和 Bundle ID 一致。例如我们程序的 Bundle ID 为 com.xxyyoo.ABC,那么我们的 App ID 也就是 com.xxyyoo.ABC
② Wildcard App ID 通配符 App ID,它可以标识一组应用程序,分两种:
第一种用 * 创建的 App ID(它可以标识所有的应用程序)
第二种是 com.xxyyoo.* 创建的 App ID(标识以 com.xxyyoo 开头的所有应用程序)如何创建一个 com.xxyyoo 类型的工程 ?新建工程当需给工程起名字时,第三项 Organization Identifier 组织机构标示这里写上 com.xxyyoo 即可
③ 每创建一个 App ID 我们都可以设置该 App ID 所使用的 APP Services,也就是其所使用的额外服务,如下图所示可以进行勾选
Devices 设备
1 - 设备类型分为 Apple TV、Apple Watch、iPad、iPhone 和 iPod Touch 五类
2 - Devices 中包含了该账户中所有可用于开发和测试的设备,使用是 UDID 标识
① 个人账号
费用:99 美元/年
协作人数:仅限开发者自己
不需要填写公司的邓百氏编码( D-U-N-S Number)
支持账号下的 app 上线 App Store
需要创建 Apple ID
② 公司账号
费用:99 美元/年
允许多个开发者协作开发
需要填写公司的邓百氏编码( D-U-N-S Number)
该账号下的 app 可上线至 App Store
需要创建 Apple ID
③ 苹果企业开发者账号
费用:299 美元/年
允许多个开发者协作开发(不限制人数)
需要填写公司的邓百氏编码( D-U-N-S Number)
该账号下的 app 不能发布到 App Store 中
需要创建 Apple ID
注:由于企业账号申请特别困难,如果有闲置的企业账号可以选择出售
2 - 如何找到我们手机的 UDID:首先把我们的手机用数据线连接到电脑上,打开 Xcode 选择右上角的 Window - Devices,然后找到我们的设备,双击复制我们的 Identifier
Provisioning Profile 配置文件
1 - 配置文件
① 一种是 Development。真机测试的时选择 development 描述文件,那么需要调试的工程必须要有响应的证书、App ID 和将要运行到设备的标识
② 一种是 Distribution。发布证书的描述文件,原理和开发的描述文件类似
2 - Provisioning Profile 文件包含了上述的所有内容:证书、App ID、设备,如果没有配置文件我们如何在真机上运行一个应用程序
① 通过证书来进行签名,用来标识这个应用程序是合法的、安全的、完整的
② 指明它的 App ID,并且验证 Bundle ID 是否与其一致
③ 如果是真机调试,需要确认这台设备能否用来运行程序
Provisioning Profile 就把这些信息全部打包在一起,方便我们在调试和发布程序打包时使用,这样我们只要在不同的情况下选择不同的 profile 文件,而且这个 Provisioning Profile 文件会在打包时嵌入 .ipa 的包里
团队的 Provisioning Profile 中包含了该 Provisioning Profile 对应的 App ID,可使用的证书和设备。通过 Provisioning Profile 打包程序拥有与之相应的证书,并且是将 App ID 对应的程序运行到 Devices 中包含的设备上去
小结
1 - 证书是允许开发者使用的设备,也就是你的 Mac/iPhone 拥有真机调试和发布 APP 的权限
2 - 配置文件是允许让开发者的项目能有真机调试和发布的权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)