IOS APP 如何在真机设备上测试及发布流程(Xcode6.1环境)

网络搜索到的文章都是Xcode升级之前发布的,不适用于Xcode6,所以自己按照官方步骤走了一遍,备忘如下。此文步骤针对的开发者账户是个人账户。

(看官方流程,看的好累...  )

1. 注册开发者账号

地址:https://developer.apple.com/programs/

选择IOS开发或者MAC开发,按照导引完成购买。

其中需要注意的是:

1)选择注册个人账户还是注册企业账户。 两者区别暂时了解到的是企业账户可以添加多个开发者都项目中。

2)在购买页面,信用卡持有者信息和APPLE ID注册者信息最好是一致的,不然后面审核时还需要上传身份证件才能通过。俺就栽这坑了,又重新注册app id打了好几个客服电话才处理好。


2. 在Xcode中添加APPID账户  官方文档

打开Xcode,在顶部菜单中 Xcode > Preferences, 调出accounts窗口,点击左下+按照导引添加APPid

3. 配置Xcode 项目 官方文档

1)配置identity 和组设置

a. 设置Bundle ID:在项目的信息面板 general 中 设置项目的bundle identifier:

bundle ID的命名规则: com.MyCompany.MyProductName

同时,bundle ID 也可以在Info面板中修改

b. 设置Team:每个Xcode项目与一个单独组Team 联系起来。依然是在general面板中设置bundle ID的地方, 有Team选项,点开可以选择在本文第2步中创建的组账户

选择Team之后,Xcode会尝试建立组配置概要文件 team provisioning profile.如果建立失败了,会在Team选项下方出现一个fix issue按钮

如果是公司账户,则另行操作。

c. 设置版本号和Build字符串: 在general面板中操作

2) 设置部署信息: general > deployment info

a. deployment target 设置APP运行的最低操作系统版本

版本低的用户数多,可用特性少;高版本反之。自己衡量决定

b. 设置运行device. iphone 或 ipad 或 universal (普遍适用)

3)添加APP ICONs 和 启动界面

General > App Icons and Launch Images

如何设置APP的ICON?

创建好自己的ICON图标icon.png。注意要按照APPLE要求的尺寸设计。

xcode中 左侧 项目中的Images.xcassets双击打开。App Icon 和 launch image都在这里设置。将你设计好的图标不同的size拖动到对应的图标位置上即可。

图标大小:https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/IconMatrix.html


4)验证build设置

Build Settings

> Architectures 结构

> Base SDK  base SDK版本号应当 >= 设备的软件版本号

> Build Options 

Debug Information Format 设置调试信息格式  默认即可


CSR文件、应用程序ID(APP ID)、开发证书(certificates)&配置文件(provisioning profile)、发布证书&配置文件

这里有篇转载的文章,详细讲解了开发发布APP的证书需求(其中转p12格式什么的我没有遇到)

IOS开发环境,证书和授权文件

CSR文件生成步骤

Finder > 应用程序 > 实用工具 > 钥匙串访问,双击打开钥匙串。
在菜单栏中(话说用惯了windows,很久不能适应MAC应用程序的菜单栏都挂在桌面顶上...): 
钥匙串访问 > 证书助理 > 从证书颁发机构请求证书,出现的界面中,填写用户邮件和名称,CA邮件留空,选择存储到磁盘,选择路径确认后完成。
话说这个CSR生成,我早上试了半天,在最后一步中总是提示:在钥匙串中找不到指定的项。吃完中饭回来再试,好了...
无法理解的MAC...

接下来,登录https://developer.apple.com, 进入member center > certificates, Identifiers & Profiles

创建APP ID 应用程序ID

Identifiers > App IDs 点页内链接 或者右上+ 开始创建
注意:可以创建一个精确APPID(explicit App ID)或者通用APPID(Wildcard App ID),前者可以使用game center, App 内购买,iCloud, 推送通知等服务。
后者可以提供给多个App使用。

生成开发证书

Certificates > All  点击+号(如果当前无任何证书,点击页面中出现的链接Manul generate... 来创建),上传CSR文件后创建完成。

生成开发配置文件

Provisioning Profile > All 点击右上 +(如果当前无任何证书,点击页面中出现的链接Manual generate... 来创建),选择APPID后创建完成。用于development的配置文件还需要选择注册设备---你使用设备测试的时候,xcode中该工程的Build Settings >code signing  > provisioning profile 使用的应该是包含改设备的配置文件。
下载之,双击会自动安装到Xcode。

用于发布到appstore的证书certificate 和配置文件provisioning profile 的生成方法与开发证书&配置文件的生成方法是一样的,区别是在生成过程中选项选择为 “development " 还是 "distribution", 另外发布配置文件不需要选择注册设备(of course)


APP真机测试

生成开发证书并下载双击安装到MaC

在developer.apple.com的MemberCenter 中查看Xcode关联的设备(Devices > All ) 可以在此注册测试设备。注册好设备之后需要生成一个包含该设备的配置文件,在xcode中Build Settings >code signing  > provisioning profile  选用该配置文件,那么在编译运行的备选设备中就出现了刚注册的设备(假设你已经将设备连接到MAC了)。

在编译时,可能会出现 provisioning profile的错误,使用xcode的 fix issue (general面板中 > identity > Team下方), xcode 一般可以帮助你解决这个问题(它会自动生成合适的证书和配置文件,你在member center > certificates &Identifiers,profiles中看到这样的文件后面会注明 manages by xcode), 如果xcode不能fix, 就手动到 project > 项目 和 target > 项目的build settings > code signing 把 signing identity 和 provisioning profile都设置为一致的。 (一致的: 证书和配置文件生成自同一个APP ID,同为development 用途的)


APP 发布到iTunes store

假设我们完成了如下工作: 创建APP并编写,在模拟器和设备上测试APP。 

登录https://itunesconnect.apple.com,进入“ 我的APP”,创建你的APP项目。
假设你填好了其他的信息,就等上传构建版本了。

现在要“打包”文件并把它传送给itunes store.
"打包"的意思:在xcode6中,有两种方式将APP发送到APP store:
打开xcode,菜单 > product > archive 将项目生成存档,菜单 > window > organizer > archives可以查看历史存档。
选择存档 > validate 成功之后, 再点击 export 按照导引操作,在你指定的路径中会导出一个.ipa包。
这也许就是旧版本xcode使用者发布的文章中所说的“打包上传”。

现在有两种方法上传:

1)长按xcode > 打开开发者工具 > Application loader, now u see? 选择刚刚存储的ipa包上传。

2)在菜单 > window > organizer > archives中还有一个submit按钮, 可以点击这个按钮上传。

事实上,最好这两个方法同时使用。这是用submit按钮上传时长期停留在"Authenticating with the iTunes Store." 问题的一个解决方法。

APP 发布遇到的几个问题及解决办法:

1)APP提交时一直显示 Authenticating with the iTunes Store

用上一部分中提到的两种方法同时上传; 或换好一点的网络~

2)Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': 'AppIcon120*120'

到images.xcassets中 APPIcon中删除CarPlay 120pt的图标

3)Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, ....

检查你的build settings > Code Signing 中 code signing Entitlements的值是否为空,不为空则设置为空。

如果都为空还是出现此问题,到developer.apple.com 中member center 证书中 APP ID,检查你的APP ID中是否含有特殊项目,如  Associated Domains 或 icloud 之类的特殊服务。 我去除了这些之后即正常了。

4)itunes connect中上传APP图标时提示不支持alpha通道或透明度

用MAC自带的图片预览打开你的图标,然后菜单 文件> 导出 ,导出时格式下方的alpha不要打勾,这样导出的图片就可以正常上传了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值