怎样将开发好的app测试和上架,此文包括Android和ios打包、测试和上架的大概过程。内容有些简陋,因为此过程踏坑无数,特此留念。

特此声明:内容不全仅供参考。

介绍两个参考网站:

1. https://www.jianshu.com/p/be0267ebd238

2. https://www.jianshu.com/p/665c1d67adde

在此先感谢两位大侠详细的描述。

首先第一步我们要知道我们的app上架需要什么文件:

1)创建项目。

2)创建后的目录结构如图,然后双击manifest.json来填写配置信息(下面有图片、启动图片等)。

3)进行发行打包

4)首先我们来看Android打包

其实Android打包还是很简单的,大家一看就懂。

5.再来看ios打包

打包要的信息如下:

①AppID

②perfile文件

③私钥密码

④私钥证书

这里我们先介绍一下证书相关的知识:

1.Certification(证书)
证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:
1)Developer Certification(开发证书)
安装在电脑上提供权限:开发人员通过设备进行真机测试。
可以生成副本供多台电脑安装;
2)Distribution Certification(发布证书)
安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。
不可生成副本,仅有配置该证书的电脑才可使用;(副本制做介绍在下面Keychain中介绍)

2.Provisioning
Profile(授权文件)
授权文件是对设备如iPod Touch、iPad、iPhone的授权,文件内记录的是设备的UDID和程序的App Id,即使被授权的设备可以安装或调试Bundle identifier与授权文件中记录
的App Id对应的程序。
开发者帐号在创建授权文件时候会选择App Id,(开发者帐号下App Id中添加,单选)和UDID(开发者帐号下Devices中添加最多100个,多选)。

授权文件分为两种,对应相应的证书使用:

1)Developer
Provisioning Profile(开发授权文件)
在装有开发证书或副本的电脑上使用,开发人员选择该授权文件通过电脑将程序安装到授权文件记录的设备中,即可进行真机测试。
注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的授权文件的App Id要一致;
连接调试的设备的UDID在选中的授权文件中有记录。

2)Distribution
Provisioning Profile(发布授权文件)
在装有发布证书的电脑上(即配置证书的电脑,只有一台)制做测试版和发布版的程序。
发布版就是发布到App Store上的程序文件,开发者帐号创建授权文件时选择store选项,选择App Id,无需选择UDID;
测试版就是在发布之前交给测试人员可同步到设备上的程序文件,开发者帐号创建授权文件时选择AdHoc,选择App Id和UDID;
只有选中的UDID对应的设备才可能安装上通过该授权文件制做的程序。

3.Keychain(开发密钥)
安 装证书成功的情况下证书下都会生成Keychain,上面提到的证书副本就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他机子 上,
让其他机子得到证书对应的权限。Developer Certification就可以制做副本Keychain分发到其他电脑上安装,使其可以进行真机测试。

注意:Distribution
Certification只有配置证书的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。
上面的证书基础知识可以看到开发者证书可以导入到新电脑上用于开发和真机测试,发布证书不可以导入新电脑用于App发布。

下面有两个问题说一下:

1.在新mac机器上开发并导入真机测试,是不是需要从别人的机器上面导处开发者证书、开发者授权文件和开发密钥导入到新mac机器上才能开发?
2.程序迭代开发完成,App上传苹果应用商店的时候是不是还需要用老机器发布才可以才能保证App更新?能不能从老机器上面把发布证书导入到新机器上,用新机器发布App?

针对问题1:通过导入开发者证书、密钥和开发授权文件(导入测试机)可以实现用新的电脑在真机上开发和测试,
其实这个方法解决的问题应该是如何在不想让别人知道自己开发者账号的前提下让多台mac机同时可以开发在真机上测试的App;
假设现在你知道开发者账号密码你完全可以通过你的开发者账号在自己机器上重新生成开发者证书、开发密钥,然后通过你信生成的开发者证书和开发授权文件进行真机开发测试。

针对问题2:不能通过导入发布证书的方式在新电脑上更新迭代App;那怎样才能在新mac机上面进行迭代的App发布那,难道必须只能在老机器上面进行迭代发布吗?
毫无疑问肯定是可以在新机器上进行迭代APP的发布的,这中间涉及到苹果App商店的升级机制:针对同一个开发账号下面同一个App只要版本号比当前版本号大都会自动提示用户有新版本。
所以你可以在你新mac电脑上面从新创建一个发布证书,通过这个发布证书进行发布。

我们先来介绍一下四个东西都在哪里可以获得

①AppID:

②perfile文件:描述文件(里面记录的是<发布证书> + <测试设备UDID> + <APPID> )

③私钥密码:发布证书导出时创建的密码。

④私钥证书:发布证书安装后导出的  .p12文件。

第二步我们来申请相关账号和证书来获得以上四个文件。

1、首先我们需要准备:

1)邓白氏编码。(公司申请必备)。

2)appleID(注意id要用申请人名字中文拼音)。

3)Mac系统。(可以虚拟系统)。

2、申请账号大概流程:

先申请appleID账号,再申请邓白氏编码,都是需要填写一些基本信息。

邓白氏编码大概要3-5天能审核完,会做背调。appid瞬间完事。

两个账号都下来之后一般等个3-5天,就可以申请开发者账号(3-5天时间邓白氏才能同步到苹果那边)。

申请开发者账号入口:https://developer.apple.com/account/#/enrollment/WK8622MW5N

填写信息的时候注意几点:

①申请的时候是个人申请(688元)还是公司申请(688元)还是企业申请。

②选择申请人的身份。

此处有坑:这里面的申请人名字要和appId拼音名字相同。

③如果核实信息无误一般3-5个工作日后会接到背调电话。核实信息。

如果一周都没有消息可以拨打苹果服务电话。官网上有。

经过以上的过程,账号基本申请个七七八八了。

第三步:创建证书。

1)首先在MAC上生产CSR文件。然后再申请发布证书(申请发布证书的时候需要上传CSR文件)。如图:

2)新建appid和buildID。

3)添加测试设备。

添加测试设备的时候可以安装爱思助手

插上苹果就能看见UDID。

4)生成描述文件。

生成描述文件的时候,有两种如图:

第四步:上架app。

1.Android上架很容易,没有那么费劲。360需要下载一个加固软件。可以直接加固然后上传营业执照和软著。应用宝差不多。

2.ios上架

需要mac系统和xcode。

我安装的是10.12,xcode8。

①在我的app中创建app,填写一些上架信息。

②通过Xcode将打包好的App上传。

上传过程可能会遇见几个小问题:

1. 一直卡在“正在通过 App Store 进行鉴定”

。解决办法:更改mac的DNS。

2.出现ERRORITMS-90096: 原因:需要单独添加针对iPhone5的载入图片:

解决办法:

1、图片的名称必须叫Default-568.png。

2、必须把图片放在工程的根目录下。

3、图片尺寸必须是320*568。

4.将iphone5的启动图片改为该图片,然后重新打包上传。

传完就等着审核了。

踏坑几十个,想着这些天的艰辛历程,心中一万只马儿奔腾而过!!!

HBuilder发行App(Android和ios)的更多相关文章

  1. Hbuilder开发app时生成ios要的mobileprovision和p12文件步骤.

    1.在MAC电脑.钥匙串串访问->证书助理->从证书颁发机构请求证书,创建一个证书为certSigningRequest文件 2.在Apple Developer中的Certificate ...

  2. Web程序员开发App系列 - 调试Android和IOS手机代码(补图)

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

  3. 现在创业做App,先做 Android 还是 iOS?

    随着互联网+的高速发展,现在创业大部分都是在布局移动端,初期往往摆在面前最大的难题是,如何分配有限的成本,在最快的速度内占领市场?这个大难题会影响创始人在团队和产品建设方方面面的决定.缩小至移动App ...

  4. [Tool] 取得APP的Store URL Scheme (Android、iOS)

    [Tool] 取得APP的Store URL Scheme (Android.iOS) 前言 在企业网站中,如果希望使用URL连结的方式,开启Store APP来下载APP(非网页下载).开发人员可以 ...

  5. 将报表移动端集成到自有移动端app方法【IOS、Android】

    应用场景 用户有自己的app,希望把报表的移动端[本文中以FineReport移动端为例]功能集成到他们的app里面去,而不需要安装两个app.Android端和IOS端的集成接口是不一样的,下面我们 ...

  6. 摘抄——读《大话移动APP测试 Android与IOS》

    用了两天读完了<大话移动APP测试 Android与IOS>,由于刚开始接触移动测试,技术型的篇章只能先放过了o(╯□╰)o,有以下内容觉得很有必要时不时的看看,来反思自己的工作,自勉!! ...

  7. 《大话移动APP测试:Android与iOS应用测试指南》

    <大话移动app测试:android与ios应用测试指南> 基本信息 作者: 陈晔 出版社:清华大学出版社 ISBN:9787302368793 上架时间:2014-7-7 出版日期:20 ...

  8. 学习笔记:APP切图那点事儿–详细介绍android和ios平台

    学习笔记:APP切图那点事儿–详细介绍android和ios平台 转载自:http://www.woofeng.cn/articles/168.html   版权归原作者所有 作者:亚茹有李 原文地址 ...

  9. vue打包app嵌入h5,区分app进入和android,ios显示不同的下载链接

    vue打包app嵌入h5,区分app进入和android,ios显示不同的下载链接 需求:自己app打开的登录页面不显示app下载链接.其他地方打开判断android手机的跳转到android下载页链 ...

随机推荐

  1. (PHP)redis List(列表)操作

    /** * * List操作 * 列表操作 * 可理解为数组操作 * 插入.删除数据按照一定规律排列的 * 元素可重复 * 适用于队列 * */ //在列表头部插入一个值one,当列表不存在时自动创建 ...

  2. windows severs 2008r2 180天激活

    无需破解:Windows Server 2008 R2 至少免费使用 900天 1.首先安装后,有一个180天的试用期. 2.在180天试用期即将结束时,使用下面的评估序列号激活Svr 2008 R2 ...

  3. JML契约式设计——第三单元学习小结

    一.前言 本单元作业都是关于JML(Java Modeling Language),JML是一种契约式设计(Design by Contract)的语言,契约式设计的主要目的是希望程序员能够在设计程序 ...

  4. À peu près là 技术支持

    À peu près là 技术支持   技术支持网址:有问题或建议请留言. 邮箱地址: metlersaiddqr@zoho.com Program design & system cons ...

  5. SP375 QTREE - Query on a tree

    题意大意 给定\(n\)个点的树,边按输入顺序编号为\(1,2,...n-1\),要求作以下操作: CHANGE \(i\) \(t_i\) 将第\(i\)条边权值改为\(t_i\),QUERY \( ...

  6. Exadata 上关于SAS盘的小秘密

    案例概述 一个X3-2 的Exadata临时客户,ORACLE原厂工程师在进行onecommand初始化的过程中,执行到第6步,calibrate检测存储节点磁盘性能时报错,后续工作无法继续.而由于一 ...

  7. 默认约束 default

    default :初始值设置,插入记录时,如果没有明确为字段赋值,则自动赋予默认值.  例子:create table tb6(   id int primary key auto_increment ...

  8. JOS lab1 part2 分析

    lab1的Exercise 2就是让我们熟悉gdb的si操作,并知道BIOS的几条指令在做什么就够了,所以我们也会尽可能的去分析每一行代码. 首先进入到6.8282/lab这个目录下,输入指令make ...

  9. BZOJ 4919: [Lydsy1706月赛]大根堆 启发式合并

    我不会告诉你这是线段树合并的好题的... 好吧我们可以搞一个multiset在dfs时求出LIS(自带二分+排序)进行启发式合并,轻松加愉悦... #include<cstdio> #in ...

  10. 005 Longest Palindromic Substring 最长回文子串

    Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ...