1.登录developer.apple.com
2.点击member center后 进下图
3.点击certificates Identifiers进下图
4.点击Certificates进下图,首先创建App IDs
5.其次创建相应的证书 Development是开发环境下的证书, Production是生产环境下的证书(往appStore上传),对应的推送证书 也不多说了。
6.点击下一步后会让你选择 本地生成本地密钥和证书关联,见下图
7.本地生成密钥文件。在LaunchPad里找到钥匙串访问,创建本地密钥文件见下图
ps:用户邮件地址写 开发者账号的邮箱地址, CA地址不用写
最终生成如下图 文件
8.生成本地密钥文件后(该本地密钥适用 推送 发布 开发等环境证书的创建,建议创建完后不要删掉) ,接步骤6 完成证书创建。
9.创建配置文件,见下图
之上所有步骤完成后,证书和配置文件以及bundle id就创建好了。剩下在本地项目中做出相应设置
10.添加你的开发者账号和密码到项目中,见下图
11.设置Build Settings,见下图。debug 对应的是开发证书和开发的配置文件,release对应的是发布证书和发布配置文件,development对应的是测试环境,production对应的是生产环境。请大家根据实际情况选择对应的证书和配置文件。
12.修改bundle ID (与之前在developer上创建的bundle ID保持一致)和 bundle name(app的名字)
13.修改scheme (修改为release版本)和 运行设备(修改为 iOS Device 形态),见下图
14.打包之前,先到https://itunesconnect.apple.com 创建应用的名字 填入相应的应用信息,3.5寸 4寸 4.7寸 5.5寸照片各5张,基本应用的资料 以及手动发行和自动发行版本等等。
15.archive打包 ,根据需求(上传或测试)选择证书、配置文件和scheme,见下图,
Xcode会自动弹到Organizer界面
16.选择submit后会弹出一个选择账户的提示框,选择相应的开发者账户就好,如遇到下图问题,建议重新下载带密钥的证书,或者重新创建证书。
17.选择Export后,再选择第二个 save for ad hoc deployment ,生成本地ipa文件包 用于测试,next 倒出到本地即可。
一. 创建应用
![](https://i-blog.csdnimg.cn/blog_migrate/424fd7afebc7fb5f4a0404e7b84345ff.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/bb7c06d92ad999c1a29e5dc3aef9fa1f.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/e03d1e53869066d8f12fad7d4b90f09a.webp?x-image-process=image/format,png)
二. 填写应用程序信息
![](https://i-blog.csdnimg.cn/blog_migrate/19bc713efd9a53b3931a9ce04c273305.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/c5937a2635d3419658cfcd88459d03fb.webp?x-image-process=image/format,png)
图片,图片文件名称中不能有中文。
![](https://i-blog.csdnimg.cn/blog_migrate/d0831964dbc36bc4ae33126e5cc98af4.webp?x-image-process=image/format,png)
添加关键字,增加软件被搜中的几率,使用英文的都好分隔,不能超过255个字节。
![](https://i-blog.csdnimg.cn/blog_migrate/bbe4ef902f6a3f016212037c5ed6cadb.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/0c51b987306d43b4764660b5a26357c6.webp?x-image-process=image/format,png)
在上面提交应用的时候,需要选择应用程序评级。选择评级的时候需要慎重,如果评级太高会导致不能上架app Store。如果和应用程序事实不符,会导致应用程序被打回。
设置应用程序的等级,默认都选择最低的,成人,赌博……
![](https://i-blog.csdnimg.cn/blog_migrate/49edcbb75948b0b7ed9a03e5a33e6c1a.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/384879e9e853c40d3ebeff3df373b141.webp?x-image-process=image/format,png)
下面的App Review Information是提供给苹果的审核人员,来辅助测试使用的。
如果有测试帐号,必须提供!
如果有测试数据,需要提供给苹果,例如快递查询!
需要提供联系人的联系方式,电子邮件,电话需要添加国际区号,+86!
![](https://i-blog.csdnimg.cn/blog_migrate/ee75e4b15d4a30208b5af4929d63f25e.webp?x-image-process=image/format,png)
现在相关信息就填写完毕了。
三. 打包二进制并上传
在项目中Scheme右边的设备选择真机设备,如果没有真机设备,选择iOS Device也可以。然后点击archive打包应用程序。
![](https://i-blog.csdnimg.cn/blog_migrate/792a7d44743575db3d0d89472e07787b.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/583f614919706953b85bacd901531eb4.webp?x-image-process=image/format,png)
首先点击Validate检查二进制有没有问题,点击按钮之后就一路点下去,如果提交的二进制有问题,会直接报错。
如果没有问题,按钮下面会出现一个Distribute的按钮,使用这个按钮可以提交App Connect
![](https://i-blog.csdnimg.cn/blog_migrate/a39a79d58a61e3df175815942d191852.webp?x-image-process=image/format,png)
除了上面使用Xcode提交App Connect的方法之外,还可以通过Xcode自带的一个工具提交。
![](https://i-blog.csdnimg.cn/blog_migrate/a07abd511642dd07ae558f055e90b961.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/491254d96077075b8c73b7c8fdcbdd63.webp?x-image-process=image/format,png)
二进制提交完毕。从Xcode6开始,上传完应用程序之后,程序默认会在prerelease中,需要等待5~50分钟不等。只有Prerelease中的状态变化后,才能够在Versions中添加Build,提示,这个过程中,不要重复在Xcode中上传。
四. 提交应用
提交应用时,需要先选取应用程序价格,(在天朝一般都是免费)。
![](https://i-blog.csdnimg.cn/blog_migrate/83b3fa8026e25682db12b7991a4bedcc.webp?x-image-process=image/format,png)
点击submit之后,需要填写一些基本的应用程序审核信息。
![](https://i-blog.csdnimg.cn/blog_migrate/25b31560c9eb412a10f8900fac5a3837.webp?x-image-process=image/format,png)
填写完应用程序基本信息之后,点击submit,应用程序就处于等待审核的状态了。应用程序上架的工作我们就完成了,就等着苹果审核的信息了。
等待时间,一般都是一个星期到半个月不等,当然也有特殊情况。。。。
五. 在开发应用程序中,一些注意事项!
1> 每一个应用程序,苹果都会审核,但是是不会审核,是否有逻辑问题,内存泄漏……
2> 发布应用程序之前,一定要用真机测试!
* 因为有时候,有些界面在模拟器和真机上会略微有一些差异!
* 有的时候,在真机上,因为内存原因,更容易让程序崩溃!
* 最终是运行在客户端上的,直接用真机更加直观。
苹果的审核人员,如果在开发过程中,出现崩溃,会直接拒绝!
3> 抓数据,有离线数据,在线抓数据!没有数据会直接拒绝!
苹果的底线:
- 不崩溃,这个没得说,硬性指标
- 无盗版,如果设计到第三方登陆,也需要协商隐私策略,保证开发商不泄漏用户信息
- 用户群体,如果小众,需要描述清楚,用户在哪里
- 广告!“友盟”第三方框架,做后台统计,使用到广告标识符,如果发现有广告标识符,但是界面上没有出现广告,也会拒绝!
- 血腥、色情!
六. 应用程序在App Connect上的变化
1.填写完应用信息
* 状态名 : Prepare for Upload
* 状态颜色 : 黄色
* 含义 : 让开发者准备上传自己的应用(打包好的程序)
* 注意 : 这个状态下, 还是不允许上传打包好的程序
2.利用Product -> Archive将app打包准备完毕
3.点击"Ready to Upload Binary"
* 状态名 : Waiting For Upload
* 状态颜色 : 黄色
* 含义 : 告诉苹果已经准备好了, 随时可以上传, 苹果等待开发者上传程序
* 注意 : 这个状态下才允许上传程序
4.利用Window -> Organizer -> 选择打包好的程序 -> Distribute
-> ...App Store... -> 输入账号密码 -> 选择应用和描述文件 -> Submit
1> 上传中途可能会遇到一些问题
* 图片尺寸不符合
* 图片格式不符合(表面上是png, 实际上时jpg)
* 所上传应用的Bundle Identifier 跟 官网上所创应用的Bundle ID不一致
* 所上传应用的版本号 跟 官网上所创应用的版本号不一致
* ......
5.如果没有出现任何问题, 就耐心等待上传
6.上传完毕, 准备审核
* 状态名 : Prepare For Review
* 状态颜色 : 黄色
* 含义 : 苹果正在准备这个应用的审核工作
7.上传完毕几分钟后, 等待审核
* 状态名 : Waiting For Review
* 状态颜色 : 黄色
* 含义 : 开发者开始等待苹果"漫长"的审核工作 (一般至少2~30)
7.审核完毕
1> 审核通过
* 状态名 : Ready For Sale
* 状态颜色 : 绿色
* 含义 : 随时都可以出现在App Store(何时出现取决于当初设定的上线日期)
2> 审核失败
* 状态名 : Rejected (应用本身有问题)
* 状态颜色 : 红色
* 含义 : 被苹果拒绝了, 需要根据苹果的反馈信息, 修正自己应用的内容, 后面再次上传
* 状态名 : Metadata Rejected (网站上填写应用信息有问题)
* 状态颜色 : 红色
* 含义 : 被苹果拒绝了, 需要根据苹果的反馈信息, 修正自己应用的描述信息, 不需要再次上传