0.1.12 • Published 8 years ago
@monsoir/rn-archiver v0.1.12
README
需要提前在 Xcode 中配置好 iOS 原生项目的打包证书的设置,automactically manage sign
安装
npm i -D @monsoir/archiver添加 scripts
"scripts": {
"start": "...",
"test": "...",
"archive-ios": "node ./node_modules/@monsoir/rn-archiver/dist/lib/index.js",
},打包时,执行命令
npm run archive-ios创建 .archiver.json 配置文件
.archive.json 例子,配置文件需要存放在与 package.json 同级的目录下,下面假设某个项目名为 Demo
{
"pathToWorkspace": "./ios/Demo.xcworkspace",
"scheme": "Demo",
"configuration": "Release",
"archivePath": "~/Desktop/Demo",
"exportPath": "~/Desktop/Demo",
"exportOptionsPlist": "./exportionsPlists/EnterpriseExportOptionsPlist.plist"
}配置文件解释
执行命令开始
- 读取
pathToWorkspace值,根据路径寻找 iOS 原生项目 - 使用
Release方式,对项目中的scheme进行打包 - 执行
xcodebuild archive命令,并将 archive 后的文件输出到文件夹~/Desktop, 并命名为Demo.xcarchive, 因此,.xcarchive后缀名是命令自动添加的,我们只需要精确到文件名 - 执行
xcodebuild -exportArchive, 根据archivePath中的值,获取到 archive 后的文件,同时,根据exportPath来指定Demo.ipa导出的位置,根据exportOptionsPlist读取打包的方法,最后,Demo.ipa包含在~/Desktop/Demo文件夹下
archivePath, 指定的是一个文件的名称,精确到文件名,不需要后缀名exportPath, 指定的是一个文件夹的名称
.archive.json 文件配置选项,
pathToWorkspace对于使用 React Native 的 iOS 项目,几乎使用的都是 CocoaPods, 因此,项目的入口都应该是Demo.workspace, 值需要包括workspace后缀scheme进行打包的 scheme, 一般为Democonfiguration打包的配置Release默认DEBUG
archivePatharchive 文件的保存路径,这是中间产物,默认为./{scheme}exportPath应用打包后的导出路径,其中包含了Demo.ipa文件,默认为./archivedexportOptionsPlist用于配置打包发布的形式,没有默认值AdHocExportOptionsPlist.plist测试包AppStoreExportOptionsPlist.plistApp StoreEnterpriseExportOptionsPlist.plist企业级