大多数浏览器和
Developer App 均支持流媒体播放。
-
App 分发 – 从 Ad Hoc 分发到企业分发
不论您是要与几位同事分享您的 app,还是要将它提供给组织内的各个员工,或者向全世界发行,总有一种分发机制能够满足您的需求。熟悉各种 app 部署模型,学习如何选择最适合您的模型,并了解基本的测试与分发工具。
资源
相关视频
WWDC21
WWDC20
WWDC19
-
下载
大家好 我是 Ashley Carroll 我是一名来自纽约的 咨询工程师 主要方向为 App 开发 工作上 我会与我们 最大的企业 政府 和教育领域的顾客合作 帮助他们为员工 构建和分发优质的 App 欢迎各位来到这个主题 App 分发 从 Ad hoc 到企业 今天在座的各位 有谁有分发 App 的经验吗 嗯 只有几个人举手 那你们来对地方了 几乎每个人都需要做这件事 无论你构建的是 分发到 App Store 的 App 还是在为公司或企业 构建自定的专有 App 你们今天都能有所收获 首先 我想先退一步 暂时不讲 App 分发 而是从最开头的地方 谈谈 App 的生命周期 在座大部分人可能都很了解 这整个流程 一切都源于 你想要解决一个问题 你想好构建的细节 创建了一个很好用的 App 然后你的用户 通常可以从 App Store 获取到它 今天我们主要讲讲这最后一步 用户如何在他们的设备上 获取你的 App
这看起来简单 对于 App Store 中 大多 App 来说 也确实如此 但是实际上 你可以通过很多种方式 分发 App
这取决于你的顾客是谁 一切的重点就在于 通过正确的途径触达用户 你的用户可能是普通大众 抑或商业和教育领域的顾客 根据目标用户的不同 你可以通过不同的方式分发 App 我们今天来看看 四种不同的分发方式 Ad hoc 分发 App Store 分发 企业内部分发和自定 App 分发 你如何决定哪种方式 最适合你呢
这取决于多个因素 还有你在开发过程中 产生的疑问 例如 App 的受众是哪些人 谁来维护源代码 构建这个 App 你是为了自己还是为了别人 是否有用户购买 App 给他们的员工或学生使用
这些问题归根结底在于受众分析 而我们可以重点分析 哪些人使用过你的 App 和哪些人购买你的 App
要知道 顾客和用户 有时并非相同的人或群体 这一点至关重要 对于掌握 App 分发的不同方式 和找准 App 的定位有很大帮助 如果你知道受众是谁 选择适合你的分发方式 就变得非常简单多了 通常情况下 个人既是顾客 也是用户 他们通过 App Store 下载 App 到他们的设备 个人进行使用
通过 Ad hoc 分发 你可以将 App 分发到 有限数量的测试设备 通过 App Store 分发 则可将 App 分发给大众
那有时 我们需要 面对商业及教育市场 这时顾客通常是组织机构 他们为团体用户 采购 App 以便他们 在公家提供的设备 或自己的设备上使用 所以 在这种情形下 你有两个选择 内部分发和自定 App 分发 这两种方式都可以 将 App 分发到机构内部 在你的 App 的整个生命周期中 全部分发方式都有可能用到 不同的阶段 可能有不同的原因 或者一种方式就足够了 不同的分发方式 与 Apple Developer Program 中 不同类型的会员资格 非常相关
我们今天来一个个介绍 这些分发方式 了解每个方式所能达到的效果 以及找准 App 定位 你需要知道的一切 我们将跟踪 一个 App 的分发历程 从初始的原型 到 App Store 再到为企业自定 用不同的方式进行分发
这个 App 就是 LunchControl LunchControl 是一个 用于多人点餐的 App 当我们讲这个案例时 我希望各位 可以将自己想象成 LunchControl 的开发人员
首先 我们看看 LunchControl 如何初具雏形
整个历程的开端是 想在办公室订购午餐 每个人都喜欢点外卖 但很多人一起点餐
这个过程 既艰巨又费时 你必须弄清楚 每个人想吃什么 然后将不同的小订单 综合到一起 所以 你必须记清 Trevor 不吃西红柿 记住老板常点的菜 新来的 Rod 他要火鸡三明治 这样的经历你是否似曾相识呢 这样点餐要花很长时间 点外卖几乎都不太值得了 这个问题似乎很适合 用 App 来解决 于是你开始尝试 并做出了原型
为了构建这个原型 你下载了 Xcode 开始研究 SDK 并且用自己的 Apple ID 登录上去 我相信大多数人都知道 第一步要怎么走 因为有些人可能已经将自己的 App 发布到 App Store 中了 不过我们还是要 快速回顾一下这个过程 确保每个人都知道 也能从头到尾 全面了解 App 分发 希望大家在此过程中 能学到新的东西 这就是产品原型 你可以从菜单中选择项目 然后创建多人订单 所有项目的记录 简洁清晰 这里甚至还有人均账单 但是如何在自己的设备上 运行这个原型呢
可以用 Apple ID 登录 Xcode 利用附带的免费账户 Personal Team 使用这个账户 你就可以 在你的设备上探索 SDK 及测试 App 你只能将一定数量的 App 部署到几个设备 部署在几天后就会过期 所以这并非有效的分发方式
如果你有 Personal Team 账户 登录进 Xcode 后 你会进入这个界面 你构建并运行你的 App Xcode 会将 App 安装到你的设备 但是如果你想启动 App 你就需要在设备上 选择信任你的开发者证书 整个过程如下 进入设置 通用 描述文件与设备管理 你就可以信任开发者证书了
下面是 Personal Team 中 一些重要的最佳实践
这类账户的主要目的是帮助用户学习
我们认为 你只需要将 App 部署到 自己的设备上 而并没有更进一步的分发需求 有些功能无法使用 例如 CloudKit Siri 或 APNS 此类会员资格不允许你 将 App 发布到 App Store 或与其他用户讨论产品测试的反馈 LunchControl 的目标 是跨越这个学习阶段 下面我们看看 分发 LunchControl 的第一种方式 Ad hoc 分发方式可分发 用于测试的 App 目前为止 你一直在办公桌间穿梭 为同事点餐 但是主要还是在 模拟器和自己的设备中 测试 App 你已经迫不及待 想让几个朋友来试试 App 提供一些反馈 看看这个产品是否有亮点 同时你也在考虑融入 Siri 推送通知也能 提升产品体验
这些在 Personal Team 中 都无法实现
你必须有 Apple Developer Program 的会员资格 才能将 App 分发给他人 所以 如果你还没有 一个这样的账户 大部分开发人员 都会以公司或个人的名义注册 有了账户后 你就可以将 App 分发给他人了 在使用 Ad hoc 分发时 一定数量的用户 可以将你的 App 直接安装到他们的设备并进行测试 这个过程需要你 将他人的设备 在 Developer 网站上注册 能注册的开发和测试的设备 数量有限
每个产品系列每年可注册 100 个设备
对于普通用户来说 注册设备需要将其 连接到 Mac 从而获取设备标识符 可以从访达的边栏 或 Xcode 中获得 这也代表 作为开发人员 你需要这些设备在现场 然后你将标识符 加入 Apple 的 Developer 网站 设备注册好后 你就可以创建一个构建版本 并安装在他人的设备上了 还有几个别的方法 也可以将 Ad hoc 构建版本 安装给测试人员 你可以将设备 与你的 Mac 绑定 然后用 Xcode 或 Apple configurator 安装 后者可以在 Mac App Store 中找到 你还可以托管 App 并且启用 无线安装
这种手动方式 可以小批量 分发 App
这种方式是为了让你可以 部署 App 到注册的设备上 以便产品测试 它不是一个长期 或大批量的分发方式 用于 App 签名的配置文件 每年都会过期 所以这些 App 最终都会 无法使用或需要重新签名
对于更大的团队 你们需要注意设备的数量限制 如果无法注册更多设备 新产品的开发将很难进行 因此 你需要在 测试设备方面 多加注意 设备的数量限制 每年重置一次 如果你想知道 重置的具体时间 可以去 Developer 网站的 会员页面 查看重置日期 Ad hoc 分发让我们可以 用少数设备进行测试 你会很快意识到 Ad hoc 分发 无法大量分发 当想测试 App 的人变得越来越多时 这个方式就不太可行了 下面就让我们来看看 App Store
App Store 提供了一个更好的方法 可以让大量用户 参与 Beta 测试 用户对 LunchControl 的兴趣 与日俱增 而你也想要 更多的用户可以参与测试
TestFlight 是一个简单的工具 可以让开发人员 和用户试用 App App 安装和升级也很简单 你可以让一万人参与测试 构建版本可以保留三个月 而对于用户来说 安装 App 的过程 再熟悉简单不过
外部人员测试的 Beta 构建版本 若要使用 TestFlight 则需通过 App 审核 所以你需要确保 在提交 App 之前 遵循 App Store 审核准则 App 还需要可以稳定运行 可以稳定运行 以便大量用户试用
不过 如果你只想 将构建版本分发给 App Store Connect 中的成员 则不需要审核 只有 Apple Developer Program 的会员 可以使用 TestFlight
TestFlight 内置在 App Store Connect 中 有些人可能只熟悉 Apple Developer Enterprise Program 而从未用过 App Store Connect 它的界面是这样的 App Store Connect 让你可以轻松上传 提交 及管理 你在 App Store 中的 App 你还能看到 所有的 TestFlight 构建版本 以及邀请别人参与测试 测试者可以通过 TestFlight 的 App 将你的 App 安装到他们的设备 通过 TestFlight 发出测试邀请后 测试者会收到一封 参与 Beta 测试的邮件邀请 他们可以查看 你提供的所有测试细节 和安装 App 直接开始测试 到你对构建版本的稳定性 表示满意后 下一步可以将 App 提交至 App Store 你根据 Beta 测试的反馈 对 LunchControl 做了更新 添加了功能 对产品进行迭代 你已经准备好 出售 App 连图标都做了更新 为了可以提交 App 你付出良多
现在让我们思考一下 谁是用户 谁是顾客 如果二者都是普通大众 那你的 App 非常适合 投入面向所有人的 App Store 个人用户可以下载 及使用你的 App 购买 App 的人 同时也是用户
这里有一些关于 App Store 分发的信息 你应当要了解
个人和组织 都可以加入 Apple Developer Program 来将 App 分发到 App Store
根据所支持的市场 App 面向 对应的公众 而 App 也由 Apple 进行托管和审核
这代表开发人员 应当知道要遵循 App Store 审核准则 并且需要了解最新的准则 其中包括新的硬件 屏幕尺寸 现代 API 和新的功能 就如我们本周 公布的诸多更新 我想重申一下 App Store 只适合 面向普通大众的 App 也就是说 如果你在为 某个公司的员工 构建 App 将其分发到 面向公众的 App Store 就不太合适了
下面我们来谈谈开发人员 可能在 App Store 中 遇到的一些情况 首先 我们要谈的是 顾客是否可以 为一个团体 批量购买 App 我们有相对应的计划 可以帮你达成这一点 对于 LunchControl 假设你的很多朋友 是当地学校的老师 他们想批量购买 App 让学校所有的老师都能用上 作为开发人员 如果想为他们提供折扣 你需要在 App Store Connect 中 启用这个功能 在这种情况下 你的用户依然是普通大众 所以你在 App Store 中的 App 用户是学校的老师 但是购买 App 的顾客 实际上是学校
这类顾客会通过 Apple 商务管理 或 Apple 校园教务管理 来从 App Store 批量购买 类似 LunchControl 这样的 App 并将其分发给员工
若想验证 教育领域的顾客 是否能用折扣购买 App 你需要进入 App Store Connect 并查看价格与销售范围板块
销售范围的默认选项 可以为教育机构的顾客 降低购买价格 如果该顾客 购买 20 或更多个许可 而你启用了降价功能 他们可以得到 50% 的折扣 他们需要通过 Apple 校园教务管理 来进行购买 接下来 我想讨论一下 应该如何做 App 的版本控制 已经如何顺利地添加新功能
随着 LunchControl 越来越火 新功能的请求也越来越多 也有更多的机构 想要使用这个 App
一些用户或机构 需要你添加的功能 可能不一定适用于 全部的用户 所以你一定要在 App Store 中 合理地进行版本控制
当你的用户越来越多 你会开始考虑 为 App 开发不同版本 以吸引更多顾客 甚至是为不同类型的用户 提供变体的 App 举个例子 如果你认为 你的 App 需要普通版本 和管理员版本 那你就必须合理进行版本控制 及管理 App Store 的相应界面 如果 LunchControl 没能管理好 App Store 的相应展示 会怎么样呢 我举一个 App Store 中 出现的真实案例 这里我们套用 LunchControl 和公司 Liquid Oxygen 的名字 千万不要向他们学 如果你没做好版本控制 当用户在 App Store 中 搜索相关关键词时 会看到这样的状况 他们对于选择哪个 App 毫无头绪 如果选到错误的 他们可能无法登录 或使用 并且 App 的运行 可能也会出错 对于用户来说 这样的体验非常差 这个问题解决起来很简单 你可以在软件中控制好版本 并在更新 App 和产品的同时 将你的顾客群体 直接转移过去 开发人员应当 尽量整合 App 的版本 理想状态是只有一个版本 就像左边这样 这确实需要完成 更多的开发工作 但是最终看来 用户体验要好很多 如果你是开发人员 并且收到 很多自定的需求 那你应当研究一下 如何私下交付 这些自定版本 这个我们等一下会讲 我想讲的最后一个 App Store 中可能出现的情况 是受人委托构建 App Store 的 App 你的公司 Liquid Oxygen 可能得到顾客请求 想要你们帮他们 构建面向大众的 App 这种情况下 我们假设 Liquid Oxygen 收到连锁餐厅 Taco Bar 的请求 要为他们构建 能分发于 App Store 的 App Taco Bar 很喜欢 LunchControl 所以非常希望 你们可以为他们构建一个 App 让他们的顾客可以点餐 寻找最近的 Taco Bar 餐厅 以及为餐点付费 他们目前在 App Store 中 没有相关内容 这将会是他们的旗舰 App 而你作为开发人员 并不想将知识产权直接交给他们 这样的情况下 你的用户还是普通大众 而顾客实际上是 Taco Bar 你要为 Taco Bar 的顾客 构建一个 App 同时仍然保有 知识产权 并运营 Liquid Oxygen 公司 这个全新的 App 会有一个独立的套装 ID 也会和 LunchControl 一起 出现在 App Store 中 这可不是在另一个顾客名下 发布同样的 App 这么简单 这是一个全新而独特的体验
那么 Liquid Oxygen 如何作为 Taco Bar 的 第三方开发者 为他们构建 App Store 的 App 呢 二者合作的最佳方式是什么呢 Taco Bar 雇用 Liquid Oxygen 构建 App 然后用 Taco Bar 的 开发者账号提交 App 开发人员必须加入 Taco Bar 的 Developer Program 为他们构建 App 然后提交到 App Store 整体流程应该是这样的
Taco Bar 应当给 Liquid Oxygen 分配两个开发者职能 开发人员和营销 这样开发公司就可以 上传构建版本 并提供市场营销所需的元数据 比如 App 的描述和截图
管理员职能应当 由 Taco Bar 自己掌握
这样 Taco Bar 就可以 控制 TestFlight 分发 定价 版本提交 和 App Store 发布 App 管理职能也应由餐厅掌握 我们看看如何在 App Store Connect 中 添加及管理用户
管理员及 App 管理职能的用户 可以创建和编辑用户 也可以限制用户访问 账户中某些 App
一定要将第三方开发人员的 访问权限限制在 需要他们开发的 App 中 需要注意的是 不能通过 Developer 网站 设置 App 的访问权限
在 Developer 网站 用户可以看到所有套装 ID
这里可以看到 Tracy 是开发人员 而她只能访问 Taco Bar 的 App 如果 LunchControl 和 Liquid Oxygen 要终止与 Taco Bar 的 合作关系 顾客完全可以在之后 将第三方开发者移除 如果你在为一个企业构建 App 只有这个企业才可以 将 App 提交到 App Store 这代表 App 必须在 顾客的账户下提交 Taco Bar 的顾客 下载的 App 会是 Taco Bar 公司的 而非 Liquid Oxygen 公司 想要了解更多 你可以查看 App Store 审核准则 第 5.2 章 管理员和 App 管理等强大职能 应当对第三方开发者 加以限制 顾客还应当将 第三方的 App 访问权限 限制在有开发需求的 App 中 你还应当遵循我们之前提到过的 App 版本控制的最佳实践 这些就是 通过 App Store 分发面向大众的 App 时 可能遇到的各种情况 接下来 我们来探讨两种 为企业或公司 分发自定 App 的方法 这样的 App 为公司专有 限内部使用 其一便是 企业内部分发
我们再回到 LunchControl 令人振奋的是 又有一家 Acme 公司想让你 帮他们构建一个 自定版本的 LunchControl 用于公司的食堂 和餐饮供应服务 以便员工点餐时 也能享受你的 App 所带来的美好体验 这意味着要将 他们的后端系统接入 App 并为他们构建一个 完全自定的版本
这个案例中 Acme 公司是 购买自定 App 的顾客 使用 App 的用户则是公司员工 我们将食堂称为 Acme 公司餐厅
我们知道这个 App 的用户 并非普通大众 而是一个公司的员工 很明显 面向大众的 App Store 并不适用于这个情况 当我们提到 供内部使用的 App 时 能想到两种分发方法 企业内部分发和自定 App 分发 在之前 Acme 公司或许会有 Apple Developer Enterprise Program 的账户 会用企业内部分发的方式 部署这个 App
很长时间以来 这是唯一的方法 但是最近 我们让此类 App 可以通过自定的 App 在 App Store 的基础架构上托管 这样做有很多好处
尽管 Apple Developer Enterprise Program 依然存在 但已经不再是 分发内部专有 App 的 标准机制了 有些情况下 这种方式或许仍然适合 但是对于大部分 内部专有 App 来说 App 自定是未来的方向 我们简单讲一下 企业内部分发 这样大家还能知道它如何运作 企业内部分发 让你可以掌控 整个分发流程 并自行托管 App 你需要获得 Apple Developer Enterprise Program 的会员资格 但是该计划的适用条件 非常严格 它实际上针对的是 那些无法通过 自定 App 分发解决问题的情况 比如 无法使用 Apple 商务管理的地区 州政府及联邦政府的案例 或者有其他 知识产权问题的案例 仍然可以使用 企业内部分发 使用这种分发方式的机构 应当拥有 及维护源代码 这样就可以自行开发 以维护整个项目 分发则由企业 在 App Store 之外操作 通常会通过 MDM 来完成 如果现阶段 你正在使用 企业内部分发 有几点需要注意 首先 你通过 企业内部分发 部署的 App 只能给你的员工 无法给其他人使用
App 要机构 用分发证书签名 而这个证书 需要保证安全 如果证书由于任何原因 受到损害或被撤销 该证书下所有部署的 App 将立即停止运作 并且需要机构 重新签名及部署 相信你可以想象 这对企业来说 可能是灭顶之灾 另外 分发证书 每三年会到期 配置文件则会在一年后到期 因此 你需要管理 证书的生命周期 并提前规划好 相关 App 频繁的更新
Beta 测试及 App 托管 需要企业通过 MDM 来操作及处理 并且企业账户 无法使用 TestFlight
App 也需要 定期连接互联网 这使得在隔离网闸下 部署 App 变得非常困难 基于以上几点 企业内部分发 并不适合 Acme 公司
下面我们看一下自定 App 这才是未来的趋势 这种情形有两种应对方式
开发人员可以在自己的账户下 通过自定 App 分发 将 App 出售给顾客 这种方式可以 保护他们的知识产权 可以说是 从企业到企业的方式 也是自定 App 过去的分发方式 第二种 则是由开发公司 与 Acme 公司进行协商 提供给企业源代码 由企业用自己的账户 自行提交 自定的 App 我们可以将其称为 从企业到自营 无论何种方法 自定 App 分发 都是合适的解决方案 那自定 App 分发是怎么回事呢
自定 App 分发包含在 Apple Developer Program 中 并且由 Apple 用 Apple 商务管理进行托管
这种方式过去 仅面向将 App 出售给 其他组织的开发者 但是现在也可以用来 向企业内部员工分发 App 作用如同企业内部分发的方式 给员工分发 App 变得简单很多 自定 App 分发 适用于分发 App 给 员工 合作伙伴 顾客 特许经销商或附属机构
顾客还可以通过 MDM 分发 App 许可 或启用兑换码 如果你习惯使用 Apple Developer Enterprise Program 自定 App 分发 可以带来很多好处 你只需要通过一个计划来管理 App Store 和机构内部的 App 你的 App 不会过期 所以你也不用担心 分发证书被撤销或过期
企业内部分发 可以将 App 分发给员工 而自定 App 分发则可以 让你触达更多的用户 包括附属的机构
跟第三方开发者合作 也变得更加简单 你无需源代码 就可以获取 和分发 App 而且无需对二进制文件 重新签名
你还可以利用 App Store 的 自动更新基础架构 缓存和 App 精简等功能 以及 App Store Connect 和 TestFlight 工具 下面我来介绍一下 如何提交自定 App
首先 你需要确认 你的账户已经设定好 可以支持自定 App 还需要接受幻灯片上提到的 两个协议 提供银行 和税务信息
设置好 App 后 你就可以利用不同职能 设置项目人员的访问权限了
开发人员要在 Developer 网站的会员中心 创建一个新的 App ID 并在 App Store Connect 中 创建新的 App 记录
你想出售自定 App 时 每一次你都需要 创建新的 App ID 和新的 App 记录 同样的套装 ID 不能同时用于 App Store 公开分发 和自定 App 专有分发 这两个是完全不一样的 App 要有不一样的套装 ID
下一步 你可以上传一个版本 并将它与 App Store Connect 中 现行的版本绑定在一起 用 TestFlight 来做 Beta 测试
测试完成后 App 所有的元数据 和最终的营销材料 应已完成验证并添加成功 这之后你才能 在价格与销售范围板块 将其作为自定 App 进行出售
要注意 无论是自定 App 还是面向大众的 App 一旦提交审核 就不能再将受众 从公众改为专有了 反之也是如此 要想将 App 作为商务自定 App 出售 你需要提供顾客的 DEP ID 和机构名称 DEP ID 是 机构注册 Apple 商务管理之后 获得的唯一标识符
最终 你会将 App 提交审查
审查通过 App 也上线后 你的顾客就可以 购买及分发你的 App 了 购买经由 Apple 商务管理完成 顾客可以进入网站 business.apple.com 注册此计划后 他们就可以批量购买书籍 App Store 的 App 和自定 App 并部署到他们的设备和用户 他们还可以管理 App 许可 要注意一点 如果 App 是自定 App 顾客的账户就要提前设置 因为你需要他们的 DEP ID 和机构名称 才可以将 App 分发给顾客 今年秋天 自定 App 要加入 Apple 校园教务管理了 我们现在看到的是 Apple 商务管理的界面 顾客可以在自定 App 板块 看到你为他们 分发出售的 App 让我们从顾客和开发人员的角度 整体回顾一下 自定 App 分发的工作流程 首先 顾客要提供给你 他们在 Apple 商务管理下的 机构名称和 DEP ID 得到这些信息后 进入 App Store Connect 设定 App 在价格与销售范围板块 选择将 App 设为 专有的商务自定 App 并且需要填入 顾客的 DEP ID 和机构名称
App 提交及批准后 顾客就可以从 Apple 商务管理 购买 App 的许可 如果由于某些原因 你无法提交自定 App 或是顾客看不到 你向他们分发的 App 你可以在以下几个地方 进行问题排查 第一 Developer 网站 确保免费及付费协议 都已接受 银行信息准确无误 如果顾客看不到 App 请确认顾客的 Apple 商务管理账户 是否启用了自定 App 可以在 Apple 商务管理中 进入设置 注册信息 进行查看 此外 App 可能需要几分钟的时间 才会出现在 Apple 商务管理中 所以别太着急 更多信息请查看 App Store Connect 的帮助页面
关于自定 App 有几点需要注意 顾客需要有 Apple 商务管理账户 才能购买你的 App
App 必须支持 将要分发的地区 默认情况下 App 支持 App Store Connect 中的所有地区 除非必要 一般不应修改这个设置 如果你使用兑换码 分发 App 则兑换码 并非所有人可见 这时需要你来确认 App 是否分发到用户手上 有一个新的 App 需要经过审核 审核团队需要 可以使用 App 的全部功能 App 一经提交 就不能在公开和专业间切换
这其中包括自定 App 我们总共介绍了 四种分发方法 你可以从中选择 找到好方法最简单的方式 就是认真考虑 你的 App 的受众 是大众还是特定的小众 Ad hoc 分发允许你 分发给有限的内部用户以便测试 App Store 分发允许你 分发给普通大众 企业内部分发 和自定 App 分发 让你可以私下分发 我们来回顾一下 今天提到的分发情景 如果 App 是面向大众的呢
这种情况下 应该发布至 App Store 如果你不想 放弃自己的知识产权 怎么办呢 这种情况下 你可以利用 自定 App 的方式 分发完整且专有的 App 如果你在为另一个公司 开发面向大众的 App 你也可以给他们 发一份二进制文件 以上传到 App Store Connect
如果你的顾客没有 MDM 解决方案 怎么办呢
如果顾客没有 MDM 通过自定 App 计划也可以 分发 App 给顾客
如果你受雇成为某个公司 构建 App 的顾问呢 你既可以用 App Store 也可以是自定 App 计划 作为第三方开发者 来分发 App 如果我的顾客无法使用 Apple 商务管理呢 这种情况下 如果 App 的用户是顾客的员工 你的顾客应当利用 企业内部分发的方式 如果 App 是面向员工的呢
面向员工的或专有的 App 可以用自定 App 分发 和企业内部分发 如果你想给自己的员工 分发 App 呢
自定 App 分发 和企业内部分发 都可以做到 结束本次演讲前 我想跟你们分享 我的同事说过的话
“App 就像是炮弹 在部署之前 最好想清楚它们的方向”
Apple 希望大家都能取得成功 用最明智的方式 衡量你的 App 意思是希望大家可以 仔细衡量用户和顾客 管理好 App 的版本 认真了解 Apple Developer Program 的详细准则 如果这些你都清楚 你就能为你的 App 选择合适的分发方式 并顺利地 将其部署给用户
想要了解更多信息 这是 Developer 网站 304 号主题 周五请一定来我们的实验室 如果你想了解更多 也可以看看 管理 Apple 设备方面的新亮点 感谢大家 希望你们喜欢之后的大会内容 [掌声]
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。