xcode5.0下ios App测试分发与ADHoc/AppStore发布

本文转自 http://user.qzone.qq.com/49148979/blog/1387509242 xcode5.0下ios App测试分发与ADHoc/AppStore发布
    xcode的开发终于告一段落了,现在要转回C#+FORTRAN的学习中去,鉴于最近脑袋特别不好使,觉得还是要写些东西记录一下,以便日后不至于从零开始,别的到还好说,就是发布需要记忆的点特别多,这里记录一下。
    程序开发差不多了,想发给别人测试一下,在Edit Scheme...中,记得将Archive的build configuration设成Release,

xcode5.0下ios App测试分发与ADHoc/AppStore发布_第1张图片

这样就要将BuildSetting-》Code Signing 中的 Release设置设好。 
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第2张图片



设置这个的时候,下拉框的选项可能如下图,分成developer 和 distribution两种,一般的 debug可以选developer, release选、developer 或 distribution,  其中 distribution 分为两种,一种叫adhoc(给指定的用户发布,不需要审核),一种叫appStore,就是发布到ios 官网的,需要1-2周审核才能在appStore上看到。
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第3张图片

配置文件 (Profiles)的获得:  https://developer.apple.com->member center ,选  Certificates, Identifiers & Profiles
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第4张图片

上图中左侧有四栏,
 (1)Certificates(证书),  我理解的就是允许某台MAC计算机中的Xcode可以直接访问当前AppID用户的Key,申请这个证书,需要通过MAC上的Keychain access,生成一个Request,然后上传到developer.apple.com,才能生成上述证书,然后下载下来拖到本地MAC的Keychain access里。
   (2)Identifiers, 这个就是大家常说的App ID,但其实AppID对我们来说有三个不同的含义,这里一定要弄明白。
      a 99$申请的用户ID.需要给苹果99$(企业用户好像是299$)才能有合法的xcode开发和发布权限的帐户,其实这个帐户不是给钱才有的,只要有ios设备的用户都可以申请appID,只是没有开发和发布的功能。 这个appID其实就是一个邮箱地址,如:[email protected].
      b 和程序bundle idetification 对应的程序ID. 分为明确的(Explicit)AppID和 Wildcard AppID。这两个我觉得区别一是在于需不需要Game Center, In-App Purchase(卖钱),等功能外,还有一个区别就是操作上有些不同,下面到 iTunes Connect部分再详细说。
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第5张图片
  c 最后一种 App ID是指的程序的唯一编码,是一串数字,唯一标识你的程序在AppStore上的编号,这个
编号是在iTunes Connect 中申请下来的,在你的程序里没有体现,也不随着版本升级而改变,可以用来做自动升级。 
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第6张图片
  (3)第三栏 Devices 。
  这里的设备来源可以有两种,一种是你在用xcode编程的时候,用USB线插上的调试设备在xcode的organizer的devices中会自动出现,点上传就可以传到网站上来,第二种方法是手动添加,
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第7张图片
让外地的用户把他的ios设备UDID(可以将设备插到ITunes上来看)。增加的设备可以在下面的配置文件中应用。
  (4)第四栏  Provisioning Profiles  (配置文件), 这就是咱们在 code Signing中下拉框中见到的,分为 development和 Distribution. 需要说明的一点,如果你只是想给外地的用户测试,可以不理会  distribution,把code signing 中的 Release 设置成 iphone developer就行了,这样的结果和 distribute中的 adhoc 好像是一个效果,(不同在哪里,我还不清楚)。Provisioning Profiles生成之后,一定要下载到本地,然后双击打开,早先的xcode版本好像需要拖到xcode中才管用, xcode5.0之后好像不支持拖进去了,直接双击,或右键,选择用xcode打开,有的时候发现有不起作用的时候,我也很郁闷,过段日子就又正常了。这里需要说明的是Provisioning Profiles中有 Devices这个选项,点Edit可以看到里面的内容,就知道可以分发给哪些ios设备上测试了。
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第8张图片
-------------------------------------------------------------------------------------
好了, 准备工作做好了,就可以分发了,Xcode 的 Scheme中选择 IOS Device (不选 的话,后面Archive就是灰色的)
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第9张图片

然后选择 Product,Build(个人认为可点可不点), Archive,
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第10张图片

这里有两个东西,Validate和Distribute, 先不要急着点,点了就报错,下面讲ITunes Connect的时候会讲到它们。
好了看到半个成品了,右键 Show in Finder 

 再右键 显示包内容->
Products->Applications->看到你的程序了,这个程序是以app为后缀的。
打开ITunes,选择应用程序
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第11张图片

然后把刚才的 App拖进去
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第12张图片

再把生成的东西拖到桌面上,OK, 打包文件终于生成了 
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第13张图片


把这个文件发给测试用户,让他们通过 iTunes上装上就行了。

最后讲App Store 的发布了。
前面的步骤和测试打包很像,需要生成 Distribute的 Provisioning Profiles,然后在Code Signing上选择:
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第14张图片


不要以为这样就可以发布了,少了一个很重要的事情。 ITunes Connect .
在developer.apple.com网站上选 ITunes Connect ->Manage Your Apps->add New App 

xcode5.0下ios App测试分发与ADHoc/AppStore发布_第15张图片


这里要说的是 SKU Number是一个不带空格的串,唯一标识你的程序,这个串可以取成com.xdjyzx.TEST中的TEST,
Bundle ID很重要,这里能看出Explicit ID 和  Wildcard ID的区别, Explicit App ID直接选上就行, WildcardID 还要取一个 Suffix(后缀)的名字,建议: 和 SKUNUMBer 一样,一定要区分大小写

xcode5.0下ios App测试分发与ADHoc/AppStore发布_第16张图片

具体的不说了,大家可以看其他的文章。
最后完成以后,就可以回去xcode->archive->validate->Distribute->AppStore了。

    

    

总结:
Bundle identifier一定要取好,大小写也要区分,最后经常因为这个不对提交不上。
图片  
图片
xcode5.0下ios App测试分发与ADHoc/AppStore发布_第17张图片

xcode5.0下ios App测试分发与ADHoc/AppStore发布_第18张图片

xcode5.0下ios App测试分发与ADHoc/AppStore发布_第19张图片

这几个位置 一定要对应起来。如果是Explicit App ID ,那 Suffix 部分也一个字母不能差,区分大小写。

你可能感兴趣的:(xcode5.0下ios App测试分发与ADHoc/AppStore发布)