RN項目的離線打包(ios)

RN項目的IOS打包脾猛,共分為三個步驟:
1、RN項目關(guān)聯(lián)的文件贤姆、圖片資源整合
2榆苞、xcode工程導(dǎo)入資源、配置文件
3霞捡、IOS打包
本文僅針對前兩個步驟做出相應(yīng)解釋语稠,第三步給出其他大神的詳細(xì)步驟鏈接

目錄

一、參數(shù)講解

通過react-native bundle --help 命令可查看相關(guān)命令弄砍,命令翻譯如下:


<pre class="hljs cpp" style="margin: 8px 0px;">react-native bundle [參數(shù)]
  構(gòu)建 js 離線包 

  Options:

    -h, --help                   輸出如何使用的信息
    --entry-file <path>          RN入口文件的路徑, 絕對路徑或相對路徑
    --platform [string]          ios 或 andorid
    --transformer [string]       Specify a custom transformer to be used
    --dev [boolean]              如果為false, 警告會不顯示并且打出的包的大小會變小
    --prepack                    當(dāng)通過時, 打包輸出將使用Prepack格式化
    --bridge-config [string]     使用Prepack的一個json格式的文件__fbBatchedBridgeConfig 例如: ./bridgeconfig.json
    --bundle-output <string>     打包后的文件輸出目錄, 例: /tmp/groups.bundle
    --bundle-encoding [string]   打離線包的格式 可參考鏈接https://nodejs.org/api/buffer.html#buffer_buffer.
    --sourcemap-output [string]  生成Source Map仙畦,但0.14之后不再自動生成source map,需要手動指定這個參數(shù)音婶。例: /tmp/groups.map
    --assets-dest [string]       打包時圖片資源的存儲路徑
    --verbose                    顯示打包過程
    --reset-cache                移除緩存文件
    --config [string]            命令行的配置文件路徑</pre>

二慨畸、創(chuàng)建工程以及生成工程文件

  • 1)創(chuàng)建工程(已有工程的跳過這步)

打開終端,cd到你希望創(chuàng)建項目的目錄下衣式,輸入下面命令(RNDemo就是你的工程名)


react-native init RNDemo
  • 2)執(zhí)行打包命令

注意寸士,輸出的目錄bundle需要我們自己來創(chuàng)建

react-native bundle --entry-file index.js --bundle-output ./ios/bundle/index.ios.jsbundle --platform ios --assets-dest ./ios/bundle --dev false

實戰(zhàn)講解

  • 如果你已經(jīng)有項目檐什,可以cd到相應(yīng)目錄下執(zhí)行上面的命令:


    image.png
  • 自己在目錄下建立文件夾
image.png
  • 執(zhí)行完成
image.png
  • 生成文件
image.png

三、Xcode引入文件并配置

  • 1弱卡、將assets 和 index.ios.jsbundle 文件引入到xcode工程

注意: assets 目錄導(dǎo)入工程中時乃正,要選擇 Create folder references,因為這是圖片素材婶博。

image.png
  • 2瓮具、修改Appdelegate中的配置代碼
image.png

jsCodeLocation = [NSURL URLWithString:[[NSBundle mainBundle] pathForResource:@"index.ios.jsbundle" ofType:nil]];

或者直接更改為

#if DEBUG
  jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
  jsCodeLocation = [NSURL URLWithString:[[NSBundle mainBundle] pathForResource:@"index.ios.jsbundle" ofType:nil]];
#endif

  • 3、需改debug模式

RN項目自帶的是debug模式凡人,真機打包需要修改為release模式名党。下圖打開快捷鍵為command+shit+,

image.png
  • 4挠轴、后面ios打包過程與正常ios打包無差別传睹,請點下面,或者自行搜素

我參考的ios打包過程鏈接

四岸晦、我遇到的小問題

  • 我配置完上面的過程后欧啤,想自己在模擬器上運行一遍,結(jié)果等了十多分鐘模擬器一直白屏启上,后來才想起來模擬器中開的debug模式堂油,關(guān)掉debug調(diào)試,看到正常界面了
image.png
  • 配置http的時候碧绞,allow Arbitrary loads 是在app Transport下面的,需要把左側(cè)小尖頭點開才可以
image.png
  • 打包后上傳蒲公英測試吱窝,iphone自帶的瀏覽器不帶二維碼掃描讥邻,直接在瀏覽器中輸入蒲公英提供的網(wǎng)址也可以進行下載。(可以使用照相機掃描二維碼院峡,然后就可以點擊彈窗進入到下載界面)

  • 編譯的時候遇到如下報錯兴使,請將reless模式改為debug模式試試


    image.png
  • 打包編譯時候會提示React頭文件找不到,這是編譯器問題照激,這個報錯后面自己就消失了发魄。


    image.png
  • ios輸入框輸入中文時,有時會輸入不進去俩垃。這時可以考慮更換下react 和 react-native版本励幼。

注意!?诹苹粟! 注意!T灸帧嵌削! 注意C谩!苛秕! 更改版本可能帶來一些庫的沖突肌访,請謹(jǐn)慎使用。我這邊更換版本只針對了ios艇劫,而有沖突的安卓延用了之前的高版本吼驶。

更改后的版本如下:
react-native : 0.53.0
react : 16.2.0


image.png

在新項目中,我使用了0.57版本港准,沒發(fā)現(xiàn)這個問題了旨剥。大家可以使用新版本了~


image.png
  • ios數(shù)字鍵盤和安卓不一樣,沒有完成按鈕浅缸」熘模可以考慮在原生中使用第三方庫,比如IQKeyboard來收縮鍵盤衩椒。

?
?

結(jié)束語:好啦蚌父,預(yù)祝各位大神打包成功~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市毛萌,隨后出現(xiàn)的幾起案子苟弛,更是在濱河造成了極大的恐慌,老刑警劉巖阁将,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件膏秫,死亡現(xiàn)場離奇詭異,居然都是意外死亡做盅,警方通過查閱死者的電腦和手機缤削,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吹榴,“玉大人亭敢,你說我怎么就攤上這事⊥汲铮” “怎么了帅刀?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長远剩。 經(jīng)常有香客問我扣溺,道長,這世上最難降的妖魔是什么瓜晤? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任娇妓,我火速辦了婚禮,結(jié)果婚禮上活鹰,老公的妹妹穿的比我還像新娘哈恰。我一直安慰自己只估,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布着绷。 她就那樣靜靜地躺著蛔钙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荠医。 梳的紋絲不亂的頭發(fā)上吁脱,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音彬向,去河邊找鬼兼贡。 笑死,一個胖子當(dāng)著我的面吹牛娃胆,可吹牛的內(nèi)容都是我干的遍希。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼里烦,長吁一口氣:“原來是場噩夢啊……” “哼凿蒜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起胁黑,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤废封,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后丧蘸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漂洋,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年力喷,在試婚紗的時候發(fā)現(xiàn)自己被綠了刽漂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡冗懦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出仇祭,到底是詐尸還是另有隱情披蕉,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布乌奇,位于F島的核電站没讲,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏礁苗。R本人自食惡果不足惜爬凑,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望试伙。 院中可真熱鬧嘁信,春花似錦于样、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至卦溢,卻和暖如春糊余,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背单寂。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工贬芥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宣决。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓蘸劈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親疲扎。 傳聞我的和親對象是個殘疾皇子昵时,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 用到的組件 1、通過CocoaPods安裝 2椒丧、第三方類庫安裝 3壹甥、第三方服務(wù) 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 14,602評論 1 180
  • 我們的頭腦真的很會欺騙我們,它會看到它想要看到的東西壶熏,收到它想要收到的信息句柠,無關(guān)乎外在的條件、事實是什么棒假。 有一句...
    孤獨魚大腦閱讀 187評論 0 0
  • 看山是山 看山不是山 看山還是山
    摯簡閱讀 127評論 0 0
  • 我今天跟二位姐姐去南通玩溯职。玩完一起吃飯。說到另一位妹妹W帽哑,我說我蠻佩服她的谜酒。W的先生前幾年去世。很突然的重感冒妻枕,一...
    當(dāng)媽姐閱讀 654評論 0 6