HTML5plus 移 动 App 开 发 入 门 更 新 时 间 :2014 年 4 月 17 日 HTML5 Plus 应 用 概 述 HTML5 Plus 规 范 通 过 HTML5 开 发 移 动 App 时, 会 发 现 HTML5 很 多 能 力 不 具 备 为 弥 补 HTML5 能 力 的 不 足, 在 W3C 中 国 的 指 导 下 成 立 了 www.html5plus.org 组 织, 推 出 HTML5+ 规 范 HTML5+ 扩 展 了 JavaScript 对 象 plus, 使 得 js 可 以 调 用 各 种 浏 览 器 无 法 实 现 或 实 现 不 佳 的 系 统 能 力, 设 备 能 力 如 摄 像 头 陀 螺 仪 文 件 系 统 等, 业 务 能 力 如 上 传 下 载 二 维 码 地 图 支 付 语 音 输 入 消 息 推 送 等 HBuilder 的 手 机 原 生 能 力 调 用 分 2 个 层 面 : a) 跨 手 机 平 台 的 能 力 调 用 都 在 HTML5+ 规 范 里, 比 如 二 维 码 语 音 输 入, 使 用 plus.barcode 和 plus.speech 编 写 一 次, 可 跨 平 台 运 行 b) JS Bridge 是 另 一 项 创 新 技 术, 通 过 js 可 以 直 接 调 ios 和 android 的 原 生 API, 这 部 分 就 不 再 跨 平 台, 比 如 调 ios game center, 或 在 android 手 机 桌 面 创 建 快 捷 方 式 JSB 的 用 法 是,var obj= plus.android.import("android.content.intent");, 将 一 个 原 生 对 象 android.content.intent 映 射 为 js 对 象 obj, 然 后 在 js 里 操 作 obj 对 象 的 方 法 属 性 就 可 以 了 HTML5+ App 使 用 HTML5+ 开 发 的 移 动 App 并 非 mobile web 页 面 这 是 新 手 最 容 易 混 淆 的 地 方 mobile web 的 文 件 存 放 在 web 服 务 器 上, 而 移 动 App 的 文 件 存 放 在 手 机 本 地, 编 写 移 动 App 的 html js css 文 件 被 打 包 到 ipa 或 apk 等 原 生 安 装 包, 在 手 机 客 户 端 运 行 当 然 这 些 移 动 App 里 某 些 页 面 也 可 以 继 续 从 服 务 器 端 以 网 页 方 式 下 行 所 以 mobile web, 在 HBuilder 里 新 建 项 目 时, 属 于 web 项 目 不 要 放 置 到 移 动 App 项 目 下 mobile web 项 目 也 不 能 真 机 联 调 和 打 包 举 几 个 例 子 例 1: 一 个 mobile web 项 目, 想 打 包 成 移 动 App a) 在 HBuilder 里 新 建 一 个 web 项 目, 把 mobile web 代 码 放 进 去 b) 在 HBuilder 里 新 建 移 动 App c) 在 新 建 的 移 动 App 下 找 到 manifest.json, 将 其 中 的 入 口 页 面 配 置 为 mobile web 的 网 络 地 址 d) 然 后 点 发 行 打 包, 就 得 到 一 个 移 动 App 的 安 装 包 除 了 可 发 行 到 Appstore 和 桌 面 有 个 快 捷 方 式 外, 与 浏 览 器 的 体 验 不 会 有 其 他 区 别 e) 另 外 其 实 mobile web 的 代 码, 也 可 以 判 断 自 己 运 行 的 环 境, 如 果 UA 里 包 含 Html5Plus, 也 可 以 写 plus 对 象 来 调 用 原 生 能 力
例 子 2: 正 规 的 移 动 App( 没 有 网 页 进 度 条 ) a) 在 HBuilder 里 新 建 移 动 App 项 目 b) 在 移 动 App 里 编 写 html Js css 文 件, 本 地 js 通 过 ajax 方 式 请 求 服 务 器 数 据, 通 过 plus.net 对 象 避 开 跨 域 限 制 c) 移 动 App 里 的 js 可 以 通 过 plus 对 象 调 用 手 机 原 生 能 力 d) 编 写 好 的 移 动 App 点 打 包 变 成 安 装 包 例 子 3: 混 合 型 移 动 App 这 里 的 混 合 型 移 动 App, 所 指 并 非 是 原 生 和 HTML5 的 hybrid App, 而 是 指 一 部 分 页 面 是 本 地 的 HTML, 通 过 ajax 与 服 务 器 交 互, 另 一 部 分 页 面 是 从 服 务 器 下 行 的 mobile web 页 面 a) 分 别 新 建 一 个 web 项 目 和 一 个 移 动 App 项 目 b) 在 移 动 App 里 的 某 个 html 里 通 过 <a href= 或 者 location.href= 指 定 mobile web 的 页 面 地 址 HTML5+ 应 用 架 构 HTML5+ 规 范 API 最 新 规 范 请 参 考 http://www.html5plus.org/#specification 以 下 提 供 摘 要 表 格 信 息
手 机 端 体 验 各 个 API 的 实 现 效 果,ios 手 机 在 Appstore 搜 索 Hello H5+,Android 手 机 下 载 http://d.m3w.cn/helloh5p/helloh5.apk 设 备 和 业 务 能 力 特 性 API 功 能 Accelerometer plus.accelerometer. 提 供 设 备 加 速 度 传 感 器 管 理 能 力, 用 于 获 取 设 备 加 速 度 信 息 * Audio plus.audio.* 提 供 音 频 的 录 制 和 播 放 能 力 Cache plus.cache.* 提 供 应 用 缓 存 管 理 能 力 Camera plus.camera.* 提 供 设 备 的 摄 像 头 管 理 能 力, 用 于 拍 照 摄 像 操 作 Console plus.console.* 提 供 应 用 的 日 志 输 出, 用 于 调 试 跟 踪 Contacts plus.cotacts.* 提 供 系 统 联 系 人 操 作 能 力 Device plus.device.* 提 供 手 机 设 备 的 信 息 plus.screen.* plus.display.* plus.networkinfo.* Downloader plus.downloader.* 提 供 应 用 文 件 下 载 任 务 管 理 能 力, 支 持 跨 域 网 络 访 问 Events - 提 供 应 用 的 事 件 管 理 能 力, 如 应 用 前 后 台 切 换, 网 络 变 化 等 File plus.io.* 提 供 文 件 系 统 访 问 能 力 Gallery plus.gallery.* 提 供 访 问 系 统 相 册 能 力 Geolocation plus.geolocation.* 提 供 系 统 的 GPS 信 息 管 理 能 力 Invocation plus.ios.* 提 供 直 接 调 用 系 统 Native API 能 力 plus.android.* Messaging plus.messagin.* 提 供 设 备 的 通 讯 能 力 Orientation plus.orientation.* 提 供 设 备 方 向 感 应 器 管 理 能 力 Proximity plus.proximity.* 提 供 设 备 距 离 感 应 器 管 理 能 力 Storage plus.storage.* 提 供 应 用 本 地 数 据 存 储 能 力 UI plus.ui.* 提 供 多 窗 口 管 理 能 力 Uploader plus.uploader.* 提 供 应 用 文 件 上 传 任 务 管 理 能 力, 支 持 跨 域 网 络 访 问 Runtime plus.runtime.* 提 供 应 用 运 行 环 境 管 理 能 力 XMLHttpRequest plus.net.* 提 供 网 络 请 求 能 力, 支 持 跨 域 网 络 访 问 Zip plus.zip.* 提 供 文 件 的 压 缩 和 解 压 能 力 第 三 方 插 件 能 力 特 性 API 功 能 Barcode plus.barcode.* 提 供 二 维 码 扫 描 能 力 Maps plus.maps.* 提 供 原 生 地 图 展 现 能 力 ( 百 度 地 图 ) Payment plus.payment.* 提 供 第 三 方 支 付 能 力 ( 支 付 宝 ) Push plus.push.* 提 供 消 息 推 送 能 力 (MKey 企 业 内 网 专 用 push 个 推 )
Share plus.share.* 提 供 第 三 方 分 享 能 力 ( 新 浪 微 博 腾 讯 微 博 微 信 ) Speech plus.speech.* 提 供 第 三 语 音 识 别 能 力 ( 讯 飞 语 音 云 ) Statistic plus.statistic.* 提 供 第 三 方 统 计 能 力 ( 友 盟 统 计 ) 开 发 环 境 HBuilder HBuilder 内 置 HTML5+ APP 开 发 环 境, 提 供 一 套 完 整 的 移 动 应 用 开 发 解 决 方 案 内 置 HTML5+ API 语 法 提 示, 提 高 开 发 效 率 ; 集 成 真 机 运 行 环 境, 方 便 开 发 后 即 时 在 真 机 上 查 看 运 行 效 果 ; 集 成 应 用 云 端 打 包 系 统, 不 用 部 署 xcode 和 Android sdk 就 可 以 打 包 应 用 使 开 发 者 只 需 要 使 用 HTML5 CSS CSS 技 术 就 可 以 快 速 开 发 跨 平 台 的 移 动 应 用 下 载 地 址 :http://www.dcloud.net.cn/ 平 台 支 持 ios 5.0 及 以 上 Android 2.3 及 以 上 WP 8.0 及 以 上 ( 开 发 中 ) 手 把 手 教 你 开 发 HelloWord 创 建 HelloWord 应 用 启 动 HBuilder 在 菜 单 栏 中 选 择 文 件 -> 新 建 -> 移 动 App, 打 开 创 建 移 动 App 对 话 框, 在 应 用 名 称 中 输 入 HelloWorld 注 意 新 建 移 动 App 需 要 联 网 分 配 一 个 appid, 在 真 机 联 调 打 包 发 行 时 都 需 要 这 个 ID, 所 以 不 联 网 无 法 创 建 移 动 App
创 建 完 成 后, 会 在 项 目 管 理 器 中 显 示 新 建 的 HelloWorld 项 目 manifest.json 在 项 目 管 理 器 中 双 击 manifest.json 文 件, 打 开 程 序 信 息 配 置 页 面 :
应 用 基 础 信 息 应 用 名 称 : 应 用 安 装 到 手 机 上 显 示 的 名 称 ; appid: 应 用 标 识, 用 于 云 平 台 打 包, 不 可 修 改 ; 版 本 号 : 应 用 发 布 的 版 本 号 ; 入 口 页 面 : 应 用 启 动 后 默 认 显 示 的 页 面, 可 以 是 网 络 地 址 ; 重 力 感 应 : 应 用 在 手 机 上 开 启 重 力 感 应 时 可 切 换 的 方 向 ; 平 台 选 择 平 台 选 择 后 则 可 设 置 对 应 云 平 台 的 应 用 图 标 和 启 动 界 面, 点 击 图 标 则 可 弹 出 文 件 选 择 对 话 框, 按 照 提 示 尺 寸 选 择 对 应 分 辨 率 启 动 图 标 和 启 动 界 面 图 片 :
编 辑 完 成 后, 按 Ctrl+S 键 保 存 调 用 HTML5+ API 在 项 目 管 理 器 中 双 击 index.html 文 件, 对 于 HTML5+ 应 用 的 页 面 有 一 个 很 重 要 的 plusready 事 件, 此 事 件 会 在 页 面 加 载 后 自 动 触 发, 表 示 所 有 HTML5+ API 可 以 使 用, 在 此 事 件 触 发 之 前 不 能 调 用 HTML5+ API, 所 以 应 该 在 此 事 件 回 调 函 数 中 调 用 页 面 初 始 化 需 要 调 用 的 HTML5+ API, 而 不 应 该 在 onload 事 件 中 调 用 : <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>hello world</title> <script type="text/javascript"> // 扩 展 API 加 载 完 毕 后 触 发 plusready" 事 件 document.addeventlistener( "plusready", function() { var self = plus.ui.getselfwindow(); //... code }, false ); </script> </head> <body>... </body> </html> 编 辑 程 序 启 动 后 默 认 显 示 的 页 面 index.html, 在 页 面 中 添 加 一 个 按 钮, 点 击 后 将 打 开 新 页 面 加 载 http://www.baidu.com/, 为 了 实 现 此 功 能, 我 们 需 要 用 到 HTML5+ 扩 展 API 中 plus.ui.createwindow() 方 法 创 建 窗 口 :
编 辑 完 成 后, 按 Ctrl+S 键 保 存 真 机 运 行 添 加 调 用 HTML5+API 代 码 后, 我 们 可 以 通 过 真 机 运 行 来 查 看 效 果, 在 本 地 编 辑 的 页 面 保 存 后 可 同 步 在 真 机 上 看 到 保 存 后 的 显 示 效 果 注 意 只 有 移 动 App 项 目 才 可 以 真 机 联 调 ios 真 机 运 行 在 HBuilder 的 项 目 管 理 器 中 选 择 创 建 的 HelloWorld 应 用 启 动 真 机 运 行 将 ios 设 备 连 接 到 电 脑, 这 时 HBuilder 会 自 动 检 测 连 接 到 电 脑 上 的 设 备, 通 过 菜 单 栏 中 的 运 行 菜 单 启 动 :
也 可 通 过 工 具 栏 启 动 : 注 : 如 果 没 有 发 现 设 备, 则 确 认 设 备 是 否 安 装 itunes 程 序, 是 否 升 级 到 最 新 版 本? 或 者 尝 试 重 新 连 接 数 据 线! 安 装 真 机 运 行 环 境 信 息 : 启 动 真 机 运 行 后,HBuilder 会 自 动 在 设 备 上 安 装 真 机 运 行 环 境, 并 在 控 制 台 中 显 示 以 下 注 : 如 果 提 示 错 误 信 息, 请 尝 试 点 击 终 止 按 钮 后 重 新 启 动 真 机 运 行!
真 机 运 行 应 用 在 ios 设 备 上 可 看 到 新 安 装 的 HBuilder 应 用 图 标, 手 动 点 击 运 行 注 意 : 真 机 联 调 App 时, 提 供 的 是 一 个 测 试 环 境, 并 不 真 实 发 生 打 包, 手 机 端 App 界 面 还 有 develop 的 水 印, 其 手 机 桌 面 显 示 名 字 为 HBuilder, 图 标 也 是 HBuilder 的 图 标, 此 时 并 不 是 开 发 者 真 实 App 的 名 字 图 标 正 式 的 App 需 要 通 过 发 行 - 打 包 来 制 作, 打 包 后 的 App 名 字 图 标 都 是 开 发 者 定 义 的, 里 面 也 没 有 develop 的 水 印 启 动 后 会 弹 出 提 示 框, 选 择 确 定, 显 示 以 下 页 面 :
Android 真 机 运 行 将 Android 设 备 连 接 到 电 脑, 这 时 HBuilder 会 自 动 检 测 连 接 到 电 脑 上 的 设 备, 通 过 菜 单 栏 中 的 运 行 菜 单 启 动 : 也 可 通 过 工 具 栏 启 动 : 注 : 如 果 没 有 发 现 设 备, 请 安 装 360 手 机 助 手 等 手 机 驱 动, 保 证 手 机 和 PC 可 以 连 接 尝 试 重 新 连 接 数 据 线 另 外 有 些 数 据 线 质 量 不 好, 会 无 法 稳 定 连 接 运 行 一 次 后, 关 闭 时 务 必 点 停 止 运 行 的 红 色 方 块 按 钮, 否 则 下 次 连 接 很 可 能 阻 塞 安 装 真 机 运 行 环 境 信 息 : 启 动 真 机 运 行 后,HBuilder 会 自 动 在 设 备 上 安 装 真 机 运 行 环 境, 并 在 控 制 台 中 显 示 以 下 注 : 如 果 提 示 错 误 信 息, 请 尝 试 终 止 后 重 新 启 动 真 机 运 行!
真 机 运 行 应 用 在 Android 设 备 会 自 动 安 装 HBuilder 应 用, 在 桌 面 上 可 看 到 新 安 装 的 HBuilder 应 用 图 标 ( 有 些 设 备 会 在 应 用 列 表 页 面 中 ): 注 意 : 真 机 联 调 App 时, 提 供 的 是 一 个 测 试 环 境, 并 不 真 实 发 生 打 包, 手 机 端 App 界 面 还 有 develop 的 水 印, 其 手 机 桌 面 显 示 名 字 为 HBuilder, 图 标 也 是 HBuilder 的 图 标, 此 时 并 不 是 开 发 者 真 实 App 的 名 字 图 标 正 式 的 App 需 要 通 过 发 行 - 打 包 来 制 作, 打 包 后 的 App 名 字 图 标 都 是 开 发 者 定 义 的, 里 面 也 没 有 develop 的 水 印 启 动 后 会 弹 出 提 示 框, 选 择 确 定, 显 示 以 下 页 面 :
部 署 发 布 完 成 应 用 页 面 的 编 辑 后, 需 要 正 式 发 布 到 个 大 市 场, 这 时 需 要 从 云 平 台 进 行 安 装 包 的 制 作 通 过 菜 单 栏 中 的 发 行 -> App 打 包, 打 开 App 云 端 打 包 对 话 框 提 交 注 意 只 有 移 动 App 项 目 才 可 以 打 包 ios 发 布 对 于 ios 平 台, 可 以 选 择 越 狱 包 或 正 式 包 (Appstore 专 用 ), 前 者 只 能 安 装 在 已 越 狱 的 设 备 上, 后 者 则 可 通 过 idp 证 书 打 包 提 交 到 Appstore 发 布 或 通 过 iep 证 书 打 包 在 企 业 内 部 发 布 配 置 打 包 信 息 越 狱 包
AppID:iOS 应 用 标 识, 推 荐 使 用 反 向 域 名 风 格 的 字 符 串, 如 com.domainname.appname 正 式 包
AppID:iOS 应 用 标 识, 推 荐 使 用 反 向 域 名 风 格 的 字 符 串, 如 com.domainname.appname, 必 须 与 profile 文 件 绑 定 的 App ID 匹 配 私 钥 证 书 :ios Certificates 文 件 (.p12); 私 钥 密 码 : 导 入 私 钥 证 书 的 密 码 ; Profile 文 件 :ios Provisioning Profile 文 件 (.mobileprovision), 必 须 与 App ID 和 私 钥 证 书 区 配 ; 查 看 打 包 状 态 通 过 菜 单 栏 中 的 发 行 -> 查 看 打 包 状 态, 打 开 查 看 App 打 包 状 态 对 话 框, 可 查 看 打 包 历 史 记 录 和 状 态 :
如 果 制 作 状 态 栏 显 示 打 包 成 功, 下 载 完 成 则 表 示 云 端 打 包 完 成, 可 点 击 打 开 下 载 目 录 查 看 下 载 的 安 装 包 Android 发 布 对 于 Android 平 台, 可 以 选 择 使 用 DCloud 生 成 的 公 用 证 书 或 自 己 生 成 的 证 书, 两 者 不 影 响 安 装 包 的 发 布, 唯 一 的 差 别 就 是 证 书 中 开 发 者 和 企 业 信 息 不 同 生 成 Android 签 名 证 书 ( 使 用 DCloud 公 用 证 书 可 忽 略 ) 确 保 电 脑 上 安 装 了 JRE, 我 们 将 使 用 JRE 自 带 的 创 建 和 管 理 数 字 证 书 的 工 具 Keytool 使 用 以 下 命 令 生 成 证 书 :
-keystore helloworld.keystore 表 示 生 成 的 证 书, 可 以 加 上 路 径 ( 默 认 在 用 户 主 目 录 下 ); -alias helloworld 表 示 证 书 的 别 名 是 helloworld; -keyalg RSA 表 示 采 用 的 RSA 算 法 ; -validity 10000 表 示 证 书 的 有 效 期 是 10000 天 配 置 打 包 信 息 使 用 DCloud 公 用 证 书
App 包 名 : Android 应 用 包 名, 推 荐 使 用 反 向 域 名 风 格 的 字 符 串, 如 com.domainname.appname 使 用 自 有 证 书
App 包 名 : Android 应 用 包 名, 推 荐 使 用 反 向 域 名 风 格 的 字 符 串, 如 com.domainname.appname 证 书 别 名 : 生 成 证 书 时 使 用 -alias 参 数 设 置 的 证 书 别 名 ; 私 钥 密 码 : 生 成 证 书 时 使 用 的 keystore 密 码 ; 证 书 文 件 : 生 成 证 书 时 使 用 -keystore 参 数 设 置 的 证 书 保 存 路 径 ; 查 看 打 包 状 态 通 过 菜 单 栏 中 的 发 行 -> 查 看 打 包 状 态, 打 开 查 看 App 打 包 状 态 对 话 框, 可 查 看 打 包 历 史 记 录 和 状 态 :
如 果 制 作 状 态 栏 显 示 打 包 成 功, 下 载 完 成 则 表 示 云 端 打 包 完 成, 可 点 击 打 开 下 载 目 录 查 看 下 载 的 安 装 包
FAQ HTML5+ 是 否 提 供 UI 框 架 HTML5+ 本 身 不 包 括 任 何 UI 框 架, 我 们 推 荐 使 用 轻 量 级 UI 框 架 Ratchet, 其 他 框 架 如 Sencha Touch jquery Mobile jqtouch PhoneJS 等 性 能 略 差, 在 一 些 低 端 Android 机 上 无 法 流 畅 运 行 HBuilder 中 内 置 了 Ratchet 模 板 新 建 移 动 App, 在 菜 单 栏 中 选 择 文 件 -> 新 建 -> 移 动 App 在 创 建 移 动 App 对 话 框 中 选 择 Ratchet 模 板 : 只 能 云 端 打 包 吗? 支 持 本 地 打 包 吗? 支 持 本 地 打 包, 目 前 已 经 有 开 发 者 在 内 测 该 功 能, 未 来 会 全 面 开 放 js 不 能 跨 域, 本 地 HTML5 如 何 与 服 务 器 交 互? 使 用 plus.net 对 象 可 以 跨 域
plus 对 象 浏 览 器 不 支 持 啊, 是 不 是 需 要 引 用 什 么 js 框 架? 不 需 要 引 入 js 框 架,plus 对 象 需 要 系 统 底 层 支 持 而 不 是 单 纯 的 一 个 js 框 架 就 能 解 决 问 题 plus 对 象 在 DCloud 的 5+runtime 里 已 经 实 现 使 用 HBuilder 打 包 时, 是 把 工 程 里 的 html js css 和 DCloud 的 5+runtime 混 编 打 包 成 ipa 或 apk 的 也 可 以 把 5+runtime 理 解 为 cef, 一 种 没 有 地 址 栏 的 实 现 了 plus 对 象 的 增 强 浏 览 器 内 核 plus 规 范 是 开 放 的 吗, 我 可 以 自 己 实 现 plus 的 runtime 或 在 我 自 己 的 浏 览 器 里 支 持 plus 对 象 吗? plus 规 范 属 于 HTML5Plus.org, 是 开 放 规 范, 任 何 公 司 或 个 人 都 可 以 基 于 HTML5+ 规 范 开 发 自 己 的 手 机 端 实 现 什 么 是 响 应 式 应 用 : 一 套 代 码 根 据 不 同 运 行 环 境 调 用 不 同 能 力 来 优 化 用 户 体 验 比 如 文 本 框, 在 普 通 浏 览 器 下 就 是 一 个 文 本 输 入 框, 在 Chrome 浏 览 器 下 运 行 时 加 个 判 断 调 Chrome 的 语 音 输 入, 而 运 行 在 App 模 式 下, 则 再 加 一 个 判 断 调 用 原 生 的 语 音 识 别 SDK, 比 如 plus.speech 这 样 一 个 应 用 可 以 根 据 设 备 的 不 同 而 最 大 化 的 优 化 用 户 体 验, 这 种 模 式 很 有 魅 力, 对 用 户 而 言 体 验 更 好, 对 开 发 者 而 言 成 本 更 低 ios 如 何 安 装 越 狱 包 ios 设 备 需 要 进 行 越 狱 操 作 ( 威 锋 网 越 狱 教 程 ) 后 才 能 安 装 越 狱 包, 通 常 可 以 使 用 第 三 方 工 具 进 行 管 理, 如 itools( 官 网 ): 使 用 itools 工 具 安 装 安 装 itools 工 具 并 启 动 ( 注 : 需 安 装 itunes 工 具 ) 将 ios 手 机 连 接 到 电 脑, 这 时 itools 工 具 会 提 示 发 现 设 备, 并 确 定 设 备 越 狱 状 态 为 已 越 狱 :
右 侧 设 备 下 选 择 应 用 程 序, 点 击 安 装 选 择 越 狱 包 ipa 文 件 : 安 装 完 成 后 即 可 在 手 机 上 打 开 运 行 ios 安 装 越 狱 包 提 示 验 证 失 败 错 误 ios 设 备 需 要 进 行 越 狱 操 作 ( 威 锋 网 越 狱 教 程 ) 后 才 能 安 装 越 狱 包, 对 于 ios7.x 系 统 越 狱 操 作 后 需 要 确 认 是 否 安 装 安 装 afc2add AppSync 工 具?
安 装 afc2add AppSync 工 具 打 开 cydia 选 择 软 件 源 -> 编 辑 -> 添 加, 输 入 APT 地 址 : 添 加 源 完 成 后, 在 搜 索 页 面 搜 索 工 具 并 安 装 HBuilder 可 以 开 发 phonegap 应 用 吗? 首 先 HBuilder 的 语 法 提 示 库 是 开 放 的, 基 于 xml 语 法 库 文 件 或 jsdoc 这 2 种 方 式, 可 以 制 作 任 意 语 法 提 示 这 部 分 的 开 源 地 址 是 :https://github.com/dcloudio/webframeworkgrammar 只 要 有 人 制 作 了 phonegap 语 法 提 示 文 件, 导 入 到 HBuilder 里 就 可 以 提 示 HBuilder 支 持 eclipse 插 件, 开 发 者 完 全 可 开 发 一 个 eclipse 插 件 装 到 HBuilder 上, 实 现 phonegap 打 包 等 功 能