转自:http://www.jianshu.com/p/c12fae498975

Ionic 项目开发完成之后呢,自然就是打包发布了,今天说说 iOS 的打包和发布。
iOS 的发布方式分为三种:iOS App Store、In-House、Ad-Hoc。下面我列举了一些主要的区别:

发布类型 开发者计划 是否需要苹果审核 发布方式 支持安装设备数量
iOS App Store 个人、公司、教育 需要 发布到 iOS 应用商店 无限制
In-House 企业开发者计划 不需要 发布到网站上给用户下载 无限制
Ad-Hoc 所有 不需要 拷贝给用户安装 100

由于我现在只有企业开发者计划帐号,所以就说说 In-House 的发布吧
本文仅适用于企业开发者帐号,个人开发者帐号请略过,本文不适用

为项目添加 Provisioning Profile

1、登录苹果开发者网站,找到 Certificates, Identifiers & Profiles 这个页面

2、在页面左侧列表的上边有一个下拉框,选择 “iOS,tvOS,watchOS” 选项

3、点击左侧列表中的 “App IDs” 项打开 iOS App IDs 页面,点击右边的 “+” 按钮添加一个 App ID

App ID Description 的 Name 字段填写 App 的名字,我一般都填的英文名

 

App ID Suffix 选择 “Explicit App ID” 单选按钮,Bundle ID 字段填写一个全球唯一的标识,公司项目就填 “com.公司英文缩写.项目英文缩写”

 

App Services 那里选择要启用的服务,然后点击下方的 Continue 按钮来到 Confirm your App ID 页面,确认下无误后直接点击下方 Register 按钮完成添加操作

4、点击左侧列表中 Provisioning Profiles 节点下的 Distribution 项打开 iOS Provisioning Profiles(Distribution) 页面,点击右边的 “+” 按钮添加一个 Provisioning Profile

在 Select Type 页面选择 Distribution 节点下的 “In House” 单选框,点击下方 Continute

 

在 Select App ID 页面选择之前添加的 App ID,点击下方 Continute

 

在 Select Certificates 页面选择企业开发者证书,点击下方 Continute

 

在 Generate 页面填写 Profile Name,可以跟 App ID 的 Name 一致,点击下方 Continute

 

Provisioning Profile 生成成功后点击 Download 按钮下载下来然后双击安装即可

打包 Ionic 应用

iOS 应用的打包很简单:

1、使用 XCode 打开 Ionic 项目目录下的 “./platforms/ios/ProjectName.xcodeproj” 文件

2、打开 XCode 菜单中的 Preferences 项,在 Accounts 选项卡中添加企业开发者帐号的 Apple ID

3、点击 Project Navigator 中的项目文件,在中间 General 选项卡中 Identity 节点下选择 Team 下拉框中选择你的企业帐号

4、在 XCode 左上角运行配置那里选中 “Generic iOS Device”

5、在 XCode 菜单中选择 Product -> Archive 即可

导出 Ionic 应用

1、在 XCode 菜单中选择 Window -> Organizer,在上方选项卡中选择 Archives

2、在 iOS Apps 列表中选中要发布的应用,在窗口中间选中打好的包,点击窗口右边的 Export 按钮

 

3、在 Select a method for export 窗口中选择 Save for Enterprise Deployment,点击 Next

 

4、在 Select a Deployment Team 窗口中选择你的开发团队,点击 Choose

 

5、在 Deveice Support 窗口选择 Export one app for all compatible devices,如果你发布的应用只针对某个设备,请选择 Export for specific device,并在下拉框中选择设备名称,然后点击 Next

6、在 Summary 窗口中直接点击 Next

7、在 Distrbution manifest infomation 窗口中随便填,能通过验证就行,后面再改

8、选择要导出的位置,点击 Export 导出

发布 Ionic 应用

1、将导出的 ipa 文件上传到支持 SSL 的站点并记录下 URL

2、修改导出的 plist 文件,找到 software-package 节点,把 ipa 文件的 URL 替换上去,URL 必须是以 https 开头。后面两个图片节点可以注释掉或者删掉

  <array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://test.duapp.com/files/app.ipa</string>
</dict>
<!-- <dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>https://localhost/app.png</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>https://localhost/app.jpg</string>
</dict> -->
</array>

3、把 plist 文件也上传到支持 SSL 的站点并记录下 URL

4、制作 app 下载页面,将下载链接指向 plist 文件的 URL 即可。下载链接的示例如下:

  <a href="itms-services://?action=download-manifest&url=https://test.duapp.com/files/manifest.plist">下载App</a>

5、将 app 下载页面发布到公司网站,在手机中打开站点测试能否成功下载

由于苹果要求 iOS 企业应用发布的站点必须要有 SSL 证书,由于公司的网站不具备条件,所已我将 ipa 文件和 plist 文件上传到了百度云的 BOS 上面

文/云鹏1943(简书作者)
原文链接:http://www.jianshu.com/p/c12fae498975
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

发布 Ionic iOS 企业级应用的更多相关文章

  1. IBM发布AppScan Source 8.7:减少iOS企业级应用安全风险

    IBM发布AppScan Source 8.7:减少iOS企业级应用安全风险http://automationqa.com/forum.php?mod=viewthread&tid=2570& ...

  2. iOS企业级开发初级课程-表视图(13集)

    首先了解了表视图的组成.表视图类的构成.表视图的分类以及表视图的两个重要协议(委托协议和数据源协议),对表视图有了一个整体上的认识.接下来我们掌握了如何实现简单表视图和分节表视图,以及表视图中索引.搜 ...

  3. 转《发布ionic应用到App Store的完整步骤 》

    当我们开发完一个应用,就到了发布到市场的时候,Android的打包比较简单,签名之后可以放在我们自己的服务器上,让用户扫描二维码来下载,而苹果的就比较麻烦了,如果内测可以通过蒲公英等内测分发平台,但是 ...

  4. Unity 发布到IOS,Android的各种坑

    Unity 发布到IOS的注意事项1.开发环境MAC环境:Xcode环境 7.2.1Unity环境:Unity5.32.基本说明首先,我说一下,这是我在对Unity发布到IOS的实际使用中,总结出来的 ...

  5. ionic ios项目真机运行-不用开发者账号

    ionic ios项目真机运行-不用开发者账号 1. 添加ios平台 ionic platform add ios 2.使用XCODE打开项目 3.使用APPID登录XCODE 打开XCODE账号登录 ...

  6. Unity发布至IOS的流程(踩坑记录)

    这篇文章主要用于记录本人亲身经历过的Unity发布到IOS平台所遇到的所有坑(其实也就是一些自己并不明白的强制设定),以便于后续再有类似需求时少走些弯路. 我的环境: Unity 5.2.2 个人版( ...

  7. Windows Unity ARKit发布到IOS相关设置及错误解决

    Windows 版Unity安装: 考虑到在虚拟机中运行Unity比较卡,所以采用在Windows Unity上将项目发布好然后再复制到Mac虚拟机中通过XCode进行编译的方式. Unity版本为 ...

  8. 包建强的培训课程(7):iOS企业级开发实战

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  9. ionic ios 发布设置 header-bar高度无效

    在公司app发布过程中发现一旦改过header-bar的高度之后在ios内部或者通过ionic build browser生成的网页打开都不是正常的 通过chrome的查看工具发现自己写的样式被直接覆 ...

随机推荐

  1. Ubuntu 下使用declare的问题

    Ubuntu在shell的执行上用户root和普通用户是不一样的. 使用vi /etc/passwd 我们就可以看到在用户的最后一行也就是定义shell执行位置的地方root的位置是/bin/bash ...

  2. 【LeetCode】Gray Code

    Gray Code The gray code is a binary numeral system where two successive values differ in only one bi ...

  3. 强大反调试cm的奇葩破解

    系统 : Windows xp 程序 : Crackme-xp 程序下载地址 :http://pan.baidu.com/s/1slUwmVr 要求 : 编写注册机 使用工具 : OD & I ...

  4. rand & random & arc4random

    rand(3) / random(3) / arc4random(3) / et al. Written by Mattt Thompson on August 12th, 2013 What pas ...

  5. 如何全面解决ECSHOP的jquery冲突

    主要就是Ecshop的AJAX传输类,transport.js中重写了object的对象原型,从而导致了与jq框架的冲突. 解决: 1. 删除transport.js中587行 - 636行中关于ob ...

  6. jdk环境配置

    设置成用户变量就行,无需设置成系统变量. 1.在新弹出窗口上,点系统变量区域下面的新建按钮,弹出新建窗口,变量名为JAVA_HOME,变量值填JDK安装的最终路径,我这里装的地址是D:\Program ...

  7. css性能优化

    1.前端 1.1.减少http请求次数: 1.1.1先了解下HTTP对性能的影响,HTTP是浏览器和服务器通过Interet进行相互通信的协议.HTTP是一种客服端/服务器协议,有请求和响应构成. 浏 ...

  8. PHP构造方法

    构造方法 1.(特殊)对象创建完成后第一个自动调用的方法: 2.(特殊)方法名比较特殊,方法名可以与类相同: 3.给对象中的成员赋初始值: class boyfriend{ public $name; ...

  9. 基于Maven site的穷人的本地知识管理系统

    1 Motivation On daily study or development, a simple knowledge management system is required. In the ...

  10. 各种报错各种坑 webpack让我在学习的过程中一度想要放弃

    由于拓展部分不是必须的,只是可以增强用户体验,但是有些时候页面给分页预留的位置不够,这个时候我们就可以通过设置来除去这一部分 子分区由两种创建方法,一种是不定义每个子分区子分区的名字和路径由分区决定, ...