速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

AppHub:绕过苹果审核机制更新 iOS App

  • 2015-08-18
  • 本文字数:1045 字

    阅读完需:约 3 分钟

为了保证应用程序的合法性和安全性,苹果公司对每一款应用程序设定了严格的审查制度。每一个软件在发布之前都会经历一段时间的机器或人工审核阶段。这个时间短则几天,多达数周。对于敏捷软件开发团队而言,他们经常面临上一个版本还在审查中,一个新的版本已经完成修改的情况。为了解决如此尴尬的局面,毕业于 MIT 的 Matt Arbesfeld 联合其好友设计了 AppHub ,使得面向 iOS 系统的 React Native 应用能够快速更新。接下来,本文就对 AppHub 进行简要介绍。

首先,作为 Facebook React.js Conf 2015 会议上推出的项目,React Native 利用开源 JavaScript 库和 React.js 进行 iOS 和 Android 原生应用的开发。其优势在于提高了代码和模块的可重用性,并使得代码从服务器端动态更新成为可能。目前,Facebook 已经将 React Native 用于生产环境,并将其进行开源,代码依托在 GitHub 中。

正是基于 React Native 的诸多特性,AppHub 实现了快速更新 React Native 应用的功能。那么,究竟如何利用 AppHub 服务实现应用的快速更新呢?首先,应用开发人员需要下载并解压用于 iOS 的 AppHub SDK,并将其添加到应用程序中。具体做法为:把下载的 AppHub.framework 放入到 Xcode 项目;选择“Copy items to destination’s group folder”复选框;在 Link Binary With Library 的编译阶段添加 libz.dylib;把应用连接到 AppHub。接下来,开发人员就可以不断的使用 dashboard 或者 REST API 把更新发送到 AppHub 服务器中。

在 AppHub 中,开发人员为每一个移动应用程序都创建了一个 App。这个 App 拥有唯一的应用 ID,用来配置 SDK。此外,该 App 会保留移动应用的多个版本。开发人员利用 AppHub 的 dashboard 可以对这些版本进行配置和部署。服务器自动探测 App 的配置,把新的代码替换到到应用中,从而实现客户端应用的自动更新。目前,AppHub 所支持客户端操作系统为 iOS 8.0+,所支持 React Native 库的版本为 v0.7.0+。另外,就开发者所关心的 AppHub 是否是否被苹果公司所允许这一问题,AppHub 官网表示,苹果公司在开发者协议里特别允许了这种做法。本质上,AppHub 应用和 React Native 应用基本相同。而 React Native 应用已被证明是可以被苹果所接受的。因此,AppHub 这种做法肯定也会被苹果公司所接受。


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-08-18 08:224504
用户头像

发布了 268 篇内容, 共 123.1 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

mac游戏推荐:魔兽争霸3冰封王座Warcraft III for mac 解除8M地图限制

你的猪会飞吗

Mac游戏下载 Mac游戏分享

秒合约交易系统:从开发到部署重塑金融交易新纪元!

V\TG【ch3nguang】

秒合约系统开发

如何正确使用WEB接口的HTTP状态码和业务状态码?

百度搜索:蓝易云

深度学习常用的Python库(核心库、可视化、NLP、计算机视觉、深度学习等)

百度搜索:蓝易云

2024-08-31:用go语言,给定一个数组apple,包含n个元素,每个元素表示一个包裹中的苹果数量; 另一个数组capacity包含m个元素,表示m个不同箱子的容量。 有n个包裹,每个包裹内装有

福大大架构师每日一题

福大大架构师每日一题

shell脚本嵌套和case语句

百度搜索:蓝易云

降低听书APP开发成本:开发公司选择略显得尤为重要

软件开发-梦幻运营部

数字货币现货期权期货交易所开发部署逻辑需求分析

V\TG【ch3nguang】

【Git】删除本地分支;报错error: Cannot delete branch ‘wangyunuo-test‘ checked out at ‘XXX‘

百度搜索:蓝易云

嵌入式笔记 day2

万里无云万里天

嵌入式

我对智能体和业务场景结合设计

软件工程师-罗小东

Spring高手之路22——AOP切面类的封装与解析

砖业洋__

Java spring aop

MyBatis关联关系映射详解

百度搜索:蓝易云

mac苹果电脑游戏:植物大战僵尸中文版 for Mac

你的猪会飞吗

植物大战僵尸 for Mac 植物大战僵尸 mac 植物大战僵尸下载

ClickCharts for Mac思维导图软件激活版

Mac相关知识分享

思维导图

10款科研项目经费管理系统解析,助你了解项目管理

爱吃小舅的鱼

项目管理 科研项目 费用管理

Ubuntu 20.04网卡命名规则

百度搜索:蓝易云

php出现SSL certificate problem: unable to get local issuer certificate的解决办法

百度搜索:蓝易云

Veeam Recovery Orchestrator v7.1 发布下载 - 恢复编排

sysin

自动化 备份 恢复 veeam 编排

嵌入式笔记 day3

万里无云万里天

嵌入式

js箭头函数

百度搜索:蓝易云

图片批量添加水印工具Watermarker+ for Mac

Mac相关知识分享

水印 图片水印

数博会 | 百度智能云千帆大模型数据安全解决方案获优秀科技成果

百度安全

5 分钟快速上手 pytest 测试框架!

程序猿忙什么

程序员 软件测试、

央视报道时序数据库 IoTDB 性能刷新世界纪录!

Apache IoTDB

可以用数据库唯一索引处理幂等性吗?

江南一点雨

Mac 用户DMG打包软件DMG Wizard for Mac

Mac相关知识分享

打包软件

你知道的项目型企业管理系统,这10款值得推荐

爱吃小舅的鱼

项目管理 企业管理

Veeam ONE v12.2 发布下载 - 监控和分析

sysin

监控 分析 备份 恢复 veeam

SOME/IP TTL在各种Entry中各是什么意思?有什么限制?

百度搜索:蓝易云

AppHub:绕过苹果审核机制更新iOS App_移动_张天雷_InfoQ精选文章