1. 程式人生 > >React Native iOS詳細打包步驟(2018.04更新)

React Native iOS詳細打包步驟(2018.04更新)

1.在自己專案的ios資料夾下新建一個資料夾取名bundle(ps:ios資料夾和node_modules資料夾在同一級目錄下,這個bundle資料夾名稱隨意取,後面要用到,但是記得在相應地方改一下就好了)

2.為了方便,將打包命令寫到專案package.json檔案裡,
然後執行命令:

npm run bundle-ios

EA9D8CCD-C12D-4DBA-A30C-65B2B99EAB2B.png.png


打包命令入下,命令的具體含義參考這篇文章

"bundle-ios":"node node_modules/react-native/local-cli/cli.js bundle --entry-file index.ios.js --platform ios --dev false --bundle-output ./ios/bundle/index.ios.jsbundle --assets-dest ./ios/bundle"

接下來就是等等~等,可能得等6、7分鐘了。打包命令完成後會在我們新建的資料夾bundle裡面生成相應的檔案。

注意:如果你載入了本地的html檔案,且放置該html檔案目錄下有你html裡引用的圖片和CSS檔案,記得手動新增到assets->js->html檔案下,因為

ios在打包時,react native會把所有非js的檔案當作資源來處理,並不會一起打包到index.bundle.js和index.bundle.meta檔案中,而你的html會被打包到assets目錄下的相對路徑中,通過解壓ipa檔案 這個時候你只會看到,解壓出來的目錄中,html檔案內載入的相對路徑下的資源並沒有被打包進來。這是因為react native認識的只有html這個資源,並不認識html內部引用的其他資源連結。

3.用Xcode開啟專案,選中跟專案同名的那個資料夾,右鍵,選中‘Add Files to ..’選項,然後選擇新建的那個bundle資料夾,在彈出的對話方塊中,點選options,一定要勾選Create folder references選項,將bundle資料夾新增到專案裡,Xcode下該資料夾一定要是藍色的。

4.修改AppDelegate.m中的載入包的方式(只需修改一次),之後專案會自動跟據debug還是release狀態載入不同的包,我們不用在管了

NSURL *jsCodeLocation;
#ifdef DEBUG
     //開發包
     jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
#else
     //離線包
    jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"bundle/index.ios" withExtension:@"jsbundle"];
#endif

5.將專案由debug狀態改成release狀態,Xcode-->Product-->Scheme-->Edit Scheme...

6 選擇 Generic iOS Device ,修改Version和Build號

7.clean一下專案,然後編譯。此處生成.ipa檔案的方式有多種,可以Archice,也可以先刪除.app檔案再在編譯,將成的.app檔案拖到iTunes裡面生成。有了.ipa檔案,接下來是上傳app store還是內測就看你了,哈哈哈
至此,react native ios打包完成



作者:慕詡
連結:https://www.jianshu.com/p/6d1ee919ded3
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。

相關推薦

React Native iOS詳細打包步驟2018.04更新

1.在自己專案的ios資料夾下新建一個資料夾取名bundle(ps:ios資料夾和node_modules資料夾在同一級目錄下,這個bundle資料夾名稱隨意取,後面要用到,但是記得在相應地方改一下就好了) 2.為了方便,將打包命令寫到專案package.json檔案裡,

Oracle多表查詢練習,詳細解題步驟含執行結果

CREATE TABLE STUDENT (SNO VARCHAR(3) NOT NULL, SNAME VARCHAR(4) NOT NULL, SSEX VARCHAR(2) NOT NULL, SBIRTHDAY DATE, CLASS NUMBER NO

react-native》從零開始啟始篇

本系列的從這裡開始~ 做了一段時間android,覺得自己還是入門階段,突然老大讓我弄這個rn,說實在的對自己特別沒有自信,不過對於自己也是一種挑戰。我也利用這次機會好好的梳理了自己學習新的知識的方法。希望大家在學習新的知識的時候都可以有所收穫。開篇內容不會說

React-Native解決鍵盤遮擋問題Keyboard遮擋問題

在開發中經常遇到需要輸入的地方,RN給我們提過的TextInput雖然好用,可惜並沒有處理遮擋問題。 很多時候鍵盤彈出來都會遮擋住編輯框,讓人很頭疼。 本來想在庫裡面找一找第三方的外掛,看到最好的一個就是react-native-keyboard-spacer了,然而我

【Python】使用python實現漢字轉拼音2018.12更新

在瀏覽部落格時,偶然看到了用python將漢字轉為拼音的第三方包,但是在實現的過程中發現一些引數已經更新,現在將兩種方法記錄一下。 xpinyin 在一些部落格中看到,如果要轉化成帶音節的拼音,需要傳遞引數,‘show_tone_marks=True’,但我在實際使用時發現,已經

Homestead 2.0.0 安裝指南2017-04更新

寫在前面的話 homestead其實是很不錯的開發策略,省去了web開發中複雜的配置過程,用作本地開發還是很讚的。無奈網上眾多教程都不能很好的指導安裝,所以只好自己總結了,跟著文章的指引,相信你也能很快享受到其中的便利。 一、準備工作,下載必要的軟體

React Native (IOS和Android) 支付寶和微信支付整合實戰支付寶Android篇

序言:React Native無論是在社群和應用程度上,在國內外是十分廣泛和普及的。而支付寶和微信在支付模組上都有或多或少的支援,雖然沒有完整的Demo,不過在我做過一個相關整合的專案後,在此我把相關的步驟和方法總結出來和大家分享,希望能夠幫助大家少走彎路,快速整合。 支付

使用真機除錯react-native步驟安卓機

1、開啟 USB 除錯 2、檢查你的裝置是否能正確連線到 ADB(Android Debug Bridge),使用adb devices命令 $ adb devices List of devices attached emulator-5554 offline

記一次iOS自動化打包走過的坑-關於React Native-iOS專案

點選上方“iOS開發”,選擇“置頂公眾號” 關鍵時刻,第一時間送達! 引言 最近為公司前期做的一個專案做持續構建平臺打包遷移支援,由於之前未參與類似工作,且我也基本未參與這個專案開發工作,所以途中磕磕碰碰遇到了很多很多的問題,而且由於專案屬於React Native專案,而且程式碼版本較

React Native (IOS和Android) 支付寶和微信支付整合實戰微信IOS

序言:React Native無論是在社群和應用程度上,在國內外是十分廣泛和普及的。而支付寶和微信在支付模組上都有或多或少的支援,雖然沒有完整的Demo,不過在我做過一個相關整合的專案後,在此我把相關的步驟和方法總結出來和大家分享,希望能夠幫助大家少走彎路,快速整合。 微信

react-native ios打包教程

1.找到專案裡的ios資料夾,在此資料夾下新建一個資料夾取名bundle 2.開啟終端,cd到專案的根目錄 3.執行命令,react-native bundle --entry-file ./index.ios.js --bundle-output ./ios/bundl

react-native IOS端原生元件封裝步驟

最近使用react-native來做專案,感覺挺不錯,官網已經封裝了大部分元件,github上又有很多開源者貢獻了自己的開源元件,感覺挺方便,但是每個專案中又會有不同風格的元件出現, 有可能是新功能,也許是改造別人的功能變成自己專案的風格,因此學習了下本地模組的

React Native (IOS和Android) 支付寶和微信支付整合實戰微信支付服務端篇

序言:React Native無論是在社群和應用程度上,在國內外是十分廣泛和普及的。而支付寶和微信在支付模組上都有或多或少的支援,雖然沒有完整的Demo,不過在我做過一個相關整合的專案後,在此我把相關的步驟和方法總結出來和大家分享,希望能夠幫助大家少走彎路,快速整合。 微信

XCode 10打包上傳後在iOS 9上Crash2018

問題描述: XCode 10打包的App在iOS 9上Crash(EXC_BAD_ACCESS)。 原因: App Store的Bug,上傳後的IPA經過App Store處理後,載入assets中的圖在iOS 9上會Crash。 解決方案三選一: 切回到XC

react-native ios打包上線 for mac

開發React Native的過程成,js程式碼和圖片資源執行在一個Debug Server上,每次更新程式碼之後只需要使用command+R鍵重新整理就可以看到程式碼的更改,這種方式對於除錯來說是非常方便的。 但當我們需要釋出App到App Store的時候就需要打包

React Native (IOS和Android) 支付寶和微信支付整合實戰支付寶服務端篇

序言:React Native無論是在社群和應用程度上,在國內外是十分廣泛和普及的。而支付寶和微信在支付模組上都有或多或少的支援,雖然沒有完整的Demo,不過在我做過一個相關整合的專案後,在此我把相關的步驟和方法總結出來和大家分享,希望能夠幫助大家少走彎路,快速整合。 支

react native ios打包到真機

每當在模擬器上完成了開發,都想到真機上秀秀,正好前段時候買了一個mac,哈哈有機會了。 前篇文章以android為例,這裡就以ios為例,講一下打包到iphone真機的流程。 一、前置 1.首先你得有一部iphone 2.首先react native的環境

react native 安卓打包--mac環境,如果打包不成功可註意下my-release-key.keystore的位置關系絕對路徑

項目 雙引號 添加 star ica local strong pre mos // my-release-key.keystore和my-key-alias都是可修改的名稱 1.生成簽名密鑰(keytool -genkey -v -keystore my-release

編譯依賴於React Native0.46.4的React Native IOS工程時,出現錯誤“fatal error: 'React/RCTEventEmitter.h' file not found”

問題 clear solution str ack fat navi parallel avi 我的環境: WebStorm 2017.2Build #WS-172.3317.70, built on July 14, 2017 JRE: 1.8.0_152-release

win7下react-native安卓打包踩坑

util 根目錄 2.x exce com tco 解決 研究 sig 都說工具使我們使用更加方便,然而最近研究React-native打包還有webpack這些工具,真是一把心酸一把淚。感覺這些開發工具對window系統十分不友好,外國佬都是都在用mac系統的土豪。 言歸