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 ...
随机推荐
- 原创:PHP编译安装配置参数说明
--prefix=/application/php-5.5.32 \ #指定PHP的安装路径 --with-mysql=/application/mysql/ \ ...
- uva1610 Party Games
细节值得注意 注意vector<string>是可以直接sort的! #include <iostream> #include <string> #include ...
- 《少年先疯队》第九次团队作业:Beta冲刺第三天
3.1 今日完成任务情况 姚玉婷:酒店系统中剩余功能的完善 马丽莎:酒店系统中管理员功能的测试 张 琼:酒店系统中会员功能的测试 孙苗坤:酒店系统中其余管理功能的测试文档的编写 3.2 成员贡献时 ...
- CPP-STL:随机数发生器random_shuffle
//--------------------------------------------------------------------------- #include <string.h& ...
- STL || HDU 1263 水果
map可以映射map…… 然后在map里面会自己排序 惊了 注意输出格式 回车的输出 #include <iostream> #include <cstdio> #includ ...
- 如何卸载eclipse中的pydev
在Eclipse中依次点击菜单"Help"->"About Eclipse". 点击"Installation Details"按钮, ...
- swift中的as?和as!
as操作符用来把某个实例转型为另外的类型,由于实例转型可能失败,因此Swift为as操作符提供了两种形式:选项形式as?和强制形式as 选项形式(as?)的操作执行转换并返回期望类型的一个选项值,如果 ...
- selenium 浏览器基础操作(Python)
想要开始测试,首先要清楚测试什么浏览器.如何为浏览器安装驱动,前面已经聊过. 其次要清楚如何打开浏览器,这一点,在前面的代码中,也体现过,但是并未深究.下面就来聊一聊对浏览器操作的那些事儿. from ...
- 条款18:让接口容易被正确使用,不易被误用(Make interface easy to use correctly and hard to use incorrectly)
NOTE : 1.好的接口容易被正确使用,不容易被误用.应该让所有接口努力达成这些性质. 2.“促进正确使用”的办法包括接口的一致性,以及内置类型的行为兼容. 3.“阻止误用”的办法包括建立新类型/限 ...
- 数据结构( Pyhon 语言描述 ) — — 第2章:集合概览
集合类型 定义 个或多个其他对象的对象.集合拥有访问对象.插入对象.删除对象.确定集合大小以及遍历或访问集合的对象的操作 分类 根据组织方式进行 线性集合 线性集合按照位置排列其项,除了第一项,每一项 ...