React Native中也會(huì)遇到判斷項(xiàng)目是Release還是Debug。首先我們看下在原生應(yīng)用中是怎么判斷的。
在Android中:
//在Android Studio項(xiàng)目中
if(BuildConfig.DEBUG){
//debug模式
}else{
//release模式
}
在iOS中:
#ifdef DEBUG
// debug模式
#else
//release 模式
#endif
針對(duì)不同的模式,我們可以做一些特意的配置。如服務(wù)器地址等。
在React Native中也是可以進(jìn)行判斷的。
if(__DEV__){
// debug模式
}else{
// release模式
}
在項(xiàng)目打包時(shí)也需要注意配置是否為release
可以在RN項(xiàng)目目錄中增加兩個(gè)腳本,分別針對(duì)iOS和Android打包功能。
- Android打包
build_apk.sh
#!/bin/bash
rm android/app/build/outputs/app-release.apk
cd android
./gradlew assembleRelease
- iOS打包
build_ipa.sh
#!/bin/bash
cd ios
rm -rf build/*
# clean project
xcodebuild clean -project MYAPP.xcodeproj -configuration Release -alltargets
# make archive
xcodebuild archive -project MYAPP.xcodeproj -scheme MYAPP -archivePath build/MYAPP.xcarchive
# export .ipa
xcrun xcodebuild -exportArchive -archivePath build/MYAPP.xcarchive -exportPath build -exportOptionsPlist exportPlist.plist
# notice: 需要替換上述MYAPP為自己的應(yīng)用名。
Android打包請(qǐng)參考文章
推薦:
RNTools是一個(gè)分享React Native文章、實(shí)例代碼以及第三方模塊的平臺(tái)。RNTools官網(wǎng)鏈接 RNTools應(yīng)用下載