上一篇讲到我们最终生成了一个格式为 .xcarchive 的文件(可以右键并Show in Finder)查看。本篇我们就进行最后的设置,打包上传。另外,还有一个小福利,那就是打测试包分发链接测试。

一.iTunes Connect相关配置

  打开网站iTunes Connect,输入你的Apple ID和Password,登录进去。

  ps:有些人可能会得到提示:你并没有注册iTunes Connect。那就注册一下,跟着流程走就可以了。会给你的邮箱发个邮件。

1.1 Agent级别分配每个用户的权限(若只想配置App,请直接跳转1.2)

  如果你是公司团队下的Agent级别,你进去后的界面是这样子的:

  其中,我们需要关注的是“我的App”和“用户和职能”这两条。“我的App”会在下面的Admin级别中详解。我们现在先讲一下Agent级别的账号如何分配App给其他级别的公司团队下的子账号。

  点击“用户和职能”,出现的是你公司团队下所有的成员列表,信息很详细,包括Apple ID、姓名、职能和负责的App。点击左侧+号和右侧编辑按钮能进行增删成员操作。不多描述。

  我们点击想要分配的用户名称,出现这样的界面。然后在如下图的设置中设置想要分配的App。最后点击存储。

  这时候, 分配成员的App权限就分配好了。

1.2 配置App信息

  若你的账号是Admin级别,那打开后你的界面是这样子的:

  少了几个界面,同时,你的“用户和职能”界面,几乎什么都做不了。

  但没关系,我们只需要“我的App”界面就可以了。

  打开后是这个样子的:

  这里会显示你有权限的所有App。状态有:1.绿色 可供销售;2.黄色 准备提交;3.黄色 正在等待审核;4.黄色 正在审核;5.红色 审核未通过 等等。

  点击左上角的“+号”创建一个新的App。套装ID选择你创建的AppID。名称填写你的应用名称。SKU选择一个独一无二的描述项目的编号。其余的按提示填写即可。

  点击“创建”。进入后按要求填写所需的“App信息”和“价格与销售范围”。点击左侧“+ 版本与平台”,填写“商店版本号”,也就是刚才的Version。

  创建完成后,你在左侧的iOS APP列表就能找到刚才创建的版本了。又是一堆信息需要填写。按照真实情况填写,这些会影响审核的通过情况。

  1.预览图:截选五张5.5英寸(各种Plus)屏幕的iPhone的截图,应该是你的项目的主要模块的截图。其他英寸的iPhone可以设置,也可以不设置;不过最好设置一下。

  2.关键词、描述都自己想;技术支持网站可以填写你们公司的官网。这几点分别影响在AppStore中搜索关键词和你的项目的展示信息。

  3.构建版本:这个等下会处理。

  4.其他照实填写。若有登陆后显示的内容,不要忘记填写演示账户。

  右上角,“存储”。

  好了,iTunes部分填写完成。

1.3 上传AppStore

  返回之前Xcode备份成功之后的界面,再次Validate。假如你在iTunes中的版本号和你现在备份的版本号是一致的话,这次就会Success了。(如果依旧Failed,请根据报的原因自行百度)

  这时候,我们就可以点击Upload to App Store...了。

  如果一切顺利,点击NextNextNext之后,就会有一个进度条。好了电脑扔这儿等着吧。

  在漫长的等待之后,就会出现一个提示框提示你提交成功。

  我们再次回到iTunes Connect中(最后在提交成功半个小时到一个小时之后,因为提交构建版本成功后苹果官方会对提交的文件进行初步检查后才会显示在iTunes Connect)。在原本的版本信息那部分,当你的鼠标放在“构建版本”左侧时,会出现一个 +号,点击会出现你刚才提交的构建版本(若你已经提交成功但这里没有显示,请等待一段时间;若等待仍无结果,请按照下文提示重新上传)。

  点击添加,然后右上角点击“存储以待审核”。最后,“提交审核”。

  当然,还未结束;

  你会看到这样一个提示“出口合规信息”、“内容版权”和“广告标识符”。提示很可怕,永久拒绝什么的;但是它里面说的东西完全没有看懂。怎么办?

  1.出口合规信息

  如果应用中采用了AES 和base 64 SHA512 加密算法,要不要勾选这一项?

  AES 和 SHA512 都是比较常见的加密算法(准确说 SHA512 是哈希算法)点 否 应该都可以通过。

  也就是一般情况下,若你的应用没有加入特别的加密算法,选择“否”就可以了。

  2.内容版权

  主要是版权问题,你说没有,只要没有明显的第三方logo(比如“高德地图”),不会挂你的,如果有的话,就要提供第三方内容的授权了,那些分享第三方平台不算。

  3.广告标识符

    3.1 打开终端cd到要检查的文件的根目录。

    3.2 执行下列语句:grep -r advertisingIdentifier . (别少了最后那个点号)

      若包含,则会输出Binary …..的字眼 

      包含的话就要选择yes。

  点击“提交”。然后回到之前界面,你会发现你的版本内容变更为了“正在等待审核”。

  好啦,提交成功,等待苹果审核就好啦。

1.4 使用Application Loader上传ipa

  假如你上面的都通过了,本条你就不需要看了,因为本条依然是将xcarchive上传到AppStore等待审核的;但如果你之前在Upload to AppStore...过程中或者上传成功但iTunes Connect死活没有反应,你可以尝试下本条的方法。

  本条主要使用的就是Application Loader来直接上传打包的ipa文件。

  仍然是备份完成的界面,我们刚才使用了Validate和Upload to App Store两个按钮,但旁边还有一个Export按钮。我们接下来就要利用它,将xcarchive打包为ipa文件。

  点击Export,弹出下面的界面:

  四种ipa。

    1.第一种是上传AppStore的ipa,需要的描述文件是Distribution下的App Store;

    2.第二种是分包测试的ipa,需要的描述文件是Distribution下的AD Hoc,具体的下面会讲;

    3.第三种第四种暂时用不到。

  请确保你创建并配置正确了正确的配置文件;或者你创建了配置文件,并且在Provisioning Profiles哪里选择Automatic,这里就不用操心配置文件的问题了。

  我们要打包上传App Store,自然选择第一种。接下来1.选择Team;2.检查需要导出的项目,Export;3.等待打包完成;4.选择导出位置,生成ipa。

  接下来要使用 应用上传器 Application Loader 了。

  第一打开要求你同意协议,接下来输入Apple ID和Password,就到了下面这个界面:

  点击交付您的应用,选择刚才生成的ipa文件,接下来就是 下一步下一步下一步。大家都能看懂是什么意思,不多解释了。

  这速度比刚才直接Upload快多了。这一步执行完毕之后,像1.3一样去iTunes Connect处理接下来的问题就好了。

二.打包测试并链接或二维码分发

  打测试包就是打一个有限的提供UDID的iPhone测试的ipa。而之前上线的ipa,是没有手机能够装上的,因为那样的ipa的描述文件是iOS Distribution。

  苹果官方提供了一个TestFlight来提供分发测试,但不是很简单并没有研究清楚。现在推荐一个简单的网站蒲公英来进行分发测试。

  回到AppleDeveloper,我们需要设置两个方面的问题。

2.1 Devices

  拿到需要测试手机的UDID之后(UDID是每个iPhone对应的编号,获得方式自行百度),我们需要添加到我们的描述文件中。怎么添加呢?

  我们之前再说各种账号的区别的时候,说$99的账户添加100个UDID的测试机,说的就是这里了。这里的100个是指只能添加100个UDID,可以Revoke移除,但依然占据名额;只有在每一年续期的之前revoke掉不需要的UDID,一年期满续费的时候会释放revoke掉的UDID所占用的名额。谨慎使用。

  点击左上角 “+号”,添加UDID并为UDID起个名字。不详细描述。

2.2 创建AD Hoc描述文件

  依然是创建描述文件,不过从选择Distribution下的App Store变为AD Hoc。依然是选择App ID;选择证书Certificates;然后,区别来了:

  多了一个选择设备的界面。可选择的都是你这个Team下注册的UDID。如果忘记刚才UDID对应的是哪一个名字了,简单,Select ALL。Continue。输入描述文件的名字(建议XXXADHoc),完成。

2.3 配置Xcode

  与之前的配置相同,不多说,除了Code Signing之下的Provisioning Profiles改为选择这样一个描述文件XXXADHoc或者Automatic,其他都一致。直到1.4导出ipa的时候,选择Save for AD Hoc Deployment。生成ipa。

2.4 配置蒲公英网站账号

  打开蒲公英官网,注册账号,实名验证。

  点击“上传应用”,选择刚才打包生成的ipa,等待上传。

  上传成功后,按照提示进行即可生成短链或者二维码。

  将二维码或者短链分发给在描述文件中注册UDID的用户,即可分发下载成功。

  步骤很简单,主要还是前期配置文件不要弄错就好了。

iOS 打包上传AppStore相关(3)-iTunes相应配置以及使用蒲公英网站进行应用托管分发(链接/二维码)的更多相关文章

  1. iOS 打包上传AppStore相关(2)-Xcode相应配置

    上一篇描述了如何在AppleDeveloper创建Certificates.App IDs和Provisioning Profiles的过程.本篇将详细描述在Xcode部分我们需要做的配置. 1.配置 ...

  2. iOS 打包上传AppStore相关(1)-相关证书配置

    最近一个老项目需要更新迭代,一个新的项目需要上线.有一些自己出现的BUG,也有一些没搞懂到处翻资料的问题.在此想做一个总结,写一下总体步骤,尽可能的详细一些,以及自己的一些理解.有很多步骤因为我们查阅 ...

  3. Windows环境下IOS APP打包上传AppStore详细流程

    我们知道在上架苹果应用过程中,申请发布证书需要用到钥匙串,上传ipa需要用到xcode或Application loader提交构建版本,这都需要Mac苹果机. 本文介绍如何在Windows环境下申请 ...

  4. iOS工程上传AppStore时遇到的问题“ERROR ITMS-90046”解析

    在我们将代码写完整,测试没有bug之后,我们就可以将它上传到AppStore了,上传的过程只要操作正确并不会有太大的问题,但是打包的过程中会出现一些小问题,导致打的包不能上传或者上传的时候会出现错误. ...

  5. iOS -打包上传成功,在"构建版本"一直刷不出来

    今天提交版本到appstore,构建版本一直不出来,等了一天也没有出来,其实就是权限问题,iOS13 来了,所以面临的问题随之而来,苹果给邮箱发了这段话: Dear Developer,We iden ...

  6. [iOS Xcode8]上传AppStore 无法构建版本 没有➕号

    最近iOS10出来了 Xcode也跟着升级到了8 想着App做个更新 于是修改好了代码打算上传新包 ,无奈总是发现构建不了新版本 经过各种蛋疼的查找.我列一下我的经验 1.如果是收费的App,那么是要 ...

  7. iOS开发应用上传AppStore的步骤

    原文:http://blog.csdn.net/ayangcool/article/details/46647693   前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的 ...

  8. iOS打包上传问题

    iOS 打包不成功的原因: 1.打包时在下图 code signing没有选择发布证书 2.没有配置好pp文件 3.targets-> general 和 setting设置的签名方式不一样,要 ...

  9. iOS打包上传app store各种问题解决总结

    问题1 this action could not be completed. try again 问题2 there was an error sending data to the iTunes ...

随机推荐

  1. 排序算法用C++的基本算法实现十个数排序

    本文个人在青岛喝咖啡的时候突然想到的...近期就有想写几篇关于排序算法的文章,所以回家到之后就奋笔疾书的写出来发布了 冒泡排序法 道理: 它重复地访问过要排序的数列,一次比较两个元素,如果他们的顺序错 ...

  2. 无U盘安装Linux openSUSE(通过硬盘安装Linux)

    一.说明 为什么会想着用硬盘安装Linux?只是因为我陆陆续续买了两个U盘,然后它们都丢了,就没再买了.然而现在又想装个openSUSE,没有U盘,只能想办法通过硬盘安装. 记录自己走过的弯路,同时也 ...

  3. C#中转义字符

    编程中很多细节问题我们都要十分的注意,要不一个小小的字母错误就能引起程序的无法运行. C#中转义字符分2中,一种是\,一种是@. @符号在C#中有两个作用作用1.在字符串的前面加@表示取消字符串中的转 ...

  4. (细节控)swift3.0与融云IMKIT开发问题(一部分) override func onSelectedTableRow Method does not override any method from its superclass

    原官网文档方案如下,在swift3.0的情况下出现 override func onSelectedTableRow  Method does not override any method from ...

  5. Android便携式热点的开启状态检测和SSID的获取

    WIFI热点的开启状态和开启后的SSID如何获取呢? 打开WifiManager.java源码,可找到 getWifiApState() 方法,惊喜的发现直接调用这个方法就能获取到热点的状态,然而在调 ...

  6. git 本地给远程仓库创建分支 三步法

    命令如下: 1:本地创建分支dev Peg@PEG-PC /D/home/myself/Symfony (master) $ git branch dev 2:下面是把本地分支提交到远程仓库 Peg@ ...

  7. 弹框ESC键退出

    $(document).keyup(function(event){ switch(event.keyCode) { case 27: alert("ESC"); case 96: ...

  8. JS正则表达式之特殊符号

    在正则表达式中,许多标点符号具有特殊含义,比较难记,现归纳备个份: 这些符号有:^ $ . * +  - ? = ! : | \ / ( ) [ ] { } 1."[ ]"表示字符 ...

  9. 关于Container With Most Water的求解

    Container With Most Water 哎,最近心情烦躁,想在leetcode找找感觉,就看到了这题. 然而,看了题目半天,硬是没看懂,于是乎就百度了下,怕看到解题方法,就略看了下摘要,以 ...

  10. emacs 使用教程

    http://www.cnblogs.com/liuchaogege/p/4464211.html