React Native 打包 App 发布 iOS 及加固混淆过程
React Native 打包 App 发布 iOS 及加固混淆过程
摘要
本文将介绍如何使用 React Native 打包并发布 iOS 应用到 App Store,并介绍了如何进行应用的加固和混淆过程。
引言
发布 iOS 应用到 App Store 是一个相对复杂的过程,需要使用 Mac 电脑上的 Xcode 软件进行打包和上传。本文将详细介绍打包和发布的步骤,并提供代码示例和说明,以帮助开发者顺利完成这一过程。
正文
第一步:设置 bundle-ios 命令
在 package.json 文件中的 scripts 部分中添加以下命令,用于生成 iOS 打包所需的 bundle 文件:
"bundle-ios": "node node_modules/react-native/local-cli/cli.js bundle --entry-file index.js --platform ios --dev false --bundle-output ./ios/bundle/index.jsbundle --assets-dest ./ios/bundle"
第二步:通过 Xcode 打开项目
使用 Xcode 打开 iOS 项目,选中项目目录下的 .xcodeproj 文件。
第三步:将 bundle 文件加入项目
右击鼠标,在弹出菜单中选择 “Add Files to ‘项目名’”,选择生成的 bundle 文件,并勾选 “Create folder references” 选项。
Xcode 设置
导航窗口选择
Product选项卡 ->Scheme->Edit Scheme,将两个导航栏的 Build Configuration 修改为Release,然后关闭窗口。双击项目,打开项目信息页面,对相关信息进行修改。
第四步:开始打包
在顶部选择项目运行为 build - iOS device,然后点击 Product -> Archive 开始打包。打包完成后,点击 Distribute App,选择之前打包的版本信息。
第五步:加固混淆
在将 IPA 文件编译出来后,需要进行重新签名才能安装到测试手机或提交到 App Store 进行审核。可以使用工具如 iPAGuard 在 Windows、Mac 和 Linux 上进行签名和重签名。在对 IPA 进行混淆和保护后,可以直接通过签名安装到测试手机,非常方便测试和检查混淆效果。
第一阶段测试和配置尝试阶段:配置好要混淆的内容后,直接点击处理安装到手机。这阶段使用开发测试证书和测试描述文件。描述文件需要包含测试设备的 UDID 才能安装到设备。


第二阶段发布阶段:当测试通过并且没有问题后,将测试证书和描述文件改成发布证书和发布描述文件,点击处理后生成最终的 IPA,该类型无法安装到手机,只能提交上架使用。

第六步:上传到 App Store
选择之前打包好的版本,点击 Distribute App,选择 App Store Connect,然后按照流程进行操作,登录 App Store Connect,并选择或创建项目,点击 “+” 号发布新版本。
总结
React Native 打包和发布 iOS 应用的过程可能会遇到一些报错信息,但只需逐个解决即可。熟悉整个流程后,操作会变得简单。如果在任何步骤中遇到问题,可以在下方留言以便修改。
参考资料
React Native 打包 App 发布 iOS 及加固混淆过程的更多相关文章
- React Native之微信分享(iOS Android)
React Native之微信分享(iOS Android) 在使用React Native开发项目的时候,基本都会使用到微信好友或者微信朋友圈分享功能吧,那么今天我就带大家实现以下RN微信好友以及朋 ...
- React Native v0.4 发布,用 React 编写移动应用
React Native v0.4 发布,自从 React Native 开源以来,包括超过 12.5k stars,1000 commits,500 issues,380 pull requests ...
- WEB通知和React Native之即时通讯(iOS Android)
WEB通知和React Native之即时通讯(iOS Android) 一,需求分析 1.1,允许服务器主动发送信息给客户端,客户端能监听到并且能接收. 1.2,为了方便同一个系统内的用户可以指定某 ...
- [RN] React Native 打包时 减少 Apk 的大小
React Native 打包时 减少 Apk 的大小 主要有两个方法: 在打包前设置 android\app\build.gradle 文件中 1) def enableProguardInRele ...
- React Native 真机调试(iOS / Android)
React Native 真机调试(iOS / Android) https://reactnative.dev/docs/running-on-device https://developer.ap ...
- React Native hot reloading & Android & iOS
React Native hot reloading & Android & iOS https://facebook.github.io/react-native/docs/debu ...
- React Native & CodePush & App Center
React Native & CodePush & App Center https://docs.microsoft.com/en-us/appcenter/distribution ...
- 使用 Agora SDK 开发 React Native 视频通话App
在 React Native 的应用中,从头开始添加视频通话功能是很复杂的.要保证低延迟.负载平衡,还要注意管理用户事件状态,非常繁琐.除此之外,还必须保证跨平台的兼容性. 当然有个简单的方法可以做到 ...
- 企业版证书打包APP发布,安装后闪退问题解决。
企业版证书打包APP发布,安装后闪退问题解决. 我现在就碰到这个问题,只要项目与Swift沾上边的,都会出问题. 如果我们是直接使用开发者证书进行真机调试,那么就不会出现问题,像往常一样好.但如果我们 ...
- 30天React Native从零到IOS/Android双平台发布总结
前言 本人有近十年的技术背景,除了APP开发之外对后端.前端等都比较熟悉,近期做一个APP项目需要IOS.Android两个平台都需要,只能硬着头皮上.其实很早就想开发APP也很早就接触Android ...
随机推荐
- 2D物理引擎 Box2D for javascript Games 第六章 关节和马达
2D物理引擎 Box2D for javascript Games 第六章 关节和马达 关节和马达 到现在你所见到的所有类型的刚体有着一些共同点:它们都是自由的并且在除碰撞的请款之外,彼此没有依赖. ...
- Qt 迭代器
目录 (一) java风格迭代器 1. QListIterator类 1. 初始化 2. findNext() 3. findPrevious() 4. hasNext() 5. hasPreviou ...
- Windows 使用 keytool 导入证书到 jdk 密钥库
确定 java 安装路径, 一般情况下存在于 C:\Program Files\Java\jdk_xxx,根据自身电脑安装情况而定. 管理员权限打开终端 cmd ,进入C:\Program Files ...
- Modbus 转 PROFIBUS DP 应用场景 PM-160
1)在网关PROFIBUS DP侧是一个PROFIBUSDP从站,在Modbus串口侧有Modbus主站.Modbus从站.通用模式可选:接口有RS232RS485.RS422三种可选. 2)通信方式 ...
- 深入了解PBKDF2加密技术:原理与实践
摘要:本文详细介绍了PBKDF2(Password-Based Key Derivation Function 2)加密技术,包括其原理.算法流程和实际应用,旨在帮助读者更好地理解这一重要的加密方法. ...
- MySQL-char与 varchar 的区别?
版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin 1.共同点: 都是字符串类型 2.不同点: ①.char类型是定长数据类型.,对于数据插入的速度比较块,在有大量插入需 ...
- 【uniapp】【外包杯】学习笔记day04 | 学习模板+vue相关知识+环境搭建
没啥好说的,人与人的悲欢并不相同,我只觉得吵闹. 好烦啊,虽然不应该总说一些低气压的话,不过目前预见的就是有很多工作要做,并且对于完成的希望也有点没有,就这样吧,没啥好说的. 昨天做了python的作 ...
- K8s 多租户方案的挑战与价值
在当今企业环境中,随着业务的快速增长和多样化,服务器和云资源的管理会越来越让人头疼.K8s 虽然很强大,但在处理多个部门或团队的业务部署需求时,如果缺乏有效的多租户支持,在效率和资源管理方面都会不尽如 ...
- Python接口自动化项目----Anan
优点 本效果展示仅是整体样式功能,更详细的使用方法和优点,需要参考使用手册. 整体的优点包括: 1.测试接口的统一管理 2.支持多环境 3.测试报告展示 4.定时任务 5.支持代码驱动 6.便捷的交互 ...
- python函数定义、调用、参数、返回
python函数定义语法: 定义: Def foo(): print('bar') print('bar2') 如果函数内容特别少,可以一行定义 : Def foo(): print('bar') ...