成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

React Native 0.29.0版本iOS端BundleURL加載方法

spacewander / 1124人閱讀

摘要:在版本中加載方法做了重大改變,新增了單例類專門處理,使用保存配置信息。非模式時,沒有文件,會直接讀取本地文件,和以前版本的方式相同。手動設(shè)置在接口中暴露了屬性,可以通過手動設(shè)置。另需要在設(shè)置的為即可。

React Native iOS在0.29.0版本中BundleURL加載方法做了重大改變,新增了RCTBundleURLProvider單例類專門處理BundleURL,使用NSUserDefaults保存配置信息。

默認加載方式

在Debug模式下,執(zhí)行react-native-xcode.sh編譯腳本會自動獲取當前網(wǎng)卡en0的IP地址,并打入App包中一個配置文件ip.txt,App運行時會讀取ip文件,自動生成Developer Server URL,通過這種加載方式,我們不再需要手動去把"localhost"改成Mac的IP了,每次編譯都會讀取當前最新的IP。

if [[ "$CONFIGURATION" = "Debug" && "$PLATFORM_NAME" != "iphonesimulator" ]]; then
  PLISTBUDDY="/usr/libexec/PlistBuddy"
  PLIST=$TARGET_BUILD_DIR/$INFOPLIST_PATH
  IP=$(ipconfig getifaddr en0)
  $PLISTBUDDY -c "Add NSAppTransportSecurity:NSExceptionDomains:localhost:NSTemporaryExceptionAllowsInsecureHTTPLoads bool true" $PLIST
  $PLISTBUDDY -c "Add NSAppTransportSecurity:NSExceptionDomains:$IP.xip.io:NSTemporaryExceptionAllowsInsecureHTTPLoads bool true" $PLIST
  echo "$IP.xip.io" > "$DEST/ip.txt"
fi

非Debug模式時,沒有ip.txt文件,會直接讀取本地jsbundle文件,和以前版本的Load from pre-bundled file on disk方式相同。
但是我經(jīng)過測試發(fā)現(xiàn),en0是Wifi的網(wǎng)絡(luò),如果關(guān)閉Wifi,使用網(wǎng)線端口連接網(wǎng)絡(luò),en0默認就是inactive,沒有對應(yīng)的IP。

手動設(shè)置IP

RCTBundleURLProvider在接口中暴露了jsLocation屬性,可以通過setJsLocation手動設(shè)置IP。

NSURL *jsCodeLocation;

[[RCTBundleURLProvider sharedSettings] setDefaults];
#if DEBUG
[[RCTBundleURLProvider sharedSettings] setJsLocation:@"192.168.1.101"];
#endif
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];

另需要在Info設(shè)置NSAppTransportSecurityNSAllowsArbitraryLoadstrue即可。

總之

RCTBundleURLProvider類做了一些消息和屬性的封裝,可以通過判斷是否DEBUG環(huán)境然后做不同的設(shè)置。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/79928.html

相關(guān)文章

  • 關(guān)于weex

    摘要:在最上面的,阿里一般稱之為文件,通過轉(zhuǎn)換成,再部署到服務(wù)器,這樣服務(wù)端就完成了。例如,通過安裝了業(yè)界的工具庫用上和如今前端的開發(fā),一般離不開預(yù)處理器,比如和。在默認的文件中,即使有的助力,這類預(yù)處理器也是對其無能為力的。 生命周期 module.exports = { data: {}, methods: {}, init: function () { ...

    chadLi 評論0 收藏0
  • 加推Weex實踐之路(上)

    摘要:我們參考小程序的設(shè)計思路進行了優(yōu)化升級,為每一個需要特有化配置的頁面添加一個格式的配置文件,配置文件包括導(dǎo)航欄的配置頁面級別的配置跳轉(zhuǎn)的配置等,將配置工程化標準化。設(shè)置導(dǎo)航欄按鈕包含按鈕樣式的數(shù)組通過完成按鈕事件的回調(diào)。一、背景1.為什么是Weex在公司快速發(fā)展的大環(huán)境下,App的更新迭代高速、高頻,技術(shù)團隊平均兩周便可誕生一款中型App,但App團隊只有6個人(iOS 、Android各3...

    shuibo 評論0 收藏0
  • weex-iOS實戰(zhàn)

    摘要:前言學(xué)習也有一段時間了,關(guān)于在三端的使用,我們也做了實戰(zhàn)開發(fā),渲染時間在之間,各平臺體驗相比都有極大的提升,此文章在的角度記錄開發(fā)過程中遇到的一些問題,如果想要了解前端和安卓的開發(fā)可以參考我同事寫的一些內(nèi)容實踐前端視角實踐安卓視角準備工作 前言 weex學(xué)習也有一段時間了,關(guān)于weex在三端的使用,我們也做了實戰(zhàn)開發(fā),渲染時間在100-300ms之間,各平臺體驗相比H5都有極大的提升,...

    roundstones 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<