

|
网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。 本篇文章给大家带来的内容是关于react-native如何实现自动打包?react-native自动打包的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。你是否也在幻想写完代码后,无需打开xcode和android studio,只要执行一个shell脚本,就能把android和ios都打包出来?而且自动帮你传到蒲公英和App Store,接着产品自动去下载测试。而你~~~直接去喝咖啡了。 注意:本篇仅讲述如何用自动脚本处理,所以已经假设看官们已经能正常手动打包。若有更多繁枝细节,则需要另开篇幅。 准备材料一台macos主机+显示器,比如:mac-mini 自动构建工具,比如:gitlab-runner、travis-ci、jenkins 苹果开发者认证 macos主机需作为构建工具的 git xcode 9.4+ xcode -> 设置 -> accounts -> 添加苹果公司认证或者个人认证所用的app_id android studio android sdk java jdk 8 注意:如果你不想搞构建平台,只想简简单单地,那么你可以把下面的那么多代码整合成一个shell脚本,然后在自己的电脑里执行。 打包androidcd 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上面编译肯定是不通过的,因为你缺少两个文件
上传蒲公英笔者用的蒲公英,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里点击 先验证是否可以上传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从笔者的研究来看,仅小米应用的上传有提供接口,其他应用平台都要手动上传。 注意事项:1、每个节点机器上都需要生成一个certificate。你需要手动生成,或者利用xcode自动帮你生成。这一步不做无法打包ios
相关文章推荐: 以上就是react-native如何实现自动打包?react-native自动打包的方法的详细内容,更多请关注php中文网其它相关文章! 网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。 |
温馨提示:喜欢本站的话,请收藏一下本站!