hybird app 用 xcode ios打包 ipa 测试包并且安装真机测试
1、创建 ios 项目
1、用 cordova 创建一个 ios 项目
- npm install -g cordova
- cordova create hello com.mydomain.hello HelloWorld
hello : 文件名称
com.mydomain.hello : bundle identifier/bundle id
HelloWorld :名字
- cd hello
- cordova platform add ios
2、打开生成的xcodeproj工程,工程文件位置:hello/platform/ios/
2、在 apple 的开发者网站上面获取证书并且配置appid和描述文件
1、证书
作用:为了确定安装在 app 上的 app 都是经过 apple 官网认证的,于是需要对应用签名。
创建及其验证原理:
1、在 mac 上面生成一对公私钥CSR。公钥M、私钥M
2、在 apple 中也有一对公私钥。私钥A在 apple 服务器端 、公钥A在 apple 的用户端
3、用公私钥CSR的公钥M,去 apple 服务器端请求一个证书CA( 私钥A 对 公钥M签名HASH 和 公钥M)
4、开发完成之后,用公私钥CSR的私钥M对 app 进行签名,同时把证书 CA 一起打包到 app 中
5、安装到 apple 的时候,首先用 apple 中的 公钥A 对证书CA的HASH 进行验签。证明 公钥M 有效,
6、公钥M 有效,在用 公钥M 对 app的签名验签
2、appid 、描述文件
我们不仅可以获取证书,也可以在 apple 服务器上面配置描述文件,且下载下来。
1、在 apple 服务器上面配置描述文件
a、配置 appId ( name、bundle id、service )
b、配置证书
c、配置可用设备
2、在 apple 服务器 私钥A 对公钥M签名对时候,添加这些数据。
3、在安装到 apple 的时候,我们可以做一些验证。
因为信息太多了,所以 apple 会将这些信息( appid、证书、设置ID) 等所有信息,都生成一个 provisioning profile 供我们下载,配置。
3、结构梳理(所有证书/密钥生成后)
Mac本地:私钥M、证书。(私钥M对APP签名、证书用于打包到APP)
apple服务端:私钥A、证书。(私钥A没用了、证书用于Mac下载)
apple用户端:公钥A。(用于验签,得到证书数据<公钥M、appid、设备..>)
4、具体步骤
总上面的两种获取所诉,我们总结步骤如下:
1、Mac 上面生成公私钥
打开钥匙串
请求证书,这里就是生成公私钥的位置,我们请求生成公私钥
添加这两项,点击下一步
这里生成了公私钥,并且保存在了我们的钥匙串中,并且生成一个 CSR 文件在桌面
以供我们可以到 apple 服务器上面去获取证书。
这里会现实公私钥,对应创建的名称
2、获取证书
登陆到 apple 开发者官网上面https://developer.apple.com
这里需要认证后到开发者账号在能一下操作。
添加一个证书
这里我们选择测试,如果需要 push 服务,就选择测试第二个,不需要就是第一个。
点击下一个
这里选择刚刚生成的 Mac 生成在桌面的文件 CSR 公私钥文件(证书请求文件)。
点击下一步
下载证书。
3、安装证书(关联证书和公私钥)
安装证书到我们 mac 上面,确保 app 在打包到时候,打包到对应到应用中。
右键登陆,点击添加钥匙串
将证书选中添加即可。
添加成功后的样子。
4、添加 appID
创建一个应用(添加一个 appid 以供创建描述文件,配置描述文件)
填写完成之后就创建了一个 app
5、创建设备
只有添加了的设备在能安装 app
填写两项,添加即可
6、对数据(appid/设备/证书等)签名
用 apple 服务器端的 私钥A 对数据签名生成 provisioning profile 文件
三种:测试机上面、app store、还用就是只能在设备列表中用户安装
选择 appid
选择证书
选择用户名单
文件名称
最后下载,得到描述文件( .mobileprovision )
7、导出私钥M供其他人打包。
多人多设备开发到时候,需要同一个 私钥M、证书
证书:可以在服务器上面下载
私钥M:需手动导出,并且在自己Mac添加到钥匙串中
选择 .p12 ,导出私钥文件
然后将文件发给其他人员。
添加到钥匙串中。
既可以操作该项目。
3、xcode 打包测试 ipa 包文件
导入 provisioning profile 文件
测试到导入测试到 profile文件
release 导入app store 的 profile 文件
设置为 release
设置为打包项目
打包项目
选择设备类型
设置证书和 profile 文件
完成之后 export 导出就得到对应的文件
4、ipa安装及其真机测试
基于 itools 安装 ipa 文件。
1、下载 itools ,自行下载
2、链接设备 iphone ,数据线链接PC端
3、安装 ipa 文件
4、等待安装完成即可
hybird app 用 xcode ios打包 ipa 测试包并且安装真机测试的更多相关文章
- iOS 打包静态库.a文件(真机版 + 虚拟机)
我们以打包IOS开发中封装的高地地图基础功能包 GDMap为例. 1>我们需要准备好需要打包的GDMap 2>接下来我们开始新建一个工程文件取名GDMap 3>删掉无 ...
- iOS - AppRealTest App 真机测试
前言 1.准备 开发者账号 自从 Xcode7 出来之后,一般的真机测试不需要开发者账号,也就不需要看这篇教程,只有 app 具有 "推送" 等功能的时候,要真机测试就必须要开发者 ...
- 【转】让Xcode支持iOS12.0 设备真机测试(不断更新真机支持包)Xcode 真机测试 iOS
最新支持12.0 (16A366)! 所有真机包都是同一大版本号向下兼容.例如12.0 Beta6的真机包,是可以兼容12.0 Beta2及Beta1的. 12.0 (16A366)正式版可用!所有低 ...
- iOS—最全的真机测试教程
准备 开发者账号 自从Xcode7 出来之后,一般的真机测试不需要开发者账号,也就不需要看这篇教程,只有app具有“推送”等功能的时候,要真机测试就必须要开发者账号和设置证书.苹果只是让你体验一下它的 ...
- iOS- 最全的真机测试教程
想要上架的同学请看:<iOS-最全的App上架教程> 因为最近更新了Xcode 8 ,证书的创建都大同小异,只是在Xcode 8中的设置有一些变化,我就在下面补充,如有什么疑问,请联系 ...
- 关于Android的真机测试
步骤: 1.开启手机USB调试 2.数据线连接手机和电脑 3.eclipse需要重启 4.在eclipse的run里面的runconfig...里面设置为启动时总是提醒开发者选择 具体事例: 我的手机 ...
- ipa包如何打包?ios打包ipa的四种方法分享
今天带来的内容是ios打包ipa的四种方法.总结一下,目前.app包转为.ipa包的方法有以下几种,下面一起来看看吧! 1.Apple推荐的方式,即实用xcode的archive功能 Xco ...
- iOS—Xcode 7真机测试
Xcode 7真机测试详解 1.准备 注意:一定要让你的真机设备的系统版本和app的系统版本想对应,如果不对应就会出现一个很常见的问题:could not find developer disk im ...
- Xcode 9,真机测试,App installation failed
真机测试:能够build成功,但是 报错App installation failed A valid provisioning profile for this executable was not ...
随机推荐
- Android(java)学习笔记178:多媒体之计算机图形表示方式
1. 多媒体 很多媒体:文字(TextView,简单不讲),图片,声音,视频等等. 2. 图片 计算机如何表示图片的? (1)bmp 高质量保存 256色位图:图片中的每个像素点可以有256 ...
- app支付宝授权登录获取用户信息
由后台进行地址的拼接(前台进行授权) // 生成授权的参数 String sign = ""; Long userId1 = SecurityUser.getUserId(); S ...
- DLL动态链接库的创建
dll的创建主要有两种方法:一是使用 __declspec(dllexport) 创建dll,二是使用模块定义(.def)文件创建dll. 使用 __declspec(dllexport) 创建dll ...
- 微信小程序---目录结构
(1)目录结构 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page.一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: (2)允许上传的文件 .
- js实现复制input的value到剪切板
<button class="button-code button-copy">复制链接</button><script> $(".b ...
- RestTemplate Hashmap变为LinkedHashMap源码解读
使用restTemplate远程调用服务,正常应该接收List<HashMap>数据,但实际却是List<LikedHashMap>经过不断地debug,终于找到了数据被转换成 ...
- 第4节 hive调优:2、数据倾斜
数据的倾斜: 主要就是合理的控制我们的map个数以及reduce个数 第一个问题:maptask的个数怎么定的???与我们文件的block块相关,默认一个block块就是对应一个maptask 第二个 ...
- java list去重操作实现方式
Java中的List是可以包含重复元素的(hash code 和equals),接下来将介绍两种方式实现java list去重操作,感兴趣的朋友可以参考下 Java中的List是可以包含重复元素的 ...
- OpenJudge-百练-2755-动规
动态规划的话,我们中心思想就是,设一个num数组,num[ i ][ j ] 代表从i的大小中,取出 j 种物品的方法数. 当不取j种物品的时候,我们就让num[ i ][ j ] =num[ i ] ...
- tornado框架基础03-请求与响应
01 请求与响应 请求 浏览器在发送请求的时候,会发送具体的请求信息,由请求行,请求消息头,请求正文 请求消息头 向服务器传递附加信息 Accept: 浏览器可以接受的MIME类型. Accept-C ...