百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> react-native怎样实现主动打包?react-native主动打包的办法
分享文章到:

react-native怎样实现主动打包?react-native主动打包的办法

发布时间:08/01 来源:未知 浏览: 关键词:
本篇文章给大家带来的内容是对于react-native怎样实现主动打包?react-native主动打包的办法,有一定的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。 本篇文章给大家带来的内容是对于react-native怎样实现主动打包?react-native主动打包的办法,有一定的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。

你可否也在梦想写完代码后,无需打开xcode和android studio,只有施行一个shell足本,就能把android和ios都打包出来?并且主动帮你传到蒲公英和App Store,接着产品主动去下载测试。而你~~~直接去喝咖啡了。

注意:本篇仅讲述怎样用主动足本处置,所以已经假如看官们已经能正常手动打包。如有更多繁枝细节,则需要另开篇幅。

预备资料

一台macos主机+显示器,比方:mac-mini

主动构建工具,比方:gitlab-runner、travis-ci、jenkins

iphone开发者认证

macos主机需作为构建工具的节点,而且需要安装如下的软件或操纵:

git

xcode 9.4+

xcode -> 设定 -> accounts -> 增加iphone企业认证或者个人认证所用的app_id

android studio

android sdk

java jdk 8

注意:要是你不想搞构建平台,只想简简略单地,那么你可以把下面的那么多代码整合成一个shell足本,然后在本人的电脑里施行。

打包android

cd android
rm -rf build/ app/build/
./gradlew assembleRelease

最后的apk文件在:android/app/build/outputs/apk/app-release.apk

打包ios

先构建根基包app

cd ios
# 必需先新建名目
mkdir -p build
rm -rf build/archive.xcarchive build/ipa-*

# 猎取名目名
project_list=`ls | grep .xcodeproj`
project_name=${project_list%%.*}

# 打包出app
# 这和你点击 xcode -> Product -> Archive 是同样的结果的。
xcodebuild clean
xcodebuild archive \
  -project ./${project_name}.xcodeproj \
  -scheme ${project_name} \
  -configuration Release \
  -archivePath ./build/archive.xcarchive

接着我们需要把app导出为ipa格局,这样才干上传到App Store或者测试平台比方:蒲公英 、 fir.im

传到App Store需要导出正式的ipa包,而传到蒲公英需要运用测试ipa包(ad-hoc),所以需要施行两遍

cd ios

# 正式ipa包
xcodebuild -exportArchive \
    -archivePath ./build/archive.xcarchive \
    -exportPath ./build/ipa-app-store \
    -exportOptionsPlist ./exportOptions/app-store.plist \
    -allowProvisioningUpdates
    
# 测试ipa包
xcodebuild -exportArchive \
    -archivePath ./build/archive.xcarchive \
    -exportPath ./build/ipa-ad-hoc \
    -exportOptionsPlist ./exportOptions/ad-hoc.plist \
    -allowProvisioningUpdates

上面编译确定是欠亨过的,由于你短少两个文件app-store.plistad-hoc.plist。这个你本人其实能寻到,那就是在xcode里打包并Export出来的文件夹里,都会有一个ExportOptions.plist文件

依据你在Export时选中的是App Store 还是 Ad Hoc,离别复制进项目exportOptions/app-store.plistexportOptions/ad-hoc.plist

上传蒲公英

笔者用的蒲公英,fir的看官本人去寻

PGY_API_KEY=你的api_key
PGY_HOST=https://www.pgyer.com/apiv2/app/upload

# ios
IPA=`ls ./ios/build/ipa-ad-hoc/*.ipa`
curl \ 
    --form "file=@$IPA" \
    --form "_api_key=$PGY_API_KEY" \
    $PGY_HOST
    
# android
curl \ 
    --form "file=@./android/app/build/outputs/apk/app-release.apk" \
    --form "_api_key=$PGY_API_KEY" \
    $PGY_HOST

上传AppStore

其实是先上传到 appstoreconnect.apple.com,和你在xcode里点击Upload To App Store是同样的

先验证可否可以上传

APP_STORE_ACCOUNT=证书新建者账号
APP_STORE_PASSWORD=密码
IPA=`ls ./ios/build/ipa-app-store/*.ipa`

/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool \
    --validate-app \
    --file "$IPA" \
    --type ios \
    --username $APP_STORE_ACCOUNT \
    --password $APP_STORE_PASSWORD

验证成功的话,你才干上传,不然上传会失败的,不消浪费工夫

APP_STORE_ACCOUNT=证书新建者账号
APP_STORE_PASSWORD=密码
IPA=`ls ./ios/build/ipa-app-store/*.ipa`

# xcode暂时生成的名目,不删除可能致使上传到appStore时失败
rm -rf ~/.itmstransporter/ ~/.old_itmstransporter/

# 开端上传
/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool \
    --upload-app \
    --file "$IPA" \
    --type ios \
    --username $APP_STORE_ACCOUNT \
    --password $APP_STORE_PASSWORD

上传android

从笔者的研究来看,仅XIAOMI利用的上传有供给接口,其他利用平台都要手动上传。

注意事项:

1、每个节点机器上都需要生成一个certificate。你需要手动生成,或者应用xcode主动帮你生成。这一步不做没法打包ios
2、前面几次打包,mac会有输入密码的提醒,需要及时输入,并务必点击按钮始终允许
3、要是用了gitlab-runner,那么在.gitlab-ci.yml中用 alias altool=xx将无效,即没法辨认altool,不知为什么.
4、ios打包一定要用macos系统,尝试用linux将得失相当。android打包倒是可以用linux,但也费事的要死,所认为什么反面ios一起呢?
5、要是macos作为主动构建的子节点,那么记得做一个开机启动足本start.sh,并把足本参加会员治理的启动项。这个sh文件需要右键打开显示简介,接着把打开方式设定为终端才行

相干文章举荐:

HTML中元信息meta标志属性的剖析(附代码)

对于高德地图WEB版根基控件的展现

以上就是react-native怎样实现主动打包?react-native主动打包的办法的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有155人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板