一 真机调试
- 什么是真机调试?
- 简单理解就是将App项目运行到真机上进行测试
- 怎样做真机调试
- Xcode7.0之前,并不是任何人,任何电脑,任何APP,任何真机设备都可以进行真机调试的
- Xcode7.0之后, 做真机调试, 非常简单, 只需要拥有Apple ID即可, 不需要以上限制
Xcode7.0之前
- 限制人
- (1)必须拥有Apple ID(https://appleid.apple.com)
- (2)加入开发者计划,升级为开发者账号(https://developer.apple.com)
- 限制电脑
- 配置与电脑关联的cer证书
- 需要使用需要真机调试的电脑,生成CSR文件
- CSR文件: 证书签名请求文件
- 限制App
- 配置需要真机测试App的BundleID
- 区分不同APP,就是通过App的唯一标识: BundleID
- 配置需要真机测试App的BundleID
限制真机设备
- 配置需要真机测试的真机UDID
- 苹果每台真机设备都拥有一个唯一标识:UDID
- 配置需要真机测试的真机UDID
真机调试注意事项
- 1>以上步骤完成后,你会有两个文件:cer文件,MobileProvision文件,只需要双击安装即可.
cer证书被添加到钥匙串中, 描述文件被安装到Xcode中(资源库-> MobileDevice-> Provisioning Profiles) - 2>必须保证cer证书和描述文件一致(Xcode->targets->build setting-code signing)
- 3>创建一个APP,并确认BundleID与配置一致
- 4>真机运行时, 如果发现真机设备无法选中, 查看项目最低部署版本是否过高, 大于真机设备的系统版本
- 1>以上步骤完成后,你会有两个文件:cer文件,MobileProvision文件,只需要双击安装即可.
Xcode7.0之后真机调试过程请参考这里
- 真机调试补充:
- 1>真机调试证书只能生成两个!!(也就意味着,只能绑定两台电脑进行真机调试)
注意:如果别人已经配置了两个,而且正在使用,不能把别人的证书删除;
- 解决方案:此时只能使用从已经配置证书的电脑中,导出P12文件,进行共享
- 作用: 让其他电脑设备不需要生成cer证书,也可以进行真机调试
- 2>测试的真机设备UDID最多只能添加100次, 而不是100台
- 也就是说, 如果你加够了100次之后, 即使删除之前的设备名额, 也无法继续添加
- 苹果会在下一年, 给你一次删除设备的机会, 你可以删除一些设备, 来恢复一些名额, 但是一旦添加了设备后, 苹果则视为你自动放弃添加设备!!
- 3>真机调试最终需要的文件
- 你会有两个文件:cer文件(或者p12文件),和MobileProvision文件,只需要安装即可
- 4>Xcode7真机调试
- 只需要AppID,在Xcode7->preference->Account 中添加即可
- 然后直接真机调试时,会弹出一个框,提示缺少描述文件. 直接点击”Fix issue”选项,Xcode会自动请求苹果服务器生成对应的描述文件
二 打包测试
- 1.登录apple的开发者主页:developer.apple.com
2.选择Ad Hoc生成一个ios_distribution.cer: 让电脑具备打包程序的能力
3.新建一个App ID : 确定哪个APP可以被打包测试
4.利用用户设备的UDID注册设备(确定哪些设备可以被打包测试)
5.选择Ad Hoc利用ios_distribution.cer + 设备UDID + App ID –> 描述文件
- 描述文件的作用:
- 1> 能知道在哪台电脑上, 为哪台设备打包哪个程序
- 2> 哪台设备需要测试哪个程序
- 描述文件的作用:
6.最终产生了3个文件
- 1> CertificateSigningRequest.certSigningRequest
- 包含了电脑的信息
- 发送给苹果服务器, 苹果服务器根据文件信息来生成一个电脑证书
- 生成的证书就可以让对应的电脑具备某个特殊的能力
- 2> ios_distribution.cer
- 打包证书
- 安装这个证书后, 电脑就具备打包程序的能力
- 3> nj_iphone6_news.mobileprovision
- 里面包含了3个信息:ios_distribution.cer + 设备UDID + App ID
- 1> CertificateSigningRequest.certSigningRequest
7.安装证书和描述文件
- 1> ios_distribution.cer
- 2> nj_iphone6_news.mobileprovision
8.项目Scheme右边的设备选择iOS Device
9.点击Xcode的菜单
- Product –> Archive –> Distribute –> ….Ad Hoc… –> 选择对应的描述文件
10.生成一个ipa文件,发给测试人员和客户
- ipa本质是zip
- android的安装包是APK格式,本质也是zip
三 程序发布
1.确定哪台电脑可以进行App发布
2.确定哪个App可以进行发布
3.根据证书+APP ID 生成描述文件
4.发布App-进入会员中心, 然后进入iTunes Connect模块
4.1 发布App-进入我的APP栏目
4.2 发布App-开始新建iOS App
4.3 发布App-填写部分App 信息
注意点:
1>在开发中心新建App, 并填写App相关的信息
- 比如我们下载别人的app,就会发现里面有预览图片, app版本,以及功能简介等信息, 那这些信息都是我们在这一步填写的
- 2>写好一个应用程序
- 注意:必须要有程序图标,启动图片等,否则上传会失败
- 3>运行设备选择真机后 选择Product->Archive
- 4>选择 submit 打包项目,上传构建版本
- 5>提交审核(审核周期2到20天不等)
- 注意:如果审核不通过,需要重新提交审核,又需要一个审核周期
- 所以,一定要仔细阅读苹果审核标准,(搜索关键字”苹果审核”)
http://www.cocoachina.com/appstore/20140901/9500.html
加急审核
- 加急审核地址 : https://developer.apple.com/contact/app-store/?topic=expedite
- 注意事项:
- 1.加急审核,审核更加严格,亲身体验
- 2.首次发布,一般加急审核不给审批
- 3.加急审核申请一定要理由足够强大(一般是上线后发现重大Bug)
- 4.只要你申请加急审核通过了. 那么只要你的app没有上架,就会一直处于加急审核状态, 一直到你上架为止, 此次加急才算结束(曾经有连续被拒7次经验,历时才10天)
- 5.加急审核有次数限制(一年好像有3次, 我只用过一次,没测试过)
四 内购
什么是内购?
- 内购就是指,在APP内购买某些产品
- 如果你在App中销售的商品,跟App有关(例如植物大战僵尸中的道具,需要开启关卡,拥有某种技能等等).那么,苹果规定必须通过内购方式购买:
- 内购分成: 3:7分
为什么做内购?
- 1.开发者创收的一种模式:free+内购
- 2.某些场景下不得不用
内购的产品类型
- 非消耗品(Nonconsumable)
- 买了就一直有,不会消耗,例如开启关卡,指的是在游戏中一次性购买并拥有永久访问权的物品或服务。非消耗品物品可以被用户再次下载,并且能够在用户的所有设备上使用
- 消耗品(Consumable)
- 买了就用,用了就没
- 专为支持可消耗的物品或服务设计的,消耗品购买不可被再次下载,根据其特点,消耗品不能在用户的设备之间跨设备使用,除非自定义服务在用户的账号之间共享这些信息
- 非消耗品(Nonconsumable)
以下三种类别在iBooks中使用,目前iBooks不支持大陆市场
- 免费订阅(Free subscriptions)
- 自动续费订阅(Auto-renewing subscriptions)
- 非自动续费订阅(Nonrenewing subscriptions)
内购流程
1>在App管理中心,创建一个App,并填写App信息
注意: 此处创建的App时,填写套装ID,时,必须选择可以内购的套装ID
2>创建内购商品,并添加到App,指定此App,可以销售哪些商品
注意: 创建内购商品的前提,是你已经填写了税务/银行信息,否则的话无法创建
- 3>添加用于测试内购的测试账号
- 4>创建App项目,开始开发
- 4>代码实现内购流程
五 广告
广告作用?
- 属于创收的一种方式, 你在App内展示广告,苹果会付费给你,分成从原来的4:6 到 3:7
如何展示广告?
- 导入框架: iAd.framework
- 添加控件: ADBannerView
- 实现代理 ADBannerViewDelegate,优化用户体验