移动开发中最危险的消息
Source: Dev.to
概览
如果你开发移动应用,可能至少见过一次以下信息:
“嘿… 构建没有安装。”
就这样,你的一天被毁了。于是你开始调查:
- 也许是配置文件(provisioning profile)已过期。
- 也许是测试者的 UDID 没有被加入。
- 也许是他们的 iOS 版本太旧。
- 也许是未启用开发者模式。
- 也许是应用签名不正确。
现在你在几乎没有可视信息的情况下,调试别人的手机上出现的安装失败,而且通常发生在最糟糕的时刻。听起来很熟悉吗?
没人谈论的问题
移动开发今天拥有令人惊叹的工具,但一旦我们尝试分发测试构建,事情又变得脆弱起来。要成功安装 iOS ad‑hoc 构建,每一个必需条件都必须满足。只要其中任何一个不符合,安装就会失败——往往在测试者已经下载了构建之后才出现。
大多数构建分发工具并未解决此问题
大多数工具关注文件共享:你上传 IPA,测试者下载它。它们很少回答开发者真正关心的问题——构建能否在目标设备上安装? 当出现问题时,开发者就成了侦探。
多次碰到这个问题后…
我开始思考为什么我们只有在下载后才发现安装失败。我尝试解析移动构建文件,并将这些约束与尝试安装的设备进行比对。这个想法最终演变成了我构建的一个小项目 Relio:它可以在测试者甚至下载构建之前,预测构建是否能够安装。
这个项目给我的启示
构建 Relio 让我意识到,我们仍然在应用的基础设施上挣扎。移动分发生态系统的许多环节仍然出奇地依赖手动操作。
想了解其他团队是如何处理的
我目前正在与其他移动团队交流,了解他们如何应对构建分发。有的使用内部工具,有的则有自定义工作流。很想听听大家是怎么解决这个问题的——欢迎分享你们的做法。