苹果开发基础知识

简介: App ID(应用ID) App ID是识别不同应用程序的唯一标示符。每个app都需要一个App ID或者app标识。 目前有两种类型的App标识:一个是精确的App ID(explicit App ID),一个是通配符App ID(wildcard App ID)。
App ID(应用ID)

App ID是识别不同应用程序的唯一标示符。每个app都需要一个App ID或者app标识。

目前有两种类型的App标识:一个是精确的App ID(explicit App ID),一个是通配符App ID(wildcard App ID)。

使用通配符的App ID可以用来构建和安装多个程序。尽管通配符App ID非常方便,但是一个精确的App ID也是需要的,

尤其是当App使用iCloud 或者使用其他iOS功能的时候,比如Game Center、Push Notifications或者IAP。

如果你不确定什么样的App ID适合你的项目,我推荐你读下苹果关于这一主题的文档:Technical Note QA1713。

Distribution Certificate(发布证书)

iOS应用都有一个安全证书用于验证开发者身份和签名。为了可以向App Store提交app,你需要创建一个iOS provisioning profile 。

首先需要创建一个distribution certificate(发布证书),过程类似于创建一个development certificate(开发证书)。

如果你已经在实体设备上测试你的App,那么你对创建development certificate就已经很熟悉了。

如果对此不熟悉,我建议你读下苹果关于signing certificates和provisioning profiles的详细指导。

Provisioning Profile(配置文件)

一旦你创建了App ID和distribution certificate,你可以创建一个iOS provisioning profile以方便在App Store中销售你的App。

不过,你不能使用和ad hoc distribution相同的provisioning profile。

你需要为App Store分销创建一个单独的provisioning profile,如果你使用通配符App ID,那么你的多个app就可以使用相同的provisioning profile。

Build Settings(生成设置)

配置App ID、distribution certificate 和provisioning profile已经完成,是时候配置Xcode中target的build settings了。

在Xcode Project Navigator的targets列表中选择一个target,打开顶部的Build Settings选项,然后更新一下Code Signing来跟之前创建的distribution provisioning profile相匹配。

最近添加的provisioning profiles有时候不会立马就在build settings的Code Signing中看到,重启一下Xcode就可以解决这个问题。

Deployment Target(部署目标)

非常有必要说下deployment target,Xcode中每个target都有一个deployment target,它可以指出app可以运行的最小版本。

不过,一旦应用在App Store中生效,再去修改deployment target,你要考虑到一定后果。

如果你在更新app的时候提高了deployment target,但是已经购买应用的用户并没有遇到新的deployment target,那么应用就不能在用户的移动设备上运行。

如果用户通过iTunes (不是设备)下载了一个更新过的app,然后替代了设备上原先的版本,最后却发现新版本不能在设备上运行,这确实是个问题。

证书主要分为两类

Development和Production,

Development证书用来开发和调试应用程序,

Production主要用来分发应用程序(根据证书种类有不同作用),下面是证书的分类信息:(括号内为证书有效期)

  • Development
    • App Development (1年):用来开发和真机调试应用程序。
    • Push Development (1年):用来调试Apple Push Notification
  • Production
    • In-House and Ad Hoc (3年):用来发布In-House和AdHoc的应用程序。

    • App Store :用来发布提交App Store的应用程序。

    • MDM CSR
    • Push Production (1年):用来在发布版本中使用Apple Push Notification。
    • Pass Type ID Certificate:用于通行证类证书
    • Website Push ID Certificate

有一些类型的证书我没有使用过,所以也不了解具体的作用。

 

证书

 1)Developer Certification(开发证书)

 2)Distribution Certification(发布证书)

 

授权文件

1)Developer Provisioning Profile(开发授权文件)

2)Distribution Provisioning Profile(发布授权文件)

 

相关文章
|
存储 iOS开发
iOS 内购 payment.applicationUsername 的坑
iOS 内购 payment.applicationUsername 的坑
565 0
|
JavaScript
uniapp+vue3路由跳转传参
uniapp+vue3路由跳转传参
618 0
算法备案提示主体名称已被填报,请修改后再进行填报怎么办?
在数字化浪潮中,算法备案是企业合规运营的关键。近期有企业在提交主体备案时遇“主体名称已被填报”的提示,原因是内部信息沟通不畅。解决方案包括找回原账号继续操作或驳回申请重新提交。为预防类似问题,企业应建立备案档案、加强团队沟通并明确责任分工,确保备案流程顺利进行。
|
Kubernetes Cloud Native 前端开发
Kubernetes入门指南:从基础到实践
Kubernetes入门指南:从基础到实践
311 0
|
缓存 前端开发 JavaScript
10 种方案提升你 React 应用的性能
本文首发于微信公众号「前端徐徐」,作者徐徐分享了提升 React 应用性能的方法。文章详细介绍了 `useMemo`、虚拟化长列表、`React.PureComponent`、缓存函数、使用 Reselect、Web Worker、懒加载、`React.memo`、`useCallback` 和 `shouldComponentUpdate` 等技术,通过实际案例和代码示例展示了如何优化 React 应用的性能。这些方法不仅减少了不必要的重新渲染和计算,还提升了应用的响应速度和用户体验。
196 0
|
弹性计算 Ubuntu Linux
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学
|
存储 编解码 Android开发
Flutter笔记:使用相机
Flutter笔记:使用相机
1166 0
|
Kubernetes Oracle 关系型数据库
实时计算 Flink版操作报错合集之用dinky在k8s上提交作业,会报错:Caused by: org.apache.flink.table.api.ValidationException:,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
486 0
|
SQL Java 关系型数据库
实时计算 Flink版产品使用合集之 TaskManager 上的所有 Managed Memory 占用率达到了 100%,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
237 0
|
计算机视觉
Halcon 学习笔记八:颜色识别
Halcon 学习笔记八:颜色识别
1230 0