QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

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

关注

评论

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

自主品牌实力认可!浪潮云洲亮相2021年中国品牌日

云计算

网页视频下载教程(腾讯, B站, 优酷, 爱奇艺)

科技猫

经验分享 教程 视频处理 工具分享 网页视频下载

70%读写性能提升!基于UCloud对象存储US3的用户态文件系统设计

UCloud技术

对象存储

两年半,50W的offer,三本,普通前端如何打好自己的牌

月哥

面试

全新 EMQ X Cloud:升配、降费、增效,助力企业智能化升级

DT极客

XML 文件解析

xcbeyond

XML配置 5月日更

iOS 开发:第三方开源库(Swift版)

迪安

移动开发 Framework iOS Developer Open Source

lowcode 和 nocode 没有穿衣服

Xargin

lowcode nocode

微服务的灾难

Xargin

架构 微服务 microservice

姚翔:递归零知识证明,如何打造简洁的区块链?

CECBC

区块链

必看:Kubernetes 开发环境对比

百度开发者中心

Kubernetes #技术课程#

浅析以太坊网络状态平台架构及WebSocket

devpoint

区块链 以太坊 websocket

微软为什么要对jdk下手?阿里对JDK的理解又是什么样的?

Java架构师迁哥

跟着华为大佬学习—Java亿级高并发,第一天

Java架构师迁哥

新场景+新模式,西安雁塔区打造数字人民币示范区

CECBC

为什么人类学家比经济学家对比特币更感兴趣

CECBC

GitLab Webhooks 使用

夏兮。

gitlab jenkins CI/CD WEBHOOKS

SaaS的前世、今生与未来 [上篇]

LigaAI

SaaS

⚓【Java知识晚餐】精心准备的JVM分析工具⚓

码界西柚

Java JVM 5月日更 JVM分析工具

快速搭建接口自动化测试框架

夏兮。

Java JUnit 接口测试 rest-assured

客制化:定制专属于你的产品和服务

石云升

产品 用户 职场经验 5月日更

「技术人生」专题第1篇:什么是技术一号位?

阿里巴巴中间件

5月,腾讯最新职级技术要求曝光,Linux炸了。

linux大本营

c++ Linux 后台开发 架构师 服务器开发

Python监控打印机队列

IT蜗壳-Tango

IT蜗壳 IT蜗壳教学 5月日更

​ 如何保护IP并预防IP泄露

​ 备份测试:备份为什么如此重要

吐槽对象

顿晓

对象 5月日更

MySQL 到 ClickHouse 的高速公路

青云技术社区

MySQL 数据库 Clickhouse

这个云原生开发的痛点你遇到了吗?

阿里巴巴中间件

大部分两三年经验的程序员水平是怎样的?

Java架构师迁哥

整天用对象,你知道Java中对象的内存布局吗?

码农参上

Java JVM 签约计划第二季

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