NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:224287
用户头像

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

关注

评论

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

直播电商行业一些看法

黄大路

互联网 商业 商业模式 商业价值 行业资讯

高仿瑞幸小程序 04 小程序的全局数据

曾伟@喵先森

小程序 微信小程序 大前端

游戏夜读 | 联网才能玩的单机

game1night

如何快速对应用系统做一个360度画像诊断?

姜戈

Java 运维 多线程 网络 内存

程序员的晚餐 | 5月9日 炖蹄髈

清远

程序员

Java 环境配置与编辑器使用

旭霁

Java IDEA

使用人工智能技术改进面试机器人

陆道峰

人工智能 学习 聊天机器人

来了来了,2020 首场 Meetup ,可!

Apache Flink

大数据 flink 流计算 实时计算

关于查尔斯-斯特里克兰

黄大路

提升认知 小说 个人提升 认识自己

以不变应万变——复杂系统回归测试新思路

刘华Kenneth

DevOps 敏捷 测试 单体系统 复杂

理解雾计算(Fog Computing)与边缘计算(Edge Computing)

老任物联网杂谈

雾计算 Fog Computing 边缘计算 Edge Computing

Redis 命令执行过程(上)

程序员历小冰

redis 源码分析

如何打造个人品牌?

石云升

个人 品牌

Java并发编程--ReentrantLock

Java收录阁

并发编程

做程序员有未来吗

山楂大卷

程序员 个人成长 职业规划 技术人

产品经理中必会SQL技能,相关内容研发可不予支持

韩超

MySQL sql 产品经理

Scrum精髓 - Scrum的核心到底是什么

Bob Jiang

Scrum 敏捷 Scrum精髓 敏捷精髓

读 Go Scheduler 有感:给产品经理的建议

Ya

程序员 产品经理 操作系统 OS Scheduler

数据挖掘|cross_val_score交叉验证使用

黄大路

Python 数据挖掘 学习 数据分析

数据库连接池的大小

Java收录阁

数据库

回"疫"录(11):别让善良寒了心

小天同学

疫情 回忆录 现实纪录 纪实

腊鸡与猴儿

黄大路

人生 小说

一个 UED 团队的自我修养

oldj

团队管理 UED

DevOps怎样影响开发运维人员

脚动两轮男之漂流小王子

DevOps

拜托,别再问我Zookeeper如何实现分布式锁了!

不才陈某

zookeeper 分布式 后端 分布式锁

向上管理第一项:路径P背后的目标B

kimmking

管理

关于职能型团队管理一些总结

黄大路

项目管理 管理

Elasticsearch原理讲透了!

for

lucene elasticsearch 倒排索引 分布式搜索引擎 数据的分片和备份

面试官浅析程序员面试过程中的二三事

joe

互联网 个人成长 方法 职场 文化

ROS与OpenAI结合使用教程(概览)

辣么大

真实 Java 笔试题

旭霁

面试

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