AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

免费领取丨精算与金融建模行业解决方案白皮书,不要错过!

葡萄城技术团队

10 分钟搭建自己的专属 ChatGPT

FinClip

Zebec生态持续深度布局,ZBC通证月内翻倍或只是开始

股市老人

用reduce高阶函数组装查询表单分隔字符数据

咖啡教室

软件测试 | 0经验拿下大厂年薪30万offer,我的面试求职之路(含面试题)

测吧(北京)科技有限公司

测试

Python写入csv出现空白行,如何解决?

Python csv 数据读写

磁盘有限,Docker 垃圾很多怎么办

newbe36524

C# Docker Kubernetes

3 个加强理解TypeScript 的面试问题

devpoint

JavaScript typescript ES6 前端面试

MySql基础-笔记12 -重复数据处理、SQL注入、导入导出数据

MySQL 数据库

微服务架构中的多级缓存设计还有人不懂?

小小怪下士

Java 程序员 架构 微服务

推荐系统[三]:粗排算法常用模型汇总(集合选择和精准预估),技术发展历史(向量內积,Wide&Deep等模型)以及前沿技术

汀丶人工智能

推荐系统 推荐算法 搜索系统

降本提效 | AIRIOT设备运维管理解决方案

AIRIOT

物联网 设备运维

LeetCode题解:633. 平方数之和,枚举,JavaScript,详细注释

Lee Chen

JavaScript 算法 LeetCode

阿里云ECS TOP性能提升超20%!KeenTune助力倚天+Alinux3达成开机即用的全栈性能调优 | 龙蜥技术

OpenAnolis小助手

ECS 龙蜥社区 KeenTune 云场景 全栈性能调优

一文搞懂秒杀系统,欢迎参与开源,提交PR,提高竞争力。早日上岸,升职加薪。

王中阳Go

Go golang 架构 高并发 秒杀

职场IT老手教你3步教你玩转可视化大屏设计,让领导眼前一亮!

葡萄城技术团队

CleanMyMac2024免费版系统清理优化软件

茶色酒

CleanMyMac X CleanMyMac2024

全国独家线下面授 | 北京大规模敏捷LeSS认证5月18-20日开班

ShineScrum

less 大规模敏捷

自动化测试概况和认知

自动化测试 测试工具

WebUI自动化中截图的使用

Python 自动化测试 unittest 截图

Zebec官方辟谣“我们与Protradex没有任何关系”

鳄鱼视界

领跑政务云市场!天翼云持续深耕政务云建设

天翼云开发者社区

秒懂算法 | 子集树模型——0-1背包问题的回溯算法及动态规划改进

TiAmo

算法 回溯算法 动态回溯算法

Python json中一直搞不清的load、loads、dump、dumps、eval

Python json 字符串

云原生 + AI 时代已至,大数据底座何去何从?

Kyligence

hadoop 云原生

ABBYY FineReader16永久版图片文字识别软件

茶色酒

ABBYY FineReader16

从人工测量转向计算机视觉,基于PaddleSeg实现自动测量心胸比

飞桨PaddlePaddle

深度学习 开发者 开发工具 飞桨

这个只要三步就能实现ins图片下载的方法!我直接就是一个疯狂点赞的大动作!

frank

ins图片下载

【FAQ】获取Push Token失败,如何进行排查?

HarmonyOS SDK

HMS Core

JS语法让人困惑的点 “==与===”

葡萄城技术团队

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